Skip to content

Commit 275b3ea

Browse files
committed
docs(tech-debt): split STDLIB-04 into 04a–04e per per-extern audit (Refs #175)
Replaces the single-row STDLIB-04 umbrella with 04a..04e — one row per PR, each tracking its own issue (#328 Mut, #329 error, #330 string_concat, #331 IO tests, #332 Pure close-as-done). Status column carries the audit finding (stub / missing / wired-but-untested / done) so the ledger reflects reality without a sibling audit doc. Refs #175.
1 parent 8137236 commit 275b3ea

1 file changed

Lines changed: 21 additions & 1 deletion

File tree

docs/TECH-DEBT.adoc

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,27 @@ complete; convergence ABI shared w/ Ephapax
159159
insert/set/remove/keys/values; AOT-gated (#136). Closes ESC-03 #247 (the
160160
#229 `Dict.t` target); unblocks the additive `Http.affine` headers→Dict
161161
upgrade
162-
|STDLIB-04 |Residual `extern` builtins → real implementations |S3 |open
162+
|STDLIB-04 |Residual `extern` builtins → real implementations (umbrella;
163+
split into 04a–04e 2026-05-24 per per-extern audit, one row per PR) |S3
164+
|open (5 sub-rows)
165+
|STDLIB-04a |Mut effect externs (`make_ref`/`get`/`set`) — currently
166+
stub: surface syntax exists in `lib/js_codegen.ml` (~L144) but no real
167+
wasm refcell or host-import lowering; round-trip unproven on all
168+
backends |S3 |open — issue #328
169+
|STDLIB-04b |Throws extern `error<T>` — missing in all backends
170+
(`lib/interp.ml`, `lib/js_codegen.ml`, `lib/codegen_deno.ml`); sibling
171+
`panic` is wired and `error` should mirror it (divergent `T`) |S3 |open
172+
— issue #329
173+
|STDLIB-04c |`string_concat` extern — no direct wiring found; `++`
174+
operator independently lowered. Decide: remove (operator-only) or wire
175+
to mirror `++` |S3 |open — issue #330
176+
|STDLIB-04d |IO externs (`print`/`println`/`read_line`/`read_file`/
177+
`write_file`) — wired on all backends but no dedicated hermetic e2e
178+
tests; test-debt, not impl-debt |S3 |open — issue #331
179+
|STDLIB-04e |Pure externs (`int_to_string`/`string_to_int`/
180+
`string_length`) — real + tested (`lib/interp.ml:615-633`,
181+
`lib/codegen_deno.ml:263-272`); bookkeeping to mark DONE |S3 |open —
182+
issue #332
163183
|===
164184

165185
== Section D — INT (ecosystem integration)

0 commit comments

Comments
 (0)