Skip to content

docs: final design assessment — post-implementation consistency pass#105

Merged
cuibonobo merged 1 commit into
mainfrom
claude/design-assessment-consistency-aoq7cz
Jul 20, 2026
Merged

docs: final design assessment — post-implementation consistency pass#105
cuibonobo merged 1 commit into
mainfrom
claude/design-assessment-consistency-aoq7cz

Conversation

@cuibonobo

Copy link
Copy Markdown
Member

Adds docs/design-assessment-2026-07.md — a whole-system read of the spec and every package after the #45#69 implementation batch, hunting for holes the issue-by-issue review missed and inconsistencies introduced by landing decisions one issue at a time. Nothing is filed as an issue yet; the doc is the deliverable to react to, per the "discussion first, filing second" convention.

Nothing but docs changes here — no code touched.

Verdict

The design philosophy survived implementation intact. The invariant layering (#67/#68), error-taxonomy round-trip (#53), two-relations split (#54/#68), and attachment determinism/backstop pairing (#65/#66) are all faithful. The 25 findings cluster at the seams where two separately-implemented decisions meet.

The four I'd treat as urgent

Plus D1 [bug] — the conformance fixtures use ids (rec-1, fileId abc123) that #55's validation rules require a conformant server to reject, so the enforcement suite and the rules it enforces can't both pass; and the newest contracts (If-Match/412, schema_drift, _config protection, 401-vs-403) have no fixtures at all.

Structure

Closes with a fix order grouped by shared root cause. Deliberately skips everything already tracked open (#3/#15/#16/#72/#90/#93).

🤖 Generated with Claude Code

https://claude.ai/code/session_01XS3tQxohWFqeRgDxmyBiV2


Generated by Claude Code

Whole-system read of the spec and every package after the #45#69
implementation batch, hunting for holes the issue-by-issue review missed
and inconsistencies introduced by landing decisions one issue at a time.

Headline findings: the _attachment@1 create path bypasses #51's
reference-conveyance gate (hash-confirmation oracle), permissionEqual()
predates #58's role field so role-only ACL changes silently no-op,
canAccessFile()/ensureOwnerEntity() violate the #50 exhaustive-pagination
rule internally, snapshot+mutate non-atomicity can permanently brick a
record's mutations, and the conformance fixtures use ids the #55
validation rules require servers to reject.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XS3tQxohWFqeRgDxmyBiV2
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.

2 participants