You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: "Architect Voice as Default Documentation Style"
3
+
status: accepted
4
+
tags:
5
+
- "architecture"
6
+
- "plugin"
7
+
- "precision"
8
+
---
9
+
10
+
## Context
11
+
12
+
Research across all plugin prompts (`precision-rules.md`, `agents/archcore-assistant.md`, 7 SKILL.md files) found no content style constraint: agents composing `.archcore/` documents defaulted to developer-style output — implementation code, function signatures, and step-by-step code walkthroughs in document types where architectural rationale is the primary signal. Documents serving as AI agent context deliver higher signal-to-noise when they capture *why* decisions were made and *what they cost*, not *how* implementations work — the code is already readable from `@path/to/file` references in source.
13
+
14
+
## Decision
15
+
16
+
Adopted **architect voice** as the default content standard: expert, concise, precise, and argued. A document should let a senior engineer understand *why*, *what*, and *what it costs* in 30 seconds. `@path/to/file` references, identifiers, measurements, and version strings are used freely — they are the architect's vocabulary. Pasting code bodies, implementation walkthroughs, and AI-padded filler are defects. The constraint is codified in `skills/_shared/precision-rules.md` Rule 6 and `agents/archcore-assistant.md` Quality Standards. Code blocks remain appropriate for types where the exact textual format is the artifact: `rule` (Good/Bad), `guide` (steps), `cpat` (Before/After), and on explicit user request.
17
+
18
+
## Alternatives Considered
19
+
20
+
1.**Add voice rule to MCP server instructions (`internal/mcp/server.go`)** — rejected because MCP instructions are host-agnostic and serve Cursor, Copilot, Codex CLI, and Claude Code equally; Claude Code-specific narrative preferences do not belong in a shared layer.
21
+
2.**Modify CLI templates (`templates/templates.go`) to remove code placeholders** — ruled out because templates define document *structure*, not voice; removing code blocks from `spec` or `doc` templates would break valid use cases where code is genuinely normative (wire formats, protocol contracts).
22
+
3.**No change, rely on per-user prompting** — deferred; creates inconsistent defaults where each new user gets developer-style output until they discover an override.
23
+
24
+
## Consequences
25
+
26
+
-[expected] ADR, RFC, PRD, plan, and spec documents produced without explicit user override will contain argued rationale rather than implementation detail — shorter, faster for AI agents to process.
27
+
- Tradeoff: users who need inline code examples in non-code-native types must explicitly request them; the escape hatch is always available but not the default.
28
+
-[expected] Per-composition token overhead from Rule 6 and agent definition additions: ~190 tokens (~6–8% on a typical `create_document` workflow).
29
+
- Rule 6 is a behavioral default, not a structural gate — `bin/check-precision` does not enforce it.
30
+
31
+
## Superseded when
32
+
33
+
- User research shows ≥ 30% of first-time users explicitly request inline code in ADRs or PRDs before being prompted — indicating the default misaligns with actual usage patterns.
34
+
- A content-profile system is introduced that allows per-type voice configuration in `.archcore/settings.json`.
add_finding "code block >=5 lines in $DOC_TYPE — architect voice prefers @path/to/file references over pasted implementation detail (Rule 6)"
166
+
fi
167
+
;;
168
+
esac
169
+
139
170
# --- Emit soft warnings if any ---
140
171
if [ -n"$FINDINGS" ];then
141
172
archcore_hook_info "Precision check on $ARCHCORE_DOC_PATH (soft, non-blocking) — $FINDINGS. See skills/_shared/precision-rules.md and adr-contract.md (plugin-shipped)."
Content voice: default to architectural prose — decisions, rationale, intent.
59
+
See `skills/_shared/precision-rules.md` Rule 6. Code blocks only where the
60
+
document type requires it (`rule`, `guide`, `cpat`) or the user asks.
61
+
58
62
### Pre-flight: CLI availability check
59
63
60
64
Before any init step, verify that the Archcore CLI is available on PATH. The canonical installer is documented at https://docs.archcore.ai/cli/install/ — use it as the single source of truth; do **not** suggest other channels (`brew`, `go install`, etc.) even if the user mentions them.
0 commit comments