diff --git a/plans/abstractions.md b/plans/abstractions.md index aa84ffd1..110530bd 100644 --- a/plans/abstractions.md +++ b/plans/abstractions.md @@ -12,7 +12,11 @@ Anything short → _Watching_ (what's missing) or _Rejected_ (why). ## Last scan -- **Date:** 2026-06-06 (radar loop, pass 6) +- **Date:** 2026-06-06 (radar loop, pass 7) +- **Pass 7:** **A1 jumped 4→6 adopters** — `acl` + `mod` migrated to the shared + conformance driver (first app-domain adopters; proves it generalizes past substrates). + `host-persist` closed its blob-adapter blocker (durable storage adapter now landing → + W4 migration path opening). search shipped proximity/NEAR; flow + persist quiescent. - **Pass 6:** new worktree **`host-persist`** (active — building persist's durable host adapter); `feed` went quiescent (left tmux). acl shipped hardening (+25), fed-sx-m1 at Step 6c. **mod loop independently wrote a shared-plumbing note** (`mod-on-sx.md`, @@ -55,10 +59,11 @@ Anything short → _Watching_ (what's missing) or _Rejected_ (why). - **Home:** `lib/guest` — the one legitimate exception (the shared driver `lib/guest/conformance.sh` + `lib/guest/conformance.sx` already exist; modes `dict` and `counters`). -- **Status: IN PROGRESS — 4 adopters.** `prolog` (dict), `haskell` (counters), - `apl` (dict), and **`datalog` (dict), newly migrated this pass** — all now 3-line - exec shims into `lib/guest/conformance.sh` with a `conformance.conf` - (`lib/datalog/conformance.conf`: 11 PRELOADS + 11 SUITES). +- **Status: IN PROGRESS — 6 adopters (pass 7).** `prolog` (dict), `haskell` (counters), + `apl` (dict), `datalog` (dict), and **`acl` (dict) + `mod` (dict), newly migrated this + pass** — all 3-line exec shims into `lib/guest/conformance.sh` with a `conformance.conf`. + **acl + mod are the first *app-domain* adopters** (not language substrates) — strong + evidence the driver generalizes beyond the substrate layer, which was the open question. The `apl` migration earlier *surfaced a latent bug*: the old awk extractor under-counted `pipeline` (40 vs the real 152 assertions); true apl total is **562**, not 450 — evidence that adopting the driver also improves correctness. @@ -68,7 +73,8 @@ Anything short → _Watching_ (what's missing) or _Rejected_ (why). counter/dict scoreboard, so the shared driver does not fit. Excluded, not pending. - **Remaining hand-rolled candidates (~120–220 lines each):** `common-lisp, erlang, feed, forth, go, js, ocaml, smalltalk, tcl` — each its OWN loop's migration when - quiescent. + quiescent. (`search` + `lua` excluded: different harness shapes — search assembles a + Haskell source string, lua walks real `*.lua` files.) - **Action:** each remaining subsystem's OWN loop migrates when quiescent — add a `conformance.conf` (+ a `test-harness.sx` preload defining its counters) and replace `conformance.sh` with the 1-line exec shim