plan: embedding-abi-m1.1 — linkable artifact + scalar C entrypoint

7-task decomposition of docs/specs/2026-05-18-embedding-abi-m1.md
(committed 51160e9, user-approved, grounding-check PASS).

Task 1 (FIXED FIRST, per spec sequencing): CLI build-path
MissingEntryMain baseline pin, RED-first, before any staticlib code
— layered on the already-green codegen-unit pin lib.rs:3314.
Tasks 2-7: additive FnDef.export (~95-site compile-driven thread,
hash-stable) -> Form-A (export "<sym>") round-trip -> scalar-only
+ effect-free check gate (two CheckError Error variants, clause-3
in code) -> codegen Target::StaticLib (suppress @main +
MissingEntryMain, emit @<sym> forwarder) -> ail build
--emit=staticlib (lib<entry>.a + separate libailang_rt.a) ->
C host-harness E2E coherent-stop proof + DESIGN.md honesty.

ailang-plan-recon file-map Boss-verified against source (ast.rs /
parse.rs / print.rs / form_a.md / check+codegen lib.rs / main.rs /
design_schema_drift.rs / DESIGN.md all re-read; recon locations
accurate). Both crate-wide compile-break tasks scrubbed for
planner self-review item 7 (all callers threaded inside the
breaking task before its 0-errors gate). Roadmap M1 context line
refreshed: plan landed, next = implement.
This commit is contained in:
2026-05-18 14:02:55 +02:00
parent 51160e99a6
commit b0bd7efeaf
2 changed files with 1568 additions and 2 deletions
+6 -2
View File
@@ -186,8 +186,12 @@ work progresses.
+ separate `libailang_rt.a` / no runtime lifecycle API /
`--emit=staticlib` suppresses `@main`+`MissingEntryMain` /
scalar+effect-free export gate / Task 1 fixed =
`MissingEntryMain` build-path baseline pin). Next: `planner`
in a fresh session (user-chosen session shape).
`MissingEntryMain` build-path baseline pin). Plan landed
2026-05-18 `docs/plans/embedding-abi-m1.1.md` (7 tasks; recon
file-map Boss-verified against source; both compile-break
tasks — `FnDef.export` ~95-site thread, `lower_workspace_inner`
`Target` param — scrubbed for self-review-item-7 ordering).
Next: `implement`.
- [ ] **\[milestone\]** Embedding ABI — M2: per-thread runtime
context + concurrency safety. `ailang_ctx_new()/_free` threaded