roadmap: effect-doc-honesty closed (shipped a29700c) — collapse stale [~] entry

This commit is contained in:
2026-05-16 13:32:15 +02:00
parent f3fdacd871
commit cac08eeb94
+10 -27
View File
@@ -221,33 +221,16 @@ clean. Pick the next milestone from P2.)_
- [ ] **\[todo\]** 21'h iteration — final 21' carry-over (latency
methodology pass). Numbering kept for continuity with the 21' arc.
- [~] **\[todo\]** DESIGN.md effect-prose is fiction — standalone
documentation-honesty tidy (split out 2026-05-16 from the rejected
effect-op-arg-modes bundle; in flight via planner→implement). Three
load-bearing effect-system claims in DESIGN.md are presently false
and mislead every future brainstorm + the architect, who read
DESIGN.md as truth: (a) DESIGN.md:172/2722 say `IO` **and**
`Diverge` are wired-up built-in ops — `Diverge` has zero code in
any crate (not registered, never injected, no string literal);
reconcile to "only `IO` (`io/print_str`) is wired up; `Diverge`
reserved/unimplemented", modelled on Decision 4's
reserved-but-opaque refinements precedent. (b) DESIGN.md:171-172
"the effect set is row-polymorphic (`![IO | r]`)" — no row variable
/ `EffectRow` exists anywhere; effect sets are flat string
collections unified by set-equality; remove the claim (a flat
closed set is *more* locally legible — Decision 3 pillar — so this
is honesty, not a concession; pillar-doc edit, flag at review).
(c) `crates/ailang-core/src/ast.rs:438-439` `Term::Do` doc-comment
"resolved against the effect-handler table at link time" — there is
no handler table; it is an `IndexMap` lookup at typecheck + a
literal codegen `match`; correct it. Lockstep: `form_a.md:226,358`
+ CLI-help `main.rs:289` Diverge mentions reconciled. Guard: a new
doc-presence test (false strings absent, corrected text present).
No language/codegen change; pure documentation truth. Grounding
triple-verified 2026-05-16 (three `ailang-grounding-check` PASSes).
- context: surfaced by the effect-subsystem recon during the
retired effect-op-arg-modes brainstorm; see the Stateful-islands
"UNDER RE-THINK" note for why the bundle was rejected.
- [x] **\[todo\]** DESIGN.md effect-prose is fiction — standalone
documentation-honesty tidy. Shipped 2026-05-16 as iter
effect-doc-honesty (a29700c): the three false effect-system claims
(row-polymorphic `![IO | r]`; `IO`+`Diverge` both wired up;
`Term::Do` "effect-handler table at link time") reconciled to the
real flat-closed-set / IO-only / `IndexMap`+codegen-`match`
mechanism, satellite lockstep done, guarded by a 4-test
doc-presence pin. No language/checker/codegen change.
- context: per-iter journal
`docs/journals/2026-05-16-iter-effect-doc-honesty.md`.
- [ ] **\[todo\]** `io/print_float` always-emit-`.0` — surface
printer always emits `.` or `e/E` so re-lex routes to Float;
the runtime printer (`printf("%g\n", v)`) doesn't, so `2.0`