Skip to content

Commit 74a1dd0

Browse files
hyperpolymathclaude
andcommitted
docs(estate): #229 closure status — completable done, false scope removed, residue gated (Refs #229)
Post-port truthing from clearing the tail: - 4 completable per-file ports DONE (git-scripts#9, gsa#14, invariant-path#4, standards#142). - Canonical-map additions: import P[as A]->use P[as A];; single block-module->file-header (structural Tier-1, parser.mly:130-169, oracle-verified). - ESC-04 #262 filed: multi-block-module-per-file has no clean target. - Reclassified OUT permanently: developer-ecosystem/proof-burrower/bofj-kitt (every flagged file = vendored affinescript repo + comment-FP mutable; 0 real files); standards rescript/ ecosystem files (policy hands-off). - Gated remainder precisely bounded: idaptik-dlc-vm (cross-module loader/layout = INT-02, not per-file RS), burble (ESC-01/02/03/04), stapeln (cross-module/deeper), idaptik (ESC-01). The tail is now fully attributed to ESC-01..04 + INT-02 — no unbounded work. docs-only. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 72a62c2 commit 74a1dd0

1 file changed

Lines changed: 69 additions & 5 deletions

File tree

docs/RESCRIPT-ELIMINATION.adoc

Lines changed: 69 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -247,11 +247,75 @@ interop artefact (burble's standing caveat), before removal.
247247
oracle-peeled, not scanner-visible). Each oracle-validated "Type
248248
checking passed" on `main`. `panll` *excluded* (no listed RS construct
249249
— scanner FP; see the lower-bound-triage warning).
250-
. *`burble`* (32): Tier-1 mechanical pass first (re-validated), Tier-2
251-
`mutable`/labelled per-case, Tier-3 constructs blocked on ESC-01..03.
252-
. *Small tail:* `standards`, `developer-ecosystem`, `stapeln`,
253-
`proof-burrower`, `idaptik`, `bofj-kitt` (≤4 RS files each).
254-
. *`idaptik-dlc-vm`* (28): after INT-01 #178 resolver lands (Tier-4 gate).
250+
. See *§#229 closure status* for the truthed disposition of `burble`,
251+
the small tail, and `idaptik-dlc-vm`.
252+
253+
== #229 closure status (post-port truthing, 2026-05-19)
254+
255+
Doing the ports collapsed the apparent scope. The honest end-state:
256+
257+
=== Completable per-file ports — DONE
258+
259+
`git-scripts` #9 · `game-server-admin` #14 · `invariant-path` #4 ·
260+
`standards/session-management-standards/.../system_update_gui.affine` #142.
261+
Each oracle-validated "Type checking passed" on `main`. Transform:
262+
`List(X)`→`[X]`, expr record literals `{`→`#{`, ReScript string `+`→`++`,
263+
ReScript `import P [as A]`→`use P [as A];`, single block-module
264+
`module P { body }`→`module P;`-header-first + dedented body.
265+
266+
=== Canonical-map additions (from doing the ports)
267+
268+
* *Structural Tier-1:* ReScript `import P[.Q] [as A]` → `use P.Q [as A];`
269+
(`parser.mly:166-169`); *single* block-module `module P { body }` →
270+
`module P;` header (hoisted before imports — `parser.mly:130-134`
271+
requires the header first), braces dropped, body dedented one level.
272+
Oracle-verified to parse.
273+
* *Tier-3 ESC-04 (#262):* *multi*-block-module per file (e.g.
274+
`standards/lol/.../OpenCyc.affine`) has *no clean target* —
275+
AffineScript is one-module-per-file. Escalated, not guessed.
276+
277+
=== Reclassified OUT of #229 — permanently (scanner over-scope)
278+
279+
* `developer-ecosystem`, `proof-burrower`, `bofj-kitt`: *every* flagged
280+
file is a *vendored copy of the affinescript repo itself*
281+
(`affinescript/stdlib/effects.affine`,
282+
`affinescript/tests/conformance/run_all.affine`,
283+
`…/docs/guides/warmup/02_ownership.affine`); the `mutable` hits are
284+
*comments* ("// State effect - mutable references", "// ── mut …"). Same
285+
discipline as the affinescript-own-corpus exclusion + the `panll` FP.
286+
*0 real #229 files in these three repos.*
287+
* `standards/a2ml/prototype/rescript/src/{A2ml,Json}.affine`: inside a
288+
`rescript/` *ecosystem* folder → policy hands-off (as `.res`), not a
289+
port target.
290+
291+
=== Gated remainder — precisely bounded (not open-ended)
292+
293+
[cols="2,1,4"]
294+
|===
295+
|Repo |n |Gate
296+
297+
|`idaptik-dlc-vm` |28 |RS surface *mechanically eliminated* (block-module
298+
+ import-as transforms verified to parse), but every file then hits
299+
`Resolve.UndefinedModule` — the module-path↔file-layout
300+
(`src/State.affine` declaring `module Vm.State;`) does not match the
301+
loader. *Cross-module graph coherence = INT-02 loader-bridge*, explicitly
302+
out of #229's per-file contract. Not a per-file RS issue.
303+
|`burble` |32 |Tier-3 dominated: `%%raw` (ESC-01 #245), `JSON.t`
304+
(ESC-02 #246), `Dict.t` (ESC-03 #247), plus block-modules (ESC-04 #262)
305+
and Tier-2 `mutable`/labelled. Caveat cleared, but not completable until
306+
the ESCs land.
307+
|`stapeln` |3 |`module …;` already file-header; not per-file completable —
308+
`UndefinedVariable` (AuthTypes), `Unify(String,Int)` (Metrics),
309+
parse-error 84 + `use Json;` (PolicyEngine, ESC-02-adjacent). Cross-module
310+
/ deeper, not mechanical RS surface.
311+
|`idaptik` |3 |`%%raw` (Main/StartupError) → ESC-01 #245; `Boot` =
312+
`mutable` comment-FP.
313+
|===
314+
315+
The remaining #229 work is now *fully attributed* to ESC-01..04
316+
(#245/#246/#247/#262) + the INT-02 cross-module loader/layout concern —
317+
no unbounded "tail". This is the "once and for all" closure: completable
318+
done, false scope removed, residue precisely gated.
255319

256320
== Reproduce / see also
257321

0 commit comments

Comments
 (0)