feat: extract coding:architecture-dimensions-assistant agent + guide#60
Conversation
Closes PR #59's MAJOR finding ("dimensions pass routes to generic claude with inline agent role"). The 8-dimension behavioral review checklist is now a maintainable doc-paired agent: - docs/architecture-dimensions-guide.md — source of truth for the 8 dimensions, severity rubric, output contract - agents/architecture-dimensions-assistant.md — agent that reads the guide and applies it (no rule duplication) - commands/architecture-review.md — Agent B now a true thin wrapper, one-line prompt routing to the new agent Indexed in README, llms.txt, CLAUDE.md Doc↔Agent table.
There was a problem hiding this comment.
Now I have the complete picture. Let me run the Step 4b-i candidate computation manually for the changed files:
CHANGELOG.md→changelog/conventional-prefix-requiredCLAUDE.md→claude-md/agent-context-not-user-docsagents/architecture-dimensions-assistant.md→agent-cmd/agent-frontmattercommands/architecture-review.md→agent-cmd/command-frontmatter,agent-cmd/command-thin
No Go/Python files, no k8s manifests, no commits — all Go/Python/teamvault/k8s rules have **/*.go, **/main.go, k8s/**, **/*.py, @commits, .env triggers that don't match. The **/*.md trigger on markdown-todo/lowercase-x-for-complete doesn't apply — the diff modifies no checkboxes.
Selector mode — Step 4c-sel CLASSIFY:
| rule-id | decision | reason |
|---|---|---|
changelog/conventional-prefix-required |
applicable | CHANGELOG.md modified; feat: prefix present |
claude-md/agent-context-not-user-docs |
applicable | CLAUDE.md modified; entry is agent-operational (correct) |
agent-cmd/agent-frontmatter |
applicable | agents/architecture-dimensions-assistant.md created |
agent-cmd/command-frontmatter |
applicable | commands/architecture-review.md modified |
agent-cmd/command-thin |
applicable | commands/architecture-review.md modified (routing change) |
readme/user-facing-not-agent-context |
skipped | no violation found; description is user-facing |
Selector mode — Step 4d-sel ADJUDICATE:
Reading the relevant ### RULE blocks and diff:
-
changelog/conventional-prefix-required: The## Unreleasedbullet starts withfeat:— correct conventional prefix. No violation. -
claude-md/agent-context-not-user-docs: The new CLAUDE.md table entry mapsarchitecture-dimensions-guide.md → architecture-dimensions-assistant. This is agent-operational context (maps docs to agents), not user-facing marketing. No violation. -
agent-cmd/agent-frontmatter: New agent has all required fields:name: architecture-dimensions-assistant,description(whole-codebase behavioral review, sibling to go/python-architecture-assistant),model: sonnet,effort: high,tools: Read,Grep,Glob,Bash,color: purple,allowed-tools: Bash(grep:*),Bash(find:*),Bash(awk:*),Bash(git:*). The sibling agent references (go-architecture-assistant,python-architecture-assistant) match existing files. No violation. -
agent-cmd/command-frontmatter: Modified command has all required fields:allowed-tools: Task,Bash(git status:+),Bash(git log:+),Bash(git branch:+),Glob,Read,argument-hint: "[directory]",description. No violation. -
agent-cmd/command-thin: Agent B routing changed from genericclaude+ 200-word inline checklist tocoding:architecture-dimensions-assistant+ 1-line prompt. The collapsed routing delegates to a properly documented, guide-paired agent with a richer rubric than the inline checklist. No violation — behavior is preserved and quality is improved.
Step 4d citation validation: No findings emitted → nothing to validate.
Step 3 context check: No .env, no k8s YAMLs, no main.go, no CHANGELOG.md content beyond the bullet → no context-specific conventions needed.
Concerns from plan — all addressed:
- Agent frontmatter ✅ — all 7 fields present and appropriate
- Sibling agent names ✅ —
go-architecture-assistant.mdandpython-architecture-assistant.mdboth exist - Guide cross-references ✅ — references
go-architecture-assistant/python-architecture-assistant,/coding:architecture-review,docs/architecture-dimensions-guide.md(self-referential, correct) - Command routing collapse ✅ — functionally equivalent, higher quality (guide-paired, detailed rubric)
- CLAUDE.md table ✅ —
architecture-dimensions-guide.md → architecture-dimensions-assistant - README tables ✅ — guide description and agent description accurate
- llms.txt ✅ — correctly captures guide purpose and paired agent
{
"verdict": "approve",
"summary": "Clean extraction PR: new `architecture-dimensions-assistant` agent and `docs/architecture-dimensions-guide.md` are well-formed, fully frontmatter-compliant, correctly reference sibling agents, and the `commands/architecture-review.md` routing collapse from generic `claude` + inline checklist to the new guide-paired agent preserves all behavioral coverage. All four judgment rules applicable to the diff (changelog prefix, CLAUDE.md operational context, agent frontmatter, command frontmatter/thin) pass without violation. README and llms.txt entries are accurate.",
"comments": [],
"concerns_addressed": [
"correctness: agent frontmatter complete (name, description, model:sonnet, effort:high, tools, color, allowed-tools) — agents/architecture-dimensions-assistant.md",
"correctness: sibling agent references 'go-architecture-assistant' and 'python-architecture-assistant' match existing files — agents/architecture-dimensions-assistant.md:3",
"correctness: guide cross-references consistent (sibling agents, /coding:architecture-review, self) — docs/architecture-dimensions-guide.md:200-205",
"correctness: command routing collapse preserves behavioral coverage, improves quality — commands/architecture-review.md:59-62",
"correctness: CLAUDE.md table entry maps architecture-dimensions-guide.md → architecture-dimensions-assistant — CLAUDE.md:79",
"correctness: README tables updated with accurate descriptions — README.md:173, README.md:223",
"correctness: llms.txt entry captures guide purpose and paired agent — llms.txt:88",
"tests: precommit skipped (selector mode) — CI covers lint+test"
]
}
Summary
Closes the MAJOR finding from PR #59's bot review: `/coding:architecture-review` Agent B routed to generic `claude` with a ~200-word inline checklist — a "thin wrapper" violation.
This PR extracts the 8-dimension behavioral review into a paired doc + agent:
Why this matters
Indexed in
Test plan