Skip to content

Commit 62a8d0b

Browse files
dmealingclaude
andcommitted
docs(specs): FR5 family + ADR-0009 (loader error envelope + source-on-node)
Brainstormed re-scope of the original FR5 draft (which was JSON-only and under-designed). The new structure: ADR-0009 — cross-language contract: - Uniform error envelope { code, message, source, ...optional T2 }. - `source` on every metadata node (not a side-channel). Always populated; programmatic construction defaults to { format: "code" }. Mutates on real semantic change; duplicate-no-change emits WARN_DUPLICATE_DECLARATION. - Canonical JSONPath form (dot for identifier keys, bracket for arrays/ special-char keys, root $). Exact-string conformance enforcement. - `semantic_diff` algorithm spec'd so all four ports converge. - Six format discriminants: json, yaml, merged, resolved, database, code. - Canonical JSON serialization explicitly omits `source` (loader-output, not metadata). Per-error-class FRs: - FR5a (plan-of-record): JSON-shape + envelope foundation. Coordinated TS/C#/Java/Python landing. Adds source field to each port's MetaData base, threads JSONPath through parse, rewrites ~12-15 conformance fixtures to the envelope shape. - FR5b/5c/5d (sketches): YAML positions, multi-file merge attribution, reference resolution. Each owned later with its own brainstorm. - FR5e (forward-looking): database-source errors, gated on FR-003. Supersedes the original 2026-05-25-fr-actionable-loader-error-messages- design.md (deleted; was a single under-scoped draft). Roadmap updated to reflect the family. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 0cdfc03 commit 62a8d0b

8 files changed

Lines changed: 980 additions & 141 deletions

docs/superpowers/specs/2026-05-25-fr-actionable-loader-error-messages-design.md

Lines changed: 0 additions & 139 deletions
This file was deleted.

0 commit comments

Comments
 (0)