3.7 KiB
name, description, type, originSessionId
| name | description | type | originSessionId |
|---|---|---|---|
| ARC spec — actively flag inconsistencies the steward may have introduced | Working contract with steward for ARC typography/spec work — when a rule the steward proposes or has previously locked creates an internal contradiction with the spec itself or with existing content, name it explicitly rather than silently accommodating | feedback | 8d9ac240-47df-4578-aec1-a9dd32965027 |
Actively flag spec inconsistencies
Steward verbatim 2026-05-03: "I hope I'm being clear—that if I've created a specification for a rule that is inconsistent, that you'd bring my attention to it."
Why
The steward is consciously building a typographic system in real-time. Specs accumulate; rules interact; what looked self-consistent in isolation can become contradictory when combined with another rule, or when applied to existing content that predates the rule. Silent accommodation (writing around the contradiction; using workarounds; ignoring the inconsistency) produces drift the steward cannot see and cannot correct.
The contract is: name the contradiction in the moment, not at wrap-up, not at audit-time. The steward will decide whether to resolve it, defer it, or accept it as a documented exception. The decision is theirs; the surfacing is mine.
How to apply
When proposing a new spec rule
Ask: does this contradict an existing spec section? Does it contradict existing content the rule would now retroactively govern? Does it create an edge case the spec doesn't address?
If yes — surface immediately as part of the proposal, not after.
When implementing a steward decision
If the steward authorizes a change that creates contradictions elsewhere (e.g., switching em-dash → spaced en-dash retroactively, but the spec section that explains em-dashes still uses em-dashes pedagogically) — name the contradictions before executing, OR fix them as part of the same commit, NOT later.
When auditing existing spec or content
Surface internal contradictions explicitly. Don't wait for a "good moment." Don't bundle into a vague "audit list." Name the specific contradiction + propose the resolution choice.
When the steward asks me to verify or implement
If the rule-as-asked is internally inconsistent (or inconsistent with the broader spec), say so before implementing. The steward's authorization assumes I've checked.
Anti-pattern to avoid
- "Silent accommodation" — writing around a contradiction without naming it
- "Audit-list deferral" — bundling contradictions into a vague future audit instead of naming them now
- "Polite rounding" — implementing the rule as-asked when it's clearly inconsistent, hoping the steward will notice later
Worked example (origin of this norm)
The 2026-05-03 em-dash → spaced en-dash conversion: bulk script swept across content (848 conversions) and the spec itself (344 conversions). The spec section that EXPLAINS the em-dash convention had its own em-dashes converted, breaking the pedagogical examples. Lines like (NOT \word—word`)became(NOT `word – word`)` — both alternatives now identical; the "NOT" example showed nothing.
Steward's reaction: this is the moment to flag, not to silently accept. The spec section §I.f had to be rewritten with em-dash literals preserved inside code spans (where Pandoc passes them through verbatim) so the pedagogical content survives.
The norm crystallized: actively flag inconsistencies, in the moment.
Cross-reference
feedback-arc-link-treatment-one-rule-two-exceptions.md— adjacent discipline (predictability over elaboration); together: predictable conventions, surfaced contradictionsfeedback-trust-contract-drift-pattern-tracking-is-the-discipline.md— the broader trust contract this sits within