docs: bring COMPOSER.md and renderer-abstraction.md up to the shipped product - #73
Merged
Conversation
… product The README was updated last milestone; the documents it links as canonical were not, so the README was more current than its own deeper docs. - docs/COMPOSER.md was the Phase-1 vertical-slice diary (Acme UI, "no hosted AI", agent-required Build) — every one of those claims is now false, and the phase-by-phase narrative it carried already lives in IMPLEMENTATION_LOG.md. Rewritten as the architecture companion to the README: the one pipeline with three proposal seams; where a project's vocabulary comes from (base + authored delta, canonical references never mutated); accept in browser vs repository; the agent's real HTTP surface; the Worker's two API routes; rendering policy; a guarantee→enforcement table; and what test proves each claim. Every route, storage key, and number verified against main. - docs/renderer-abstraction.md claimed shadcn "covers all 12 catalog names" and that the unimplemented fallback is "exercised by the parity suite rather than by a shipped gap". Both are false against the production v3 catalog: shadcn covers 11 of 27 (verified by planRegistry), Astryx 12 of 12, and partial adoption is a shipped state. Corrected, added wireframe-renderers to the layer map, and documented the two-layer unsupported-component behavior: the package keeps its honest placeholder; the app composes wireframe under native so users never see it, with coverage reported from the PRE-merge registry. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Deploying with
|
| Status | Name | Latest Commit | Updated (UTC) |
|---|---|---|---|
| ✅ Deployment successful! View logs |
dspack-studio-composer | aecaf61 | Aug 10 2026, 07:18 PM |
There was a problem hiding this comment.
Pull request overview
Updates the Composer and renderer abstraction documentation to align with the current shipped architecture and rendering policy, replacing older phase-diary content with implementation-verified descriptions of pipeline seams, storage, agent/worker surfaces, and partial renderer coverage.
Changes:
- Rewrite
docs/COMPOSER.mdas an architecture companion to the README, documenting pipeline flow, vocabulary provenance (base+delta), accept/export behavior, and the agent/worker HTTP surfaces. - Update
docs/renderer-abstraction.mdto reflect the current multi-registry reality (Astryx/shadcn/wireframe), including the two-layer unsupported-component policy and how Composer composes wireframe fallbacks under native registries.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/COMPOSER.md | Rewritten from vertical-slice narrative to a current architecture/internal-surfaces reference (pipeline seams, storage keys, accept/export rules, agent/worker routes, guarantees/tests). |
| docs/renderer-abstraction.md | Updated layer boundaries and unsupported-component behavior to match current shipped renderer composition and measured partial shadcn coverage. |
Suppressed comments (3)
docs/COMPOSER.md:60
app/project-portability.tsis not a valid repo path; the portability helper lives atapps/composer/app/project-portability.ts. Updating the reference keeps the doc actionable.
(`app/project-portability.ts`). Import validates fail-closed (version gate,
docs/COMPOSER.md:124
- The referenced files
app/projects.tsandapp/providers.tsdon’t exist at that path in this repo; they’re underapps/composer/app/…. Updating these references keeps the guarantee table accurate.
| The reference is never mutated | base+delta merge (`app/projects.ts`) |
| No credential in the browser | `app/providers.ts` writes endpoints and model only |
docs/COMPOSER.md:108
- In this repo there’s no
app/registries.tsat the root; the implementation referenced here isapps/composer/app/registries.ts. Using the full path matches earlier references in the doc and prevents confusion with otherapp/directories.
does** — composed per component in `app/registries.ts`, which merges the
wireframe registry under the native one (native wins name-by-name) behind a
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
||
| | Source | Base vocabulary | Persistence | | ||
| |---|---|---| | ||
| | `reference` | a packaged design system (`app/demo-data.ts`: shadcn/ui v3, Astryx) | delta in `localStorage` | |
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.
From an ecosystem-wide documentation audit. The README was rewritten last milestone; the documents it links as canonical were not — so the README was more current than its own deeper docs.
docs/COMPOSER.mdwas the Phase-1 vertical-slice diary: Acme UI, "no hosted AI", agent-required Build. Every one of those is false now, and the phase-by-phase narrative it carried already lives inIMPLEMENTATION_LOG.md. Rewritten as the architecture companion to the README — one pipeline with three proposal seams; where a project's vocabulary comes from (base + authored delta, canonical references never mutated); accept in browser vs repository; the agent's real HTTP surface; the Worker's two API routes; rendering policy; a guarantee→enforcement table; and which test proves each claim. Every route, storage key, and number verified againstmain.docs/renderer-abstraction.mdclaimed shadcn "covers all 12 catalog names" and that the unimplemented fallback is "exercised by the parity suite rather than by a shipped gap". Measured: shadcn covers 11 of 27, Astryx 12 of 12 — partial adoption is a shipped state. Addedwireframe-renderersto the layer map and documented the two-layer behavior introduced last milestone: the package keeps its honest placeholder; the app composes wireframe under native so users never see it, with coverage reported from the pre-merge registry.docs/deployment.mdwas audited and found accurate (repo-rootwrangler.jsonc→dspack-studio-composer, worker atapps/composer/worker/index.mjs, health-check claims) and is untouched. The dated historical records (AUDIT, IMPLEMENTATION_LOG, PHASE-NEXT, NAV-REFACTOR) are left as records rather than rewritten for age.🤖 Generated with Claude Code