You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
Adds the in-flight TS→AffineScript campaign to the canonical standards
ROADMAP. Codifies 4-layer architecture, 7-step order, dependency graph,
and bidirectional links to umbrella issue #239 + 7 step issues
#240–#246.
Mirrors the same structure as the memory tracker so the roadmap, issues,
and tracker are in lockstep.
## Test plan
- [x] Layer-1 PRs referenced are merged or armed (hypatia#375/#378,
standards#235/#238, reposystem#82)
- [x] All 8 issues (umbrella + 7 steps) filed in standards (#239–#246)
- [ ] Project-board URL populated after auth scope refresh
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Multi-session estate-wide migration of TypeScript to AffineScript, parallel to the completed V→Zig sweep (2026-05-28) but at very different scale (~50-80 PRs across ~38 repos vs V→Zig's 16-PR single session).
|AffineScript stdlib must cover the host surface each port needs. Exists today: `Deno.affine` (readTextFile/writeTextFile/readDirNames/path), `json.affine` v0.3 (Json sum type + Zig FFI parse), `Vscode.affine` (55 fns), `VscodeLanguageClient.affine`. Known gaps: recursive walk, regex, Set, general `Map<K,V>`, `Date.toISOString`, WebExt/WP-admin/Zotero APIs.
191
+
|Partial (step 3 discharges as ports surface gaps)
192
+
193
+
|**Layer 3 — Physical file ports**
194
+
|~285 estate-authored `.ts`/`.tsx` files across 38 repos (post-carve-out). Unblocked: ~215 / ~30 repos. Plugin-host-blocked: ~70 / 5 repos. Each port is a non-trivial rewrite, not a shim swap.
195
+
|In flight
196
+
197
+
|**Layer 4 — Parallel dependency: AS bindings top-50 roadmap**
198
+
|Plugin-host APIs (WebExtensions, WP-admin, Zotero, MailExt) must be bound in `affinescript/stdlib/` before the corresponding plugin repos can migrate. Tracked separately at `project_affinescript_bindings_top50_roadmap`.
199
+
|Multi-week parallel
200
+
|===
201
+
202
+
==== Step ordering (value-per-effort)
203
+
204
+
[cols="1,4,2", options="header"]
205
+
|===
206
+
|Step |Description |Issue
207
+
208
+
|**①** |SEED PORT — phronesis 54L VSCode extension to `.affine` (binding coverage confirmed)
Every per-repo PR runs the pre-PR ownership gate (`gh repo view hyperpolymath/<repo> --json owner,isFork,parent` → `owner=hyperpolymath, isFork=false, parent=null`). Upstream forks and archived repos are carve-outs in the hypatia rule and never touched.
0 commit comments