Skip to content

Setup fidelity leftovers (ADR-016): hardcoded templates, template-blind create_adr, discarded .coding-assistants content #25

Description

@minerva-sky

ADR-016 established that setup derives its outputs from canonical sources (it fixed members.yml, subagents, principles.md, config.yml). The same quality-loop review pass that produced PR #24 found three places the hardcoded-divergent-copy pattern still lives in mcp/index.js:

1. setupTemplates writes hardcoded templates alongside the canonical ones. The .architecture copy already delivers the canonical templates/adr-template.md and templates/review-template.md (9 template files total). setupTemplates then writes inline-hardcoded templates/adr.md and templates/review.md whose content materially diverges from the canonical files (different status vocabulary, different sections, no supersession link). A fresh install ships two ADR templates with different structures and no signal which one is real. Note the 1.6.0 CHANGELOG migration text points MCP-only clients at .architecture/templates/review.md — a file that only exists as this hardcoded artifact, not in the repo.

2. create_adr ignores both templates. It emits a third, simpler hardcoded ADR shape (Status/Context/Decision/Consequences/Date), so the tool's own output doesn't match either template it installs. Per ADR-016's single-source-of-truth principle, the ADR structure should derive from the canonical template (or the two should be reconciled deliberately).

3. .coding-assistants canonical content is discarded. The temp clone contains the full canonical .coding-assistants/ tree (claude/, claude-code/, codex/, cursor/, templates/, examples/), but only .architecture is moved into the target; setup then creates empty claude/, cursor/, codex/ dirs. Either the canonical assistant configs should be installed, or the empty-dir creation should go — empty dirs serve nobody.

Proposed direction (issue-only per autonomy policy; happy to PR once the shape is agreed): delete the setupTemplates hardcoded bodies, keep the copied canonical templates as the only ones, render create_adr output from adr-template.md, and either install or stop pretending to install .coding-assistants. Backwards-compat note: existing installs that reference templates/adr.md / templates/review.md would keep their files (setup never runs twice on an existing .architecture), so the change is additive-only for new installs, consistent with the WORLD.md back-compat constraint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    loop:qualityCode quality / refactoring loopstatus:analyzedAnalyzed, awaiting decision

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions