feat(consumer): versioned IR manifest + drift-check (WHYNOT-WP-0003 T03-T07,T09)
Some checks failed
ci / check (push) Has been cancelled
ci / release (push) Has been cancelled

Make ir/ the unit of versioned downstream consumption so consuming repos can
pin a version, inspect it, and follow changes at their own pace.

- T03 ir/manifest.json: per-version inventory + diff anchor with deterministic
  sha256-over-canonicalised-JSON hashes; no-churn generatedAt; manifest schema.
- T07 ir/INDEX.md: human-readable catalog generated by make ir.
- T04 .whynot-design.lock sync-point format + lock schema.
- T05 npx @whynot/design drift: consumer drift-check (bin entry), exit 0/2/3,
  --json/--update/--manifest/--version/--lock.
- T06 CONSUMING.md guide + examples/consumer-fixture/ runnable demo; README +
  MultiFrameworkSupport cross-links; fix README version pin (@0.3.0 not @v0.3.0).
- T09 CONSUMER_CONTRACT_PARITY.md design-only note (live-UI parity deferred).

T02 (publish) and T08 (showcase, blocked on WP-0002 T11) remain wait. Repo stays
in dev mode; no outward publish performed.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-27 19:35:45 +02:00
parent 11684f40f3
commit 2de30beb7b
18 changed files with 1042 additions and 7 deletions

View File

@@ -126,7 +126,7 @@ Make the package installable with a version pin:
```task
id: WHYNOT-WP-0003-T03
status: todo
status: done
priority: high
state_hub_task_id: "aaa6d20f-23d3-4467-ac6e-2c24067f1723"
```
@@ -148,7 +148,7 @@ changes is governed by `schemaVersion` (bump on shape changes).
```task
id: WHYNOT-WP-0003-T04
status: todo
status: done
priority: medium
state_hub_task_id: "fe077343-8b6e-48e7-8eb7-a36cc96366c5"
```
@@ -163,7 +163,7 @@ consumer-side equivalent of `designbook/.design-sync.json`.
```task
id: WHYNOT-WP-0003-T05
status: todo
status: done
priority: high
state_hub_task_id: "db7fcac0-f3fa-4df3-8f54-e0be731381aa"
```
@@ -184,7 +184,7 @@ downstream drift read the same.
```task
id: WHYNOT-WP-0003-T06
status: todo
status: done
priority: medium
state_hub_task_id: "5a3c67d8-fd40-4847-a79f-e6fc6a608a1f"
```
@@ -211,7 +211,7 @@ registry coordinates as those land.
```task
id: WHYNOT-WP-0003-T07
status: todo
status: done
priority: medium
state_hub_task_id: "7159dcdc-55cf-4815-9ba2-0361266a7b8f"
```
@@ -244,7 +244,7 @@ WP-0002-T11.
```task
id: WHYNOT-WP-0003-T09
status: todo
status: done
priority: low
state_hub_task_id: "e7704a1f-2011-41cb-9e77-c7a6bb2a05ac"
```