|
1 | | -;; SPDX-License-Identifier: PMPL-1.0-or-later |
2 | | -;; Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
3 | | -;; STATE.a2ml — Current project state for chapeliser |
| 1 | +# SPDX-License-Identifier: PMPL-1.0-or-later |
| 2 | +# Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
| 3 | +# |
| 4 | +# STATE.a2ml — Chapeliser project state |
| 5 | +[metadata] |
| 6 | +project = "chapeliser" |
| 7 | +version = "0.1.0" |
| 8 | +last-updated = "2026-03-21" |
| 9 | +status = "active" |
| 10 | +session = "converted from scheme — 2026-04-11" |
4 | 11 |
|
5 | | -(state |
6 | | - (metadata |
7 | | - (version "0.1.0") |
8 | | - (last-updated "2026-03-21") |
9 | | - (author "Jonathan D.A. Jewell")) |
| 12 | +[project-context] |
| 13 | +name = "Chapeliser" |
| 14 | +purpose = """General-purpose Chapel acceleration framework""" |
| 15 | +completion-percentage = 45 |
10 | 16 |
|
11 | | - (project-context |
12 | | - (name "chapeliser") |
13 | | - (description "General-purpose Chapel acceleration framework") |
14 | | - (status "alpha") |
15 | | - (priority "2") |
16 | | - (ecosystem "-iser family (https://github.com/hyperpolymath/iseriser)")) |
| 17 | +[position] |
| 18 | +phase = "phase-1-complete" # design | implementation | testing | maintenance | archived |
| 19 | +maturity = "experimental" # experimental | alpha | beta | production | lts |
17 | 20 |
|
18 | | - (current-position |
19 | | - (phase "phase-1-complete") |
20 | | - (completion-percentage 45) |
21 | | - (milestone "Core implementation complete — Chapel/Zig/C codegen, Idris2 ABI proofs, 15 passing tests") |
22 | | - (what-changed |
23 | | - "2026-03-21: Phase 1 complete. Chapel codegen produces compilable .chpl with " |
24 | | - "5 partition strategies (per-item, chunk, adaptive/DynamicIters, spatial/BlockDist, keyed), " |
25 | | - "5 gather strategies (merge, reduce, tree-reduce, stream, first), retry logic, checkpoint. " |
26 | | - "Buffer-based FFI (not pointer-based) for cross-locale safety. Idris2 ABI proofs for " |
27 | | - "partition completeness, gather conservation, serialisation round-trip, retry isolation. " |
28 | | - "Zig reference FFI implementation. Rust ABI types with runtime verification. " |
29 | | - "Cluster config parsing (cluster.toml → GASNET/SSH env vars). 15 tests passing.")) |
| 21 | +[route-to-mvp] |
| 22 | +milestones = [ |
| 23 | + # No milestones recorded |
| 24 | +] |
30 | 25 |
|
31 | | - (route-to-mvp |
32 | | - (step 1 "DONE — Chapel codegen with all partition/gather strategies") |
33 | | - (step 2 "DONE — Idris2 ABI proofs (Types, Layout, Foreign)") |
34 | | - (step 3 "DONE — Zig FFI bridge generator + reference implementation") |
35 | | - (step 4 "DONE — Cluster config parsing and build release mode") |
36 | | - (step 5 "TODO — End-to-end integration with panic-attacker") |
37 | | - (step 6 "TODO — Shell completions and additional examples") |
38 | | - (step 7 "TODO — PanLL panel and BoJ cartridge integration")) |
| 26 | +[blockers-and-issues] |
| 27 | +issues = [ |
| 28 | + "Chapel compiler not installed on dev machine — generated code verified by structure, not compilation", |
| 29 | +] |
39 | 30 |
|
40 | | - (blockers-and-issues |
41 | | - (note "Chapel compiler not installed on dev machine — generated code verified by structure, not compilation") |
42 | | - (note "panic-attacker integration requires panic-attacker to export C-ABI functions")) |
| 31 | +[critical-next-actions] |
| 32 | +actions = [ |
| 33 | + "End-to-end test: generate + compile + run with panic-attacker workload", |
| 34 | + "Add shell completions (bash, zsh, fish)", |
| 35 | + "Write additional examples (Monte Carlo, image processing)", |
| 36 | +] |
43 | 37 |
|
44 | | - (critical-next-actions |
45 | | - (action "End-to-end test: generate + compile + run with panic-attacker workload") |
46 | | - (action "Add shell completions (bash, zsh, fish)") |
47 | | - (action "Write additional examples (Monte Carlo, image processing)"))) |
| 38 | +[maintenance-status] |
| 39 | +last-run-utc = "2026-03-21T00:00:00Z" |
| 40 | +last-result = "unknown" # unknown | pass | warn | fail |
0 commit comments