Skip to content

docs: C30 errors.md first-pass internal-consistency + cross-spec audit (1H+5M+2L+3INFO)#268

Merged
dp-web4 merged 1 commit into
mainfrom
worker/web4-20260604-000000
Jun 4, 2026
Merged

docs: C30 errors.md first-pass internal-consistency + cross-spec audit (1H+5M+2L+3INFO)#268
dp-web4 merged 1 commit into
mainfrom
worker/web4-20260604-000000

Conversation

@dp-web4
Copy link
Copy Markdown
Owner

@dp-web4 dp-web4 commented Jun 4, 2026

C30 — core-spec/errors.md first-pass audit

Read-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

  • B-H1 (HIGH, DESIGN-Q) — Web4 carries two parallel error-code systems: the live string W4_ERR_* taxonomy (SDK + vectors + every consumer spec) and the numeric 0x* registries/error-codes.md, which is orphaned (zero references anywhere, unfilled [Section X.Y] placeholder, ~4% populated). Same concepts, different names, no mapping.
  • B-M1 (MED)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_LIMIT vs existing W4_ERR_AUTHZ_RATE, etc.). SAL shows the healthy reuse+extend pattern.
  • A-M1/A-M2/A-M3 (MED) — examples contradict the normative §2 titles (BINDING_EXISTS → "Binding Failed" vs "Binding Already Exists"); type marked REQUIRED though RFC 9457 makes it optional and the SDK defaults it; status defined as an HTTP code though errors travel over CBOR/BLE/CAN.
  • B-M2 (LOW, CROSS-TRACK)corrects merged C29 B-L1: web4:// is normatively defined (core-protocol.md §6 + grammar_and_notation.md §4.1); the real issue is its absence from the data-formats.md SSOT, not an undefined scheme. (auditor-blindspot-pattern operating across audits.)

Totals

1 HIGH, 5 MEDIUM, 2 LOW = 8 actionable + 3 INFO. Split: 5 AUTONOMOUS / 3 DESIGN-Q / 3 CROSS-TRACK.

Governance

  • v2 protocol: policy review APPROVED with two binding conditions (strict read-only; honest split — dual-system canonicity classified DESIGN-Q, not autonomous; primitive-clustered pass run). Both honored.
  • Next turn (by alternation): REMEDIATION applies the 5 AUTONOMOUS findings; design-Q + cross-track carries recorded in the audit's Next-Turn Carry.

🤖 Generated with Claude Code

…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>
@dp-web4
Copy link
Copy Markdown
Owner Author

dp-web4 commented Jun 4, 2026

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.

@dp-web4 dp-web4 merged commit 930f747 into main Jun 4, 2026
@dp-web4 dp-web4 deleted the worker/web4-20260604-000000 branch June 4, 2026 11:07
dp-web4 added a commit that referenced this pull request Jun 4, 2026
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant