Released
Released 2026-09-08. This release polishes seven items, brings prompt-input to web parity, and makes every dependency declaration and engine tree provable in CI.
Added
meta.permissionson registry items, mined from each item’s real imports and verified in both directions. prompt-input declares the iOS photo-library and camera permission keys its expo-image-picker import implies; every other item correctly declares none.- An engine parity proof in CI: for every emitted item, both engine trees carry the same file set and byte-identical content after normalizing the engine token.
- A declared-dependencies gate: a per-item test parses every shipped source’s package imports and requires them to equal the item’s declared dependencies in both directions.
- Web-only-construct checks wired into CI through
check:contract, so web-only constructs cannot ship in registry sources.
Changed
- Seven items polished: audio-player, environment-variables, model-selector, package-info, prompt-input, web-preview, input-group. prompt-input reaches web parity: provider and controller context, attachment chips over the native pickers, the + tools menu, the model chip in-row, and the voice-sends-stops morph in the primary slot.
- Dependency declarations now match imports on every item: speech-input and voice-selector declare react-native-reanimated, item and sheet declare class-variance-authority, terminal drops its unused react-native-reanimated declaration, and prompt-input declares its install-time expo-document-picker and expo-image-picker.
- Every self-referencing URL in the emitted engine trees pins to the v0.2.0 tag; the manifest keeps the {version} token.
Fixed
check:tokenswas declared in package.json with no script behind it, andcheck:contractexisted but nothing invoked it. Both gates now run real scanners in the CI lint job, and every existing raw-color exception is documented with its reason.