feat(ms-ai-architect): re-sync vendored design-system, source_commit now true [skip-docs]

DS-repo restored scripts/sync-design-system.mjs with an explicit source
allowlist and verified the command; ran their exact command (never one
reconstructed locally). MANIFEST.json was rewritten by the script itself,
never edited by hand.

source_commit now reads efaa3d0 (playground-design-system's main on the
public mirror), verified reachable via git ls-remote against the public
remote and git cat-file -t locally — in contrast to the previous c1b7bad,
which does not exist as a git object in that repo at all. 26/27 files
byte-identical to the source; only their README.md content differs.

Replaced the three stale prose points in README.md and docs/playground.md
that described the missing command and the untrustworthy source_commit.

Suite: 1070/1070 (tracked kb-update + kb-eval test files).

[skip-docs]: README.md and docs/playground.md are the doc update this task
required (vendoring section accuracy). CLAUDE.md's command/agent/skill
surface is unaffected — no new commands, agents, or skills.
This commit is contained in:
Kjell Tore Guttormsen 2026-08-27 10:40:57 +02:00
commit f1f27a4343
4 changed files with 181 additions and 50 deletions

View file

@ -472,8 +472,8 @@ The playground loads CSS from `playground/vendor/playground-design-system/` —
- **Drift detection:** `MANIFEST.json` records SHA-256 per file, so local modification of a vendored file is detectable.
- **Generated header:** Each vendored CSS file is prefixed with `/* Code generated by sync-design-system.mjs; DO NOT EDIT. */`. Never edit the vendored files directly.
- **⚠️ No re-sync command yet — restoration pending upstream.** Vendoring **stands** as the recommended consumer model (design-system repository's decision, 2026-08-27; there is no replacement — a submodule or npm package would break its no-build / no-bundler / `file://` constraints). The sync script is **not lost**: it survives complete in the catalog repository's pre-migration history — `git -C <marketplace>/catalog show e84dffd^:scripts/sync-design-system.mjs` (225 lines, no npm dependencies, and it already accepts `--source`, `--target` and `--check`). Restoring it is the design-system repository's call, and they are deliberately holding it back until the source-scoping question is settled: their repo root holds the design-system **plus** repo apparatus, so a naive `--source .` would vendor `STATE.md`, `LICENSE` and `docs/` into consumers. They will publish a command once it is verified. Do not reconstruct one locally.
- **🔴 Do not trust `source_commit` in `MANIFEST.json`.** It reads `c1b7bad`, which is not merely unreachable from this repo — it is **wrong**. The vendored tree contains `components-tier4-project-view.css`, and that file did not exist in `c1b7bad` (known-positive control: `components-tier3.css` in the same commit resolves fine). The sync labelled the copy with the marketplace HEAD while copying an uncommitted working tree. Leave the field alone: rewriting the path while keeping the commit would turn an obviously stale pointer into a credible false one. A future re-sync writes a true manifest.
- **Re-sync command exists and is verified (2026-08-27).** The design-system repository restored `scripts/sync-design-system.mjs` with an explicit source allowlist (`DELIVERED_FILES`), since its repo root holds the design system *plus* repo apparatus (`STATE.md`, `.git/`, `docs/`, etc.) that a naive walk would vendor too — pinned by `tests/sync-source-boundary.test.mjs` in that repo. Command, run from a checkout of `playground-design-system` alongside this repo: `node scripts/sync-design-system.mjs ms-ai-architect --target ../ms-ai-architect` (add `--check` for a read-only integrity check). This session ran it; `MANIFEST.json` was rewritten by the script itself, never edited by hand. Full record: `playground-design-system`'s `docs/vendoring-and-re-sync.md`.
- **`source_commit` in `MANIFEST.json` is now true and reachable.** It reads `efaa3d0e79f1b06976735831e5bf8cab42f7e6a9``playground-design-system`'s `main` on its public mirror, confirmed with `git ls-remote` against `git.fromaitochitta.com/open/playground-design-system.git` (not just a local ref). Unlike the previous `c1b7bad`, which does not exist as a git object in that repo at all (`git cat-file -t c1b7bad…``fatal: could not get object info`, confirmed here with a known-positive control on `efaa3d0` resolving to `commit`). The field comes from `git rev-parse HEAD` in the source checkout at sync time — the design-system repository documented that running a re-sync *before* its own commit reaches the public mirror reproduces the same false-pointer defect, so a future re-sync should confirm `git -C playground-design-system rev-parse HEAD` matches `origin/main` first.
- **What you can check today, without the script:** re-hash the vendored tree against `MANIFEST.json`. Measured 2026-08-27 — **27/27 match**, so nothing here has been edited locally, and **26 of 27 files are byte-identical** with the design-system repository's current content, 3.5 months after the last sync. The sole difference is that repository's own `README.md`, which documents the system rather than being part of it. When comparing by hand, discount the first line of each vendored CSS file: the generated header is added by the sync, so a raw `diff` reports all nine CSS files as differing when none of them do.
---