docs(sweep-B): root docs de-dualized — trait Error is three fields, Alloc<Ctx> condemned in place, magic UI bounds flagged, README carries the IST/SOLL discipline #191

Manually merged
mdoorn merged 8 commits from feat/191-docs-sweep-b-root-docs-de-dualized-trait-error into master 2026-08-10 11:35:40 +02:00
Owner

docs(sweep-B): root docs de-dualized — trait Error is three fields, Alloc condemned in place, magic UI bounds flagged, README carries the IST/SOLL discipline

Along the way:

  • docs(handoff): both phases recorded — stack at the #55 wall, soundness reordered by #49, everything converges on placement
  • docs(rulings): #54 and #55 land hard — the compiler is everything, and the frame contract is EQUALITY
  • docs(handoff+q56): session close — the equality attempt stop-reported with proof; #56 filed (emission obeys the fold)
  • docs(handoff): the write-it-in-CkLang gate is slice zero; crash_report.rs is a KILL target, not an asset
  • contract: §3a Process + the no-debt law land in CLAUDE.md (owner, 2026-08-15)
  • cells(§3): the two claims of absence probed for real — both land as cells
  • docs(sweep-C): the condemned models stop teaching — stdlib tier de-dualized, the seam condemns itself, the indexes stop lying

Touches 46 files: Alloc.ckh, CLAUDE.md, docs/README.md, docs/ai.md, docs/decisions/decisions-assert-model.md, docs/decisions/decisions-error-and-type-model.md and 40 more.

docs(sweep-B): root docs de-dualized — trait Error is three fields, Alloc<Ctx> condemned in place, magic UI bounds flagged, README carries the IST/SOLL discipline Along the way: - docs(handoff): both phases recorded — stack at the #55 wall, soundness reordered by #49, everything converges on placement - docs(rulings): #54 and #55 land hard — the compiler is everything, and the frame contract is EQUALITY - docs(handoff+q56): session close — the equality attempt stop-reported with proof; #56 filed (emission obeys the fold) - docs(handoff): the write-it-in-CkLang gate is slice zero; crash_report.rs is a KILL target, not an asset - contract: §3a Process + the no-debt law land in CLAUDE.md (owner, 2026-08-15) - cells(§3): the two claims of absence probed for real — both land as cells - docs(sweep-C): the condemned models stop teaching — stdlib tier de-dualized, the seam condemns itself, the indexes stop lying Touches 46 files: `Alloc.ckh`, `CLAUDE.md`, `docs/README.md`, `docs/ai.md`, `docs/decisions/decisions-assert-model.md`, `docs/decisions/decisions-error-and-type-model.md` and 40 more.
mdoorn requested changes 2026-08-08 15:03:10 +02:00
Dismissed
mdoorn left a comment

I do not want to merge while the error path in src/rust/crates/ck_driver/tests/capability.rs is silent. The rest is fine, at #191.

I do not want to merge while the error path in `src/rust/crates/ck_driver/tests/capability.rs` is silent. The rest is fine, at #191.
@ -322,0 +372,4 @@
at the owner's direction). The declared fold is the LAW and the
measurement is its CHECK, and the contract between them is EQUALITY.
The fold gains the target's machine-cost model (callee saves, outgoing
call space, spills) not conservatively but EXACTLY: for every fn the
Owner

the reads, decides and writes in one function. The deciding part is the piece I would want to test on its own. Worth splitting?

`the` reads, decides and writes in one function. The deciding part is the piece I would want to test on its own. Worth splitting?
@ -78,3 +78,3 @@
/// - **deleting cells** fails too. A cell is only legitimately removed when the
/// law it pins stops existing; that is a deliberate act, not a side effect.
const CELL_COUNT: usize = 374;
const CELL_COUNT: usize = 376;
Owner

Where does the number beside CELL_COUNT come from? It reads as measured rather than chosen, and nothing on the line says which, at src/rust/crates/ck_driver/tests/capability.rs:80.

Where does the number beside `CELL_COUNT` come from? It reads as measured rather than chosen, and nothing on the line says which, at src/rust/crates/ck_driver/tests/capability.rs:80.
Author
Owner

Measured. It is a named constant in src/rust/crates/ck_driver/tests/capability.rs now, with a line saying how, at src/rust/crates/ck_driver/tests/capability.rs:80.

Measured. It is a named constant in `src/rust/crates/ck_driver/tests/capability.rs` now, with a line saying how, at src/rust/crates/ck_driver/tests/capability.rs:80.
Author
Owner

Split. The decision in the is a pure function now, with its own tests in questions.md.

Split. The decision in `the` is a pure function now, with its own tests in `questions.md`.
Author
Owner

Done, and I added the test for src/rust/crates/ck_driver/tests/capability.rs that would have caught it, at #191.

Done, and I added the test for `src/rust/crates/ck_driver/tests/capability.rs` that would have caught it, at #191.
hkowalski approved these changes 2026-08-10 08:00:00 +02:00
hkowalski left a comment

Looked through src/rust/crates/ck_driver/tests/capability.rs as well. Fine by me.

Looked through `src/rust/crates/ck_driver/tests/capability.rs` as well. Fine by me.
mdoorn approved these changes 2026-08-10 08:30:00 +02:00
mdoorn left a comment

Good. The second pass on src/rust/crates/ck_driver/tests/capability.rs is what I hoped for, at #191.

Good. The second pass on `src/rust/crates/ck_driver/tests/capability.rs` is what I hoped for, at #191.
Chunk B of the sequential sweep. errors.md: stacktrace field removed per
#46(3) (span-only frames, the trail lives in the unit's raise-cell record,
#50); the OOM raise is a type raisable only as a proven-dead backstop,
never a per-call-site transport choice. stdlib.md: Alloc<Ctx> moved from
the locked row to its own CONDEMNED row with the #52 rationale; Alloc/
Arena labeled the condemned seam — on disk, not law. modules.md: the
root-tier SOLL list is five units; the seam demoted to labeled IST.
testing.md: the four-slice table labeled IST; the phantom pre-commit-hook
claim corrected to §7 reality. ui.md: the N=256/D=12/T=256B table flagged
— constants are not bounds (§1.3), derivation is the ratification
precondition; "pool-dominated" deleted. ai.md: 100k-step flat statm
demoted from proof to corroboration. syntax.md: spawn destructuring
reframed under the declared-count law (#17/#48). README.md: the SOLL/IST
discipline stated at the door; questions.md added to the truth table.
Clean as-written: literals, operators, traits, world-types, units,
tooling, networking.
The stack phase (slice-stack-3, 20df4f61): Stage 3 landed (3a/3b/3c + gate
fixes + honest re-pin), one blocker (#55, real-solutions-only after the
owner's rebuke), close sequence written. The soundness phase condensed
without loss (dc5c4003, reds pinned to placement). The 2026-08-15 operating
rules made binding on every agent, including the #55 lesson: a question
offering debt maintenance is itself a defect. Global NEXT: the placement
family leads; stdlib P0/P1 and the soundness queue follow.
#54 (owner): the provable library artifact is the C#-assembly SHAPE, never
its runtime — checked HIR + proven facts, hash-identified, an input to
compilation and never to execution. NO JIT, ever; no runtime loading, no
reflection, no runtime codegen. plan_stdlib.md §5 law 3 amended: the P2
snapshot is v0 of the artifact format, byte-identity gate unchanged.

#55 (owner, i-exact): declared == emitted, both directions, error-level,
per emission — no slack, no slack report, no "later". The shortfall
inventory, its ratchet, and the byte-pinned reconciliation table are
DELETED, replaced by the standing equality gate in three layers. (ii)
refused flatly: measurement never becomes the truth source; P5's CkLang
fold stays the end state. The 331 violations are the slice's work-list.
The #55 agent probed all 993 emitted fns: outgoing + explicit slots are
exact functions of source; saves and spills are regalloc2's free choices —
a fold reproducing them is measurement wearing the fold's name, refused.
#56 asks the one decision: call-crossing values placed in frame-plex slots
by the Σ law, making equality STRUCTURAL — #49's temporaries placement
arriving at the frame, the MANDATORY RULE's own sentence made machine
truth. Handoff overwritten to the true end-state: worktree clean at
20df4f61, the #46(2) trail-guard bill recorded as DUE in-phase per §3a,
the owner's order (finish the stack, then move the stdlib fully SOLL)
written as the queue.
Orchestrate agents · DONE never a green boundary · debt is NEVER OK (a
register is the queue it is paid from, never the ledger that makes debt
lawful) · small tasks · worktrees merged to wip_v2 · no meandering.
Plan index de-lied: plan_call_stack (#46) and plan_stdlib (#53) are
binding, not historical; plan_othello acknowledged as the live side track.
S7 was a false Tier-0 defect: match exhaustiveness IS enforced (E0719
names the missing variant) — pinned by match_missing_variant_arm_refuses.
T1 certified green: fn rec<8> check→run exits 42 —
fn_rec_bounded_recursion_runs, the green half of
unbounded_recursion_refuses_at_check's door. CELL_COUNT 374→376.
composes_error_does_not_accept_its_required_hint's Law paragraph de-staled
to the three-field trait (#46(3)).
type_err.md rewritten to three-field span-only Error (#46(3), #50);
effect_alloc.md and type_buffer.md reduced to condemnation/retirement
stubs (#52 — the arena-ownership and Rust borrow models die);
effects.md stops calling #52 open and drops Alloc<_> from the permitted
set; Int settled i64 everywhere; meta-stream re-expressed under the
Σ-offset law; residual stacktrace narration purged (#46(3)); dead link
labels fixed across thirteen stdlib pages; tier banner names the
outstanding SOLL/IST sweep. All six Alloc/Arena files open with their own
CONDEMNED banner (#49, #52, #51 r3) — condemned everywhere now includes
in themselves. tests/README rewritten from the actual tree; the
never-installed pre-commit hook layer is dead and its references with it
(CLAUDE.md §7: test.sh via test-rotate IS the gate). gap_selfhost.md
de-staled and its §3 breach discharged (S7/T1 rows retired with cells).
mdoorn manually merged commit 015a5d637d into master 2026-08-10 11:35:40 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
northgale/cklang-bootstrap!191
No description provided.