|
10 | 10 |
|
11 | 11 | (project-context |
12 | 12 | (name "ephapaxiser") |
13 | | - (description "Enforce single-use linear type semantics on resources via Ephapax. |
14 | | - Analyses code for resource handles, inserts Ephapax linear type wrappers, |
15 | | - enforces exactly-once usage, prevents leaks/double-free/use-after-free.") |
16 | | - (status "scaffold-documented") |
17 | | - (priority "—") |
| 13 | + (description "Enforce single-use linear type semantics on resources via Ephapax") |
| 14 | + (status "alpha") |
| 15 | + (priority "medium") |
18 | 16 | (ecosystem "-iser family (https://github.com/hyperpolymath/iseriser)")) |
19 | 17 |
|
20 | 18 | (current-position |
21 | | - (phase "scaffold-documented") |
22 | | - (completion-percentage 10) |
23 | | - (milestone "Architecture defined, CLI scaffolded, Idris2 ABI types bespoke, |
24 | | - Zig FFI with linearity tracking, documentation complete")) |
| 19 | + (phase "phase-1-complete") |
| 20 | + (completion-percentage 45) |
| 21 | + (milestone "Phase 1 complete — resource detection, wrapper generation, linearity analysis") |
| 22 | + (what-changed |
| 23 | + "2026-03-21: Phase 1 complete. Resource detection, Ephapax wrapper generation, linearity analysis, multi-language codegen stubs, bespoke manifest parsing. Integration tests passing.")) |
25 | 24 |
|
26 | 25 | (route-to-mvp |
27 | | - (step 1 "Implement resource detection: parse source files for acquire/release patterns") |
28 | | - (step 2 "Generate Ephapax wrappers for detected resource classes") |
29 | | - (step 3 "Linearity enforcement: compile-time errors for leak/double-free/use-after-free") |
30 | | - (step 4 "Idris2 proofs: LinearResource, UsageCount, ConsumeProof (Idris2 wins rule)") |
31 | | - (step 5 "Multi-language codegen: Rust Drop wrappers, C cleanup attrs, Zig defer") |
32 | | - (step 6 "Integration tests with real-world codebases")) |
| 26 | + (step 1 "DONE — Resource handle detection in source files") |
| 27 | + (step 2 "DONE — Ephapax wrapper generation with linear enforcement") |
| 28 | + (step 3 "DONE — Linearity analysis (leak/double-free/use-after-free)") |
| 29 | + (step 4 "DONE — Multi-language codegen stubs (Rust Drop/C cleanup/Zig defer)") |
| 30 | + (step 5 "DONE — Bespoke manifest parsing and CLI") |
| 31 | + (step 6 "TODO — End-to-end linearity enforcement on real codebase") |
| 32 | + (step 7 "TODO — Idris2 proofs (LinearResource, UsageCount, ConsumeProof)") |
| 33 | + (step 8 "TODO — PanLL panel and BoJ cartridge integration")) |
33 | 34 |
|
34 | 35 | (blockers-and-issues |
35 | | - (none "Project is in scaffold phase — no blockers yet")) |
| 36 | + (note "Idris2 proofs for linearity must follow Idris2-wins-over-Ephapax rule")) |
36 | 37 |
|
37 | 38 | (critical-next-actions |
38 | | - (action "Implement resource handle detection in Rust source files") |
39 | | - (action "Generate first Ephapax wrapper for file handle use case") |
40 | | - (action "Write end-to-end test: wrap file handle, enforce close-once"))) |
| 39 | + (action "End-to-end test: wrap file handle, enforce close-once") |
| 40 | + (action "Write Idris2 proofs for LinearResource and ConsumeProof") |
| 41 | + (action "Test with real Rust codebase resource detection"))) |
0 commit comments