Skip to content

fix(blueprints,#236): read soundKit/h/origin/updatedAt; sync stale category drift - #267

Open
kevinthelago wants to merge 1 commit into
mainfrom
mobile-blueprints-domain
Open

fix(blueprints,#236): read soundKit/h/origin/updatedAt; sync stale category drift#267
kevinthelago wants to merge 1 commit into
mainfrom
mobile-blueprints-domain

Conversation

@kevinthelago

Copy link
Copy Markdown
Owner

Summary

Closes the blueprints child of #234 (payload-parity resync umbrella).

  • blueprintsPage.ts (the previously-live consumer of this domain) is orphaned
    unreachable from any app/ route per CLAUDE.md's Known Issues & Tech Debt table — and
    is outside this session's write scope (bsc-scope #1297 grants only
    src/lib/mirror/**, src/lib/types.ts, src/lib/tunnel/*). So the contract fix lands
    as a new src/lib/mirror/blueprintsView.ts selector instead, verified live against
    base-studio-code develop's storeProjections.ts (BlueprintCard /
    buildBlueprintsPayload). It reads soundKit/h/origin/updatedAt — the blueprints domain: soundKit/h/origin/updatedAt unread; only the ACTIVE team crosses the wire #236 gap —
    and deliberately does not read category, which no longer exists on the real wire.
  • storePayloads.fixtures.json's blueprints entries (both domains.blueprints and the
    blueprints_no_team variant) carried a stale category field the desktop stopped
    emitting. Removed to match the verified real fixture (fetched live from
    base-studio-code@develop, byte-compared).
  • h/origin/updatedAt are read by the new selector but not yet exercised by the
    canonical fixture — an upstream fixture-input gap, the same class of debt already
    documented for components (C1) in this harness. blueprintsView.test.ts closes the
    coverage gap with hand-written payloads, the same pattern designPage.test.ts uses for
    themes.base.
  • blueprints moves from PENDING_DOMAINS to DECODERS in the payload-parity harness.

Whichever surface reconnects the blueprints domain next (#233's Studio/Teams segment)
should import from mirror/blueprintsView.ts, not the orphaned pages/blueprintsPage.ts.

Test plan

  • npx tsc --noEmit — clean
  • npm test — 542/542 passing (63 suites), including the new blueprintsView.test.ts
    and the blueprints Layer A/B harness entries
  • Verified the real desktop shape live against base-studio-code@develop (not guessed)

Co-Authored-By: Claude Sonnet 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01RTa8jiVAwxGBwoYtBQyanB

…tegory drift

blueprintsPage.ts (the previously-live consumer) is orphaned (unreachable from any app/
route per CLAUDE.md's tech-debt table) and out of this session's write scope, so the
contract fix lands as a new mirror/blueprintsView.ts selector instead: verified live
against base-studio-code develop's storeProjections.ts, it reads soundKit/h/origin/
updatedAt (the #236 gap) and drops `category`, which no longer exists on the real wire.

storePayloads.fixtures.json's blueprints entries carried a stale `category` field the
desktop stopped emitting — removed to match the verified real fixture. h/origin/updatedAt
are read but not yet exercised by the canonical fixture (an upstream fixture-input gap,
the same class as the documented `components` C1 debt); blueprintsView.test.ts closes
that coverage gap with hand-written payloads, the same pattern designPage.test.ts uses
for themes.base.

blueprints moves from PENDING_DOMAINS to DECODERS in the payload-parity harness (#234).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RTa8jiVAwxGBwoYtBQyanB
@github-actions

Copy link
Copy Markdown

📦 Preview build ready

Artifact: preview-pr-267-95cac1018cda82d340fab9b20062dc3bafdf4126

⬇️ Download from Actions run

Built from commit 95cac10

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant