feat(architecture): interactive views for the map-* records - #6062
Conversation
Each map-* skill offers an interactive view of its JSON record, built only with lib/view-builder.mjs and lib/view-runtime.js: one checked-in template plus the record as escaped JSON data, never model-written markup or script. The markdown and the record stay the record. The publish destination comes from the medium cascade key. Closes #5863 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tive-views # Conflicts: # plugins/architecture/.claude-plugin/plugin.json # plugins/architecture/CHANGELOG.md
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
…tive-views # Conflicts: # plugins/architecture/CHANGELOG.md
|
Claude finished @kyle-sexton's task in 4m 47s —— View job Claude code review complete
SummaryThis lane owns correctness, design, conventions, error handling, and tests — I traced the new code paths closely:
Everything checked out consistent — each skill's eval references the right record/kind pair, the No inline comments filed; I found no correctness or maintainability issue meeting this lane's |
|
Claude finished @kyle-sexton's task in 3m 7s —— View job Security review —
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3d3552c723
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
claude-security-review has reviewed this pull request through 798c3eb; a later push is reviewed from there. |
|
claude-review has reviewed this pull request through 798c3eb; a later push is reviewed from there. |
|
Claude finished @kyle-sexton's task in 54s —— View job Security review —
|
|
Claude finished @kyle-sexton's task in 39s —— View job Claude incremental code review complete
SummaryThis lane's incremental scope is the diff since this lane's last review at
This matches the commit in that window, The prior pass on this PR already reviewed |
|
Claude finished @kyle-sexton's task in 43s —— View job Security review —
|
|
Claude finished @kyle-sexton's task in 2m 32s —— View job Claude incremental code review complete
SummaryThis lane's incremental scope is the diff since this lane's last review at
I checked this against the sibling implementation it says it mirrors, One nuance worth naming but not blocking: the final edge filter admits any edge (regardless of No inline comments: nothing in this incremental window meets this lane's high-signal bar. The new |
…tive-views # Conflicts: # docs/conventions/rendered-views/CHANGELOG.md # docs/conventions/rendered-views/README.md # plugins/architecture/.claude-plugin/plugin.json # plugins/architecture/CHANGELOG.md # scripts/cross-plugin-source-registry.txt # scripts/shared-copies.txt
|
Claude finished @kyle-sexton's task in 1m 9s —— View job Claude code review complete
SummaryThis lane last fully reviewed this PR through I diffed
So the merge brought in unrelated upstream work and bookkeeping for other PRs, but introduced no |
|
Claude finished @kyle-sexton's task in 1m 32s —— View job Security review —
|
Closes #5863
Summary
Each
architecture:map-*skill can now offer an interactive view of its JSON record, built only withlib/view-builder.mjsandlib/view-runtime.js(#5937). The markdown and the record stay the record. Part of #5835 (comprehension family); relates to #3606.Fix
plugins/architecture/scripts/build-view.mjs <kind> --record <file>fills one checked-in template,templates/map-view.html, through the builder's interactive profile. Scalars in the record become header facts, each array is counted and its items become rows (an edge row is namedfrom -> to), and the page is written under the OS temp directory. No page holds model-written markup or script, so repository text stays data.--from <node-id>keeps the closure reachable from a deployable, which is howmap-componentscharts one deployable fromdependency-graph.json.reference/rendered-view.mdholds the lane procedure: offer after the record, resolvemediumfrom therendered-viewscascade (filewhen unset;artifactpublishes through the Artifact tool and degrades to the path with a reason;terminalbuilds nothing), and the kind-to-record table. All nine map skills (landscape,containers,components,dependencies,data,events,flow,context,deployment) carry a short## Interactive viewsection and one eval.view-builder.mjs,view-runtime.jsandhtml-escape.mjs, registered inscripts/shared-copies.txt.architecturebumped 0.19.0 to 0.20.0 with a CHANGELOG entry; the rendered-views README and CHANGELOG list the new emitters.Verification
bash plugins/architecture/scripts/build-view.test.sh: 42 checks pass. All nine kinds build and pass the interactive profile (view-builder.mjs --check), hostile text stays inside the JSON block and as text in headless Chromium opened fromfile://,--fromkeeps the right closure, and bad input exits 1 or 2. The private output directory and the symlinked-output case are covered.dependency-graph.jsonthatdependency-graph.shwrote for a three-project fixture; it passes the profile.bash scripts/affected-tests.sh --run --jobs 4: 64 shell suites pass;node scripts/check-declared-prerequisites.test.mjspasses.sync-shared-copies.sh --checkand--check-bump origin/main,check-changelog-parity.sh(--check,--check-bump,--check-order,--check-preserved),check-html-assets.sh,check-changed-skills.sh origin/main(all nine map skills pass), markdownlint-cli2 and htmlhint on changed files: clean.Related
🤖 Generated with Claude Code