feat(architecture): open ARCHITECTURE.md with a 3-second Overview - #82
Merged
Conversation
A reader landing on ARCHITECTURE.md met the diagram set with no way to answer "what is this thing?" first. The doc now opens with an Overview section built to a falsifiable bar: one domain sentence plus one linear 3-6 node flow, no scrolling. - Components is named as the expanded Overview rather than a rival diagram, with the contrast made explicit: the Overview is a spine by rule, Components branches wherever the real system does. Its rules (label every edge, boundary as a subgraph, stack names on nodes) and worked example were what "expanded overview" was actually asking for, so no sixth diagram type was added. - System context now earns a separate diagram only when the externals outgrow Components, which resolves the overlap the two rows carried. - The SessionStart hook gains the doc-sync invariant. It fires on implicit mid-turn decisions with no prompt signal, which is the hook's stated selection rule, so its absence was a gap rather than a deliberate omission. Registered in docs/CROSS_REFERENCES.md. - Trimmed three rules that were each stated twice (update cadence, split-when-too-big, where stack names belong) and added the cases a simulation broke: a system too small for Components, a doc predating the Overview, and a non-user-facing audience. Generated with [Claude Code](https://claude.com/claude-code) by CEH
ARCHITECTURE.md now opens with a 3-second Overview instead of starting at the diagram set, and the Components diagram is named as that Overview expanded rather than a rival to it. The SessionStart hook gains the doc-sync invariant, which fires on implicit mid-turn decisions and so belonged there by the hook's own selection rule. - Bump: PATCH - content only, no skill or agent added or removed - Manifests: ceh-architecture 3.1.4 -> 3.1.5 in plugin.json and marketplace.json (landed in a0f8e3a) - Docs: CHANGELOG v5.0.3 entry added; both README tables updated in a0f8e3a; CLAUDE.md plugin row now names the Overview Generated with [Claude Code](https://claude.com/claude-code) by CEH
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.
What
ARCHITECTURE.mdnow opens with a 3-second Overview — one domain sentence plus one linear 3-6 node flow — and the Components diagram is named as that Overview expanded, with the rules and worked example it was missing. Ships as v5.0.3.Why
The doc began at the diagram set, which answers how a system is built before anything answers what it is. Two follow-on questions drove the rest: whether a fuller "how the whole thing works" diagram was a missing type (it was not — it was the Components diagram drawn thinly), and whether
document-architecturebeing absent from the SessionStart hook was deliberate (it was not — the doc-sync rule fires on implicit mid-turn decisions, which is the hook's own selection rule).How
No sixth diagram type was added. Adding one would have produced two diagrams with the same nodes and no rule for which carries the detail, so the detail rules went into the existing Components slot instead: label every edge with what crosses it, draw the trust boundary as a
subgraph, put stack names on nodes, branch freely. The Overview/Components contrast is stated outright — the Overview is a spine by rule, Components branches wherever the real system does.That exposed an older overlap between System context and Components, both claiming the externals; System context now earns a separate diagram only when the externals outgrow Components.
A simulation pass over two systems (the shop the examples use, and this repo — no users, no DB, no state machine) broke the skill on the small-system case and added three written-down cases: a system too small for Components, a doc predating the Overview, and a non-user-facing audience. Three rules stated twice each were cut to one statement.
Testing
python tools/validate-plugins/validate.pygreen.check-semver.py CHANGELOG.mdgreen. The hook payload was round-tripped throughjson.loadto confirm it is still valid single-line JSON after the new block.Not tested: the Mermaid examples are unrendered — rendering needs a chromium install I did not run. No behavioral eval was run against the skill.
Checklist
any/@ts-ignore/# type: ignoreintroducedGenerated with Claude Code by CEH