Repository navigation
Phase 1: core HTTP domain model — documentation and phase record - #42
Merged
Merged
Conversation
This was referenced Sep 15, 2026
Wahbeh-Mohammad
added this pull request to stack #43
September 15, 2026 09:06
Contributor
Author
Review record for the phase 1 stack (#40 → #41 → #42)Four independent reviews, each by a fresh agent with no memory of the previous one, each re-running the gates itself rather than reading the implementer's log; three fix rounds between them. Every finding got a stable id, a severity, a file:line and the command output that was its evidence. A round's verdict was
No finding was ever blocking; nothing was skipped. Round 0 → fixed in round 1
Round 1 → fixed in round 2
Round 2 → fixed in round 3
Round 3 (final) — open, carried into the PR bodies
What the final reviewer verified, in its own runs
Run: workflow |
Wahbeh-Mohammad
force-pushed
the
8-phase-1-core-http-domain-model-docs
branch
from
September 15, 2026 09:08
c88970d to
e37b406
Compare
Base automatically changed from
8-phase-1-core-http-domain-model-tests
to
main
September 15, 2026 09:08
…main-model page The forty-two-row checklist, written from what was built; three ledger rows added at implementation (P1-11, P1-12, P1-13) and P1-9 retired as built, with the corpus note that carried it corrected; the roadmap's dated status note and a thirty-fourth phase-10 inbound bullet; CLAUDE.md, the READMEs and docs/first-release.md brought to the built tree; and docs/sdk-documentation/http.md, the first as-built page for dexpace-core.
…s a confirmation of design §4
…ues as a reading (P1-14), and correct URL.own's comment
…hecklist roll-up, cite HTTP-19's name tests and route URL.parse!'s host-less shapes
Wahbeh-Mohammad
force-pushed
the
8-phase-1-core-http-domain-model-docs
branch
from
September 15, 2026 09:08
e37b406 to
cb45703
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8. Third of three phase 1 PRs — the documentation and the phase record for #40 and #41. Targets #41's branch.
What lands
docs/work/mvp/phase1/2026-09-05-phase1-core-http-domain-model-checklist.md, written from the build: 42 rows —HTTP-1–HTTP-35,HTTP-46–HTTP-50,HTTP-53,SEAM-29— 38 ✅ (two by construction,HTTP-1/HTTP-2; two split with a deferred half,HTTP-3/HTTP-46) and 4 ⏳ (HTTP-22,HTTP-48,HTTP-49,HTTP-50: no v1 phase constructs a conditional request; owned by thedocs/first-release.mddecision line). Plus what was built, the audit groups run, 22 deviations from the plan's text, the findings routed, and the postponed work re-checked (the suppressed trail → phase 4b Task 1; wire-boundary re-validation → phase 8a Task 16 / 8c Task 9 / phase 9 Task 7; thebodymember's type → phase 3b, P3-15).HeaderNamefold as a derived attribute), P1-12 (Queryequality by encoding), P1-13 (URL.parse!re-parses and owns its Strings), P1-14 (RequestOptionstag values areStringonly), and retires P1-9 as built.docs/knowledge/notes/data-modeling.md— the planning-time note that narrowed design §4's Ractor-shareability claim is replaced by an as-built confirmation: the whole wire model isRactor.shareable?,Request/Responseincluded, because the uri gem already freezesURI::RFC3986_PARSERat definition andURL.parse!owns its component Strings.docs/sdk-documentation/http.md— new as-built page for the wire model, every commented result verified against the built code;architecture.md,quality-gates.md, the core README,README.md,docs/README.md,docs/first-release.mdupdated.CLAUDE.mdcount sentences rewritten for a core that now holds domain code; the roadmap gains the phase 1 status note and a 34th phase-10 inbound bullet (URL.parse!'s host-less / non-HTTP scheme handling, routed rather than changed).lib/dexpace/http/url.rb(the YARD block described the retired P1-9).Verification
bundle exec rakeon Ruby 4.0.6 at this tip: exit 0, 181 s, all seventeen gates green (273 / 1,956 tests, 100% coverage, YARD 0 undocumented);test:gemsgreen on 3.2.11.ruby .claude/skills/housekeeping/probe.rb: no drift; housekeeping suite 108 runs and knowledge suite 92 runs green;verify_knowledge_structure.rbOK.Known follow-up from the final review (not blocking)
The roadmap's 2026-09-15 status note says "twenty-one departures … itemised in the checklist" and "five are gate or tool corrections, each pinned by a fixture"; the checklist itemises 22, and three of the five (deviations 6, 9, 10) carry a fixture — 7 (
AllowRBSInlineAnnotation) and 8 (rbs:validate -r) do not.