docs: C30 errors.md first-pass internal-consistency + cross-spec audit (1H+5M+2L+3INFO)#268
Conversation
…t (1H+5M+2L+3INFO) First-pass audit of core-spec/errors.md (144L), the RFC 9457 Problem Details error taxonomy. Read-only; zero spec edits. Produced via a 5-dimension multi-agent find->adversarial-verify workflow (27 candidates -> 23 confirmed, 4 refuted), hand-verified against live files. Headline findings: - B-H1 (HIGH): two parallel error-code systems; the numeric registries/ error-codes.md is orphaned (0 corpus/SDK refs, unfilled reference placeholder, ~4% populated) while the string W4_ERR_* system is canonical. - B-M1 (MED): errors.md claims to be "the" Web4 taxonomy but is core-only; 23+ subsystem codes (metering/SAL/ACP/cross-society) live elsewhere, with metering re-inventing parallel names for codes errors.md already owns. - A-M1/A-M2/A-M3: example titles contradict the normative taxonomy; field requirements diverge from RFC 9457 (type REQUIRED but SDK defaults it); status defined as HTTP code but errors travel over non-HTTP transports. - B-M2: CORRECTS merged C29 B-L1 -- web4:// IS normatively defined (core-protocol.md §6 + grammar §4.1); real issue is absence from the data-formats SSOT, not an undefined scheme. 8 actionable + 3 INFO. Split: 5 AUTONOMOUS / 3 DESIGN-Q / 3 CROSS-TRACK. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
APPROVED: C30 first-pass internal-consistency + cross-spec audit of core-spec/errors.md. Read-only — adds exactly one doc under docs/audits/, zero spec edits (confirmed: single file changed). Advances the C-series audit↔remediation cadence (this is the AUDIT turn; remediation of the 5 AUTONOMOUS findings is correctly deferred to the next alternation). Quality is high: 5-dimension find→adversarial-verify workflow, 27 candidates honestly pruned to 23 (4 refuted, listed for anti-padding), DESIGN-Q vs AUTONOMOUS vs CROSS-TRACK routing kept disciplined, and B-H1 (orphaned numeric error-codes registry vs live W4_ERR_* taxonomy) is a genuinely valuable structural finding. Bonus: corrects a factual error in the merged C29 B-L1 (web4:// IS normatively defined in core-protocol §6 + grammar §4.1). No drift, no source mutation, development-phase aligned. |
…269) C30 remediation turn (audit PR #268). Applies the 5 AUTONOMOUS findings plus the opportunistic I1 banner, all inside core-spec/errors.md: - A-M1: align worked-example titles to the §2 normative taxonomy (§1 "Binding Failed"→"Binding Already Exists"; §3.1 "Unauthorized"→ "Authorization Denied") and make the §3.1 example a coherent *denied* (not scope) case via its detail. Kept code/status W4_ERR_AUTHZ_DENIED/401 to preserve consistency with the pinned conformance vector + SDK test (BC#5 sweep finding — audit option (b) over option (a)). - A-M2: restate `type` as OPTIONAL (default about:blank) per RFC 9457 §3.1 (matches SDK .get default); label `code` a Web4 extension member (RFC 9457 §3.2); state Web4 deliberately mandates `status`/`title`. - A-M3: note `status` is HTTP-modelled but transport-agnostic (CBOR/QUIC, BLE GATT, CAN per core-protocol §5.1). - A-L1: note `instance` path segments are illustrative, no normative registry. - B-M1 §1 rescope: errors.md = the *core protocol* error taxonomy; SAL/ACP/metering/MCP subsystem specs extend it (autonomous half only; centralize-vs-distribute architecture deferred as DESIGN-Q). - I1: add Version/Status/Last-Updated banner. DESIGN-Q (B-H1 registry canonicity, B-M1 architecture, B-M3 W4IDp form) and CROSS-TRACK (B-M2 web4:// SSOT, metering name reconcile, I2) deferred. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
C30 —
core-spec/errors.mdfirst-pass auditRead-only audit of the Web4 Error Taxonomy (RFC 9457 Problem Details, 144L). Zero spec edits — adds one audit doc under
docs/audits/. Continues the C-series audit↔remediation cadence (this is an AUDIT turn; #266 audit / #267 remediation closed the C29 pair).Produced via a 5-dimension multi-agent find → adversarial-verify workflow (internal consistency / cross-spec error-systems / identifier-scheme / RFC-9457 conformance / primitive-clustered blindspot). 27 candidates → 23 confirmed, 4 refuted; all surviving findings hand-verified against live files.
Headline findings
W4_ERR_*taxonomy (SDK + vectors + every consumer spec) and the numeric0x*registries/error-codes.md, which is orphaned (zero references anywhere, unfilled[Section X.Y]placeholder, ~4% populated). Same concepts, different names, no mapping.errors.md§1 calls itself "the standardized error taxonomy for the Web4 protocol" but is core-only: 23+ codes live in metering/SAL/ACP/cross-society specs, and metering re-invents parallel names (W4_ERR_RATE_LIMITvs existingW4_ERR_AUTHZ_RATE, etc.). SAL shows the healthy reuse+extend pattern.BINDING_EXISTS→ "Binding Failed" vs "Binding Already Exists");typemarked REQUIRED though RFC 9457 makes it optional and the SDK defaults it;statusdefined as an HTTP code though errors travel over CBOR/BLE/CAN.web4://is normatively defined (core-protocol.md §6+grammar_and_notation.md §4.1); the real issue is its absence from thedata-formats.mdSSOT, not an undefined scheme. (auditor-blindspot-patternoperating across audits.)Totals
1 HIGH, 5 MEDIUM, 2 LOW = 8 actionable + 3 INFO. Split: 5 AUTONOMOUS / 3 DESIGN-Q / 3 CROSS-TRACK.
Governance
🤖 Generated with Claude Code