Skip to content

Commit d9e7172

Browse files
hyperpolymathclaude
andcommitted
docs: reconcile stale "#255 blocker" refs — loop-codegen defect is fixed
Issue #255 (for-in/while loop bodies never execute in compiled wasm) was fixed in PR #257 (commit 85488d7, an ~8-line array-offset correction) and the issue was closed 2026-05-19. Verified on current main: freshly compiled loops execute their bodies (while->55, for->15, the #255 combo fixture->34). But several roadmap docs still advertised #255 as a live runtime blocker, falsely gating INT-08 (DOM reconciler #183), INT-11 (browser parity), and the DOM bindings row on a resolved bug. Reconciled 7 references across: - docs/ECOSYSTEM.adoc (satellite registry + INT-08/INT-11 rows) - docs/bindings-roadmap.adoc (DOM row #7) - docs/TECH-DEBT.adoc (INT-08 row) Reconciliation is honest: states #255 is fixed (PR #257, closed 2026-05-19) and marks the DOM/INT-08 end-to-end runtime as "to be re-verified" rather than asserting it runs (not driven end-to-end here). Docs-only. Verified (dune 3.24.0): dune build exit 0, doc-truthing intact, soundness ledger all-5-properties hold. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent e794955 commit d9e7172

3 files changed

Lines changed: 17 additions & 12 deletions

File tree

docs/ECOSYSTEM.adoc

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,10 @@ The contract is *narrower than older prose claimed* and is exactly this:
148148
|`affinescript-dom` |reconciler (compiles) |INT-08 (#183): `src/dom.as`
149149
(non-parsing 39-line stub) renamed to canonical `src/dom.affine` and
150150
replaced with a real VDOM + render + mount + minimal-mutation
151-
reconciler that compiles end-to-end. Runtime gated on #255 (pre-existing
152-
wasm loop-codegen defect).
151+
reconciler that compiles end-to-end. The #255 wasm loop-codegen defect that
152+
gated its runtime is *FIXED* (PR #257; issue closed 2026-05-19), so the
153+
runtime is no longer blocked by it; end-to-end DOM runtime remains to be
154+
re-verified.
153155

154156
|`affinescript-pixijs` |skeleton |Migration-prerequisite scaffold (#56).
155157

@@ -168,8 +170,8 @@ canonical `affinescript tea-bridge` + a re-entrancy fixture.
168170
shipped + closed 2026-05-31 as `packages/affine-js/loader.js` — already
169171
host-agnostic (Deno/Node/browser parity). Whether the satellite repo
170172
still earns its keep (vs. folding into `affine-js`) is the open question
171-
in #489; revisit when INT-08 reconciler runtime (#183) unblocks (#255)
172-
and dictates any DOM-specific loader surface.
173+
in #489; revisit when INT-08 reconciler runtime (#183) is re-verified (#255
174+
loop-codegen fixed via #257) and dictates any DOM-specific loader surface.
173175

174176
|`affinescript-cadre` |scaffold |Was imaginary until #175. Router/navigation
175177
satellite (internal `lib/tea_router.ml` contract exists).
@@ -268,16 +270,18 @@ shipped (`TeaApp`/`parseTeaLayout`, Linear-msg enforced); INT-01 dep
268270
cleared (#253). Router/nav = separate INT-09
269271
|INT-08 |DOM reconciler in `affinescript-dom` |#183 |reconciler
270272
implemented + compiles (resolve→typecheck→codegen→wasm); `.as`→`.affine`
271-
corrected. INT-02 dep cleared. Runtime BLOCKED by #255 (wasm
272-
loop-codegen defect, pre-existing)
273+
corrected. INT-02 dep cleared. #255 (wasm loop-codegen defect) that gated
274+
the runtime is FIXED (PR #257, closed 2026-05-19); runtime to be re-verified
275+
end-to-end
273276
|INT-09 |`affinescript-cadre` router/navigation runtime |ledger-only
274277
|planned (blocked by INT-07)
275278
|INT-10 |LSP distribution (`affinescript-lsp`) |#282 |unblocked —
276279
distribution decided (ADR-019: Releases + thin Deno/JSR shim, #260).
277280
Consumes the shim once #260 S2/S3 land
278281
|INT-11 |Browser host parity (DOM loader + reconciler end-to-end) |
279-
ledger-only |planned (INT-02 dep cleared 2026-05-31 via #179; still
280-
blocked by INT-08 runtime via #255). Satellite-repo question = #489.
282+
ledger-only |planned (INT-02 dep cleared 2026-05-31 via #179; #255 that
283+
gated INT-08 runtime is fixed via #257 — pending INT-08 runtime
284+
re-verification). Satellite-repo question = #489.
281285
|INT-12 |typed-wasm convergence: AffineScript-emitted fixtures into the
282286
typed-wasm cross-compat suite (closes the Stage-E runway) |ledger-only |
283287
planned (Stage E; coordinates with `hyperpolymath/typed-wasm` C5.1)

docs/TECH-DEBT.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,8 @@ licence in root `LICENSE`).
423423
|INT-07 |`affinescript-tea` runtime |S2 |#182 runtime + run loop shipped
424424
(TeaApp/parseTeaLayout, Linear-msg enforced); INT-01 cleared (#253)
425425
|INT-08 |DOM reconciler |S2 |#183 implemented + compiles; `.as`→`.affine`
426-
fixed; runtime blocked by #255 (wasm loop-codegen defect)
426+
fixed; #255 (wasm loop-codegen defect) that gated the runtime is fixed
427+
(PR #257, closed 2026-05-19) — runtime to be re-verified end-to-end
427428
|INT-10 |`affinescript-lsp` distribution |S2 |**DONE end-to-end live**
428429
(#282, ADR-019 S4): LSP resolves the compiler via `AFFINESCRIPT_COMPILER`
429430
→ `affinescript` on `PATH` → the `@hyperpolymath/affinescript` shim

docs/bindings-roadmap.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,10 @@ no further significant ReScript → AffineScript work is tractable.
8484
|idaptik `src/app/multiplayer/PhoenixSocket.res` + LobbyManager; needed for any multiplayer / sync-server feature.
8585

8686
|7
87-
|*DOM* — fill the `for-in` / `while` codegen gap (issue #255) so the existing reconciler runs
88-
|`●` / `◯` blocked-by-#255
87+
|*DOM* — re-verify the reconciler runs end-to-end (the `for-in` / `while` codegen gap, issue #255, is fixed)
88+
|`●` / `◯` #255-fixed; re-verify runtime
8989
|`affinescript-dom`
90-
|187-line virtual-DOM + reconciler exists; blocked on a wasm-codegen defect. Unblocking #255 turns this from compile-only to runtime-usable. *Not a binding gap — a codegen bug.*
90+
|187-line virtual-DOM + reconciler exists and compiles. The wasm loop-codegen defect (#255) that blocked its runtime is *fixed* (PR #257, issue closed 2026-05-19); end-to-end runtime remains to be re-verified. *Was not a binding gap — a codegen bug, now resolved.*
9191

9292
|8
9393
|*WebGL / Canvas2D context* (HTMLCanvasElement, getContext, drawImage, fillRect, transform stack)

0 commit comments

Comments
 (0)