docs(plan): ship kernel-kind-parity-bar — the bar is every kernel kind - #1909
Conversation
The change's one ticket is #1777, merged 2026-08-18 by PR #1896, and it declares no REMOVED bullets, so the gate has nothing to verify. Both obligations the owner ruling created are already discharged: #1758 was widened 2026-08-18 to cover CPU write into an acquired texture, and #1898 is filed post-MVP on Graphics Kernel Buildout for gap 1. The fold was entirely outstanding. The change file records that "the narrowed prose and the ADR annotation ride #1777 / PR #1896"; neither did. PR #1896 touched only the python-kernel-surface change file, and PR #1897 landed this change file plus one header line. So until this commit the plan's own decision source promised Python "reaches every GPU capability Rust authoring reaches" — five days after the owner narrowed it — and the ADR that owns the decision read unannotated. Applied as the change wrote them, paste-ready: - §Graphics' parity entry narrows to every kernel *kind*, with the two gaps a Python processor cannot reach named inside the entry where the claim is read: vertex and index buffers with indexed draws, and storage- and uniform-buffer bindings. Both undesigned. - §Graphics' trailing OPEN entry names gaps 2 and 4 — depth attachments and MSAA — which are unbuilt in every language rather than Python-reach gaps, so they land in OPEN and not in the DECIDED entry. - The ADR's decision 1 is annotated in place, not overwritten, per the docs-policy supersession form. Its differentiator claim survives unnarrowed: being a proxy to Rust-powered GPU work claims a relationship, not a surface area. The two markers the change commissions are CI-runnable and were run: both pass in 0.02s with no GPU. §Graphics stays IN-FLIGHT with no arrow — no live change drives it, and it cannot flip while its last [python-kernel-api] entry, the Rust bindings-at-dispatch convergence, is unbuilt and has no change file. No diagram edit is owed, re-verified rather than assumed: system.mmd's kernel references are neither kind- nor capability-scoped. Refs #1777 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 17 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Ships
kernel-kind-parity-bar: narrows §Graphics' parity claim to every kernel kind, names the four capabilities Python cannot reach, annotates the ADR that owns the decision, and archives the change file.Precondition — every ticket merged
The change's own ticketing note is explicit that
/derive-ticketsmints nothing for a plan-and-ADR wording change inside work already ticketed — the narrowing rides #1777. The two tickets the owner ruling created are both already discharged, checked rather than assumed:Graphics Kernel Buildoutfor gap 1.Archive date is #1896's merge date,
2026-08-18.Step 1 — the REMOVED gate
This matches the change's own
## REMOVEDsection, which reasons the point out rather than asserting it: nothing in the tree retires, because the four refusals this change records are shipped behaviour, and the plan sentence and ADR clause it amends live in trees the gate excludes from its content sweep. Re-run against the archived path is identical.The fold was entirely outstanding
Worth stating plainly, because the change file says otherwise. It records that "the narrowed prose and the ADR annotation ride #1777 / PR #1896". Neither did. PR #1896 touched only
docs/plan/changes/python-kernel-surface.mdamong docs; PR #1897 landed this change file plus one header line (git log docs/decisions/python-kernel-api.mdshows no commit from either).So until this PR, five days after the owner narrowed the claim:
ARCHITECTURE.mdpromised Python "reaches every GPU capability Rust authoring reaches… No kernel capability is Rust-only".docs/decisions/python-kernel-api.mddecision 1 read unannotated.This is also the finding CodeRabbit raised on #1907, which I declined there on the grounds that writing an unshipped change's text into the decision source is the doctrine violation
/ship-changeexists to prevent. This is the sanctioned place for it.Step 2 — the fold
Applied as the change wrote them, paste-ready:
python-kernel-surface's SHIPPED clause and gains the semicolon amendment clause, the document's idiom for a partial later amendment..claude/rules/docs-policy.md's supersession form. The annotation names no issue or PR number, perdocs/decisions/README.md:19. Its differentiator claim survives unnarrowed — being "a proxy to Rust-powered GPU work" claims a relationship, not a surface area.§Graphics stays IN-FLIGHT, and the header now carries no arrow — a form the document has not used before, so flagging it. No live change drives the section, but it cannot flip to SHIPPED either: its last
[python-kernel-api]entry, the Rust bindings-at-dispatch convergence, is unbuilt and has no change file.Both commissioned markers are CI-runnable and were actually run, not just name-checked:
Signature-only, no GPU — real CI coverage, unlike the rig-only markers on the neighbouring entries.
Step 3 — the diagram
No diagram edit is owed. Re-verified rather than inherited from the change file, whose
system.mmd:31anchor predates the last two ships: the diagram's kernel references are neither kind- nor capability-scoped, so the narrowing does not falsify any label.Note on the archived file's anchors
The change file's
ARCHITECTURE.md:NNNcitations are stale again — #1908's raw-handle fold shifted everything below §Packages by ten lines. I re-anchored them one PR ago because the file was still live and its fold pending; now it archives, and an archive is a record of what was true at authoring, so they are left as written. Same posture as the existing archives.Verification
cargo run -p xtask -- check-all-source-gates— all 10 source-walking gates pass.🤖 Generated with Claude Code