Skip to content

feat: extract coding:architecture-dimensions-assistant agent + guide#60

Merged
bborbe merged 1 commit into
masterfrom
feature/architecture-dimensions-assistant
Jun 25, 2026
Merged

feat: extract coding:architecture-dimensions-assistant agent + guide#60
bborbe merged 1 commit into
masterfrom
feature/architecture-dimensions-assistant

Conversation

@bborbe

@bborbe bborbe commented Jun 25, 2026

Copy link
Copy Markdown
Owner

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:

  • `docs/architecture-dimensions-guide.md` — source of truth for the 8 dimensions (data flow, failure & resilience, concurrency & lifecycle, observability, cross-cutting consistency, config/secrets/blast radius, evolvability, architectural drift), severity rubric, output contract, anti-patterns, skip directives
  • `agents/architecture-dimensions-assistant.md` — agent that reads the guide and applies it; matches frontmatter conventions of `go-architecture-assistant` / `srp-checker`
  • `commands/architecture-review.md` — Agent B prompt collapses from inlined 200-word checklist to one-line "Apply the guide" directive

Why this matters

  • Single source of truth. Updating the dimensions checklist now requires one edit (doc) instead of three (command + agent prompt + vault guide)
  • Maintainable contract. Agent file documents output format + severity calibration explicitly
  • Pattern consistency. Matches Doc↔Agent alignment principle in `CLAUDE.md` — every enforceable guide has a matching agent

Indexed in

  • README.md (Workflows & Documentation table + Go agents table)
  • llms.txt
  • CLAUDE.md Doc↔Agent table

Test plan

  • `make precommit` green (30 checks)
  • Local self-review loop converged (1 pass; no Must/Should, 2 optional nits)
  • Manual smoke test of `/coding:architecture-review` with the new agent (deferred until merge + plugin update — the v0.24.0 smoke test already validated the parent command's plumbing)

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.
@bborbe bborbe marked this pull request as ready for review June 25, 2026 21:03
@bborbe bborbe merged commit c524ff2 into master Jun 25, 2026
1 check passed
@bborbe bborbe deleted the feature/architecture-dimensions-assistant branch June 25, 2026 21:03

@ben-s-pull-request-reviewer ben-s-pull-request-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now I have the complete picture. Let me run the Step 4b-i candidate computation manually for the changed files:

  • CHANGELOG.mdchangelog/conventional-prefix-required
  • CLAUDE.mdclaude-md/agent-context-not-user-docs
  • agents/architecture-dimensions-assistant.mdagent-cmd/agent-frontmatter
  • commands/architecture-review.mdagent-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 ## Unreleased bullet starts with feat: — correct conventional prefix. No violation.

  • claude-md/agent-context-not-user-docs: The new CLAUDE.md table entry maps architecture-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 generic claude + 200-word inline checklist to coding: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.md and python-architecture-assistant.md both 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"
  ]
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant