Add the Spock-backed Instagram demo and editor/play workflow#1
Merged
Conversation
Add semantic native video rendering, replace navigation, and an opt-out for incomplete fixture providers while keeping Canvas and trace deterministic.
Make every displayed count and relationship authority-derived; add private saves, multi-frame Stories, playable Reels, Search and Explore, full profile grids and lists, robust comments, upload publishing, responsive navigation, deterministic Canvas coverage, and dogfood rationale.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Why
This makes the Instagram slice an end-to-end dogfood path: examples remain deterministic for checking and Canvas, while Play uses Spock GraphQL, RPC, identity, and storage as its remote authority. The TypeScript package lets the editor/play tooling grow without introducing a frontend framework or a Node runtime dependency for normal Uhura use.
Review notes
Value::Mappreserves provider UUID keys across decode, evaluation, state, iteration, and serialization while retaining the existing JSON object wire shape.navigate replaceis carried through syntax, checking, IR, Core intents, traces, and host application. It preserves stack depth, mints a fresh page instance, resets state, and sweeps orphan surfaces.web/dist/**andexamples/instagram-uhura/providers/dist/**are intentionally checked in; CI verifies they match TypeScript source127.0.0.1:4000; dynamic umbrella-runner port injection/readiness belongs to the companion Spock changeValidation
cargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspacepnpm -C web check(typecheck, lint, builds, 27 tests)fmt --check,check --deny-warnings,trace, andprojectsmoke testscargo build --locked -p uhura-wasm --target wasm32-unknown-unknown