Skip to content

Commit 714b0fe

Browse files
hyperpolymathclaude
andcommitted
docs(state): record 2026-05-03 a/b/c sessions + close shipped issue drafts
- .machine_readable/6a2/STATE.a2ml: session notes for 2026-05-03 a/b/c documenting typed-wasm cross-module closure, Node backend Phase 1, and the extern + array + PatCon batch. - docs/guides/frontier-programming-practices/AI.a2ml: section updates reflecting the new compiler features and binding patterns. - .claude/CLAUDE.md: AI-assistant context refresh. - issues-drafts/02-array-type-syntax-not-parseable-in-user-source.md: marked closed (shipped via [T] array sugar in commit 02eb042). - issues-drafts/04-extern-declarations-not-parseable.md: marked closed (shipped via extern fn / extern type in commit 02eb042). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent c926dfe commit 714b0fe

5 files changed

Lines changed: 67 additions & 12 deletions

File tree

.claude/CLAUDE.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,17 +70,19 @@ Both are FOSS with independent governance (no Big Tech).
7070

7171
### TypeScript Exemptions (Approved)
7272

73-
The "no new TypeScript" rule has nine approved exemptions in this repo. These paths are *not* policy violations — they are documented carve-outs because the file format or downstream consumer requires TypeScript:
73+
The "no new TypeScript" rule has eight approved exemptions in this repo. These paths are *not* policy violations — they are documented carve-outs because the file format or downstream consumer requires TypeScript:
7474

7575
| Path | Files | Rationale | Unblock condition |
7676
|---|---|---|---|
7777
| `packages/affine-js/types.d.ts` | 1 | TypeScript declaration file — the public API contract by which JS callers consume AffineScript-compiled artefacts. `.d.ts` is TS by definition. | Generate from canonical compiler output (issue: see ROADMAP). |
7878
| `packages/affine-ts/types.d.ts` | 1 | Same, for TS callers. | Same as above. |
79-
| `editors/vscode/src/extension.ts` | 1 | VS Code extension entry point. Path pinned by `package.json`'s `main` field. | AffineScript issue #35 (Node-target codegen). |
8079
| `affinescript-deno-test/*.ts` | 6 | Deno-based test harness for AffineScript itself: `cli.ts`, `mod.ts`, `lib/{compile,discover,runner}.ts`, `example/smoke_driver.ts`. Deno test runner is TS-native. | AffineScript stdlib + Deno bindings (no scheduled issue). |
8180

8281
Adding to this list requires explicit user approval and an unblock condition. New TypeScript files outside this list are still banned per the policy table above.
8382

83+
**Closed exemptions:**
84+
- `editors/vscode/src/extension.ts` — closed 2026-05-03 by issue #35 Phase 3 (Node-target codegen + Vscode bindings landed). Source of truth is now `editors/vscode/src/extension.affine`, compiled to `out/extension.cjs`. Re-introducing the .ts file is blocked by `tools/check-no-extension-ts.sh` (wired into `just check` and `.github/workflows/ci.yml`).
85+
8486
The 5 external references to `affinescript-deno-test/` (CI workflow, status docs, history docs) and the 3 references to `packages/affine-{js,ts}/` (status docs, Deno config) are why physical relocation into a `vendor/` subtree was rejected — the relocation cost exceeded the visibility benefit when the directories are already named clearly.
8587

8688
### Package Management

0 commit comments

Comments
 (0)