|
1 | 1 | # SPDX-License-Identifier: MPL-2.0 |
2 | 2 | # Copyright (c) 2026 Jonathan D.A. Jewell (hyperpolymath) <j.d.a.jewell@open.ac.uk> |
3 | 3 | # |
4 | | -# STATE.a2ml — Project state checkpoint (META-TEMPLATE) |
| 4 | +# STATE.a2ml — Project state checkpoint for kategoria. |
5 | 5 | # |
6 | | -# This is the STATE file for kategoria. |
7 | | -# When consumed by a new project, replace {{PLACEHOLDER}} tokens |
8 | | -# and customize sections below for the target project. |
| 6 | +# HISTORY NOTE: until 2026-07-21 this file was unedited RSR-template |
| 7 | +# residue describing the TEMPLATE repository ("95% complete, production, |
| 8 | +# maintenance"). Everything below is measured project state. |
9 | 9 |
|
10 | 10 | [metadata] |
11 | 11 | project = "kategoria" |
12 | | -version = "0.2.0" |
13 | | -last-updated = "2026-02-28" |
| 12 | +version = "0.1.0" |
| 13 | +last-updated = "2026-07-21" |
14 | 14 | status = "active" # active | paused | archived |
15 | 15 |
|
16 | 16 | [project-context] |
17 | 17 | name = "kategoria" |
18 | | -purpose = "Canonical RSR-compliant repository template providing scaffolding for all hyperpolymath projects — including CI/CD, AI manifests, ABI/FFI standards, container ecosystem, and governance infrastructure." |
19 | | -completion-percentage = 95 |
| 18 | +purpose = "The Type Safety Challenge: five independent language-implementation routes (α Extend Idris 2, β Dyadic, γ Aspect, δ Aggregate, ε Clean Slate) exploring all 10 known levels of type safety. Named after Aristotle's Categories." |
| 19 | +completion-percentage = 25 |
20 | 20 |
|
21 | 21 | [position] |
22 | | -phase = "maintenance" # design | implementation | testing | maintenance | archived |
23 | | -maturity = "production" # experimental | alpha | beta | production | lts |
| 22 | +phase = "implementation" # design | implementation | testing | maintenance | archived |
| 23 | +maturity = "alpha" # experimental | alpha | beta | production | lts |
| 24 | + |
| 25 | +[verification] |
| 26 | +# Enforced by scripts/check-idris2-proofs.sh (Proof Gate workflow on push/PR). |
| 27 | +# The gate HARD-FAILS when idris2 is absent and rejects axiom smuggling |
| 28 | +# (postulate / believe_me / assert_total / %hint outside comments). |
| 29 | +proof-modules = 13 |
| 30 | +proof-modules-passing = 13 |
| 31 | +provers-verified = ["Idris 2 0.7.0", "Idris 2 0.8.0 (nixpkgs)"] |
| 32 | +last-verified = "2026-07-21" |
24 | 33 |
|
25 | 34 | [route-to-mvp] |
26 | 35 | milestones = [ |
27 | | - { name = "Phase 0: Core scaffolding (justfile, CI/CD, .machine_readable)", completion = 100 }, |
28 | | - { name = "Phase 1: ABI/FFI standard (Idris2/Zig templates)", completion = 100 }, |
29 | | - { name = "Phase 1b: AI Gatekeeper Protocol (0-AI-MANIFEST.a2ml)", completion = 100 }, |
30 | | - { name = "Phase 1c: TOPOLOGY.md standard and guide", completion = 100 }, |
31 | | - { name = "Phase 1d: Maintenance gate (axes, checklist, approach)", completion = 100 }, |
32 | | - { name = "Phase 1e: Trustfile / contractiles", completion = 100 }, |
33 | | - { name = "Phase 2: Container ecosystem templates (stapeln)", completion = 100 }, |
34 | | - { name = "Phase 3: Multi-forge sync hardening", completion = 0 }, |
35 | | - { name = "Phase 4: Nix/Guix reproducible shells", completion = 50 }, |
| 36 | + { name = "Route α: L1-L7 native Idris 2, verified", completion = 100 }, |
| 37 | + { name = "Route α: L8 refinement (dependent-pair encoding), L9 sessions (Brady indexed monad)", completion = 100 }, |
| 38 | + { name = "Route α: L10 cubical — WALL, documented as impossible on this route", completion = 100 }, |
| 39 | + { name = "Proof gate: script + Justfile + CI (cannot silently pass)", completion = 100 }, |
| 40 | + { name = "Route δ: typell bridge (routes/delta-aggregate/TYPELL-BRIDGE.adoc)", completion = 40 }, |
| 41 | + { name = "Route δ: full aggregate (F*/LH + Scribble + Agda --cubical over one ABI)", completion = 0 }, |
| 42 | + { name = "Routes β, γ: not started", completion = 0 }, |
| 43 | + { name = "Route ε: research phase (Nuyts/Devriese 2023, Gratzer et al. 2024)", completion = 5 }, |
36 | 44 | ] |
37 | 45 |
|
38 | 46 | [blockers-and-issues] |
39 | | -# No active blockers |
| 47 | +issues = [ |
| 48 | + "src/interface/ffi is uninstantiated RSR template scaffold ({{project}} placeholders, does not compile under any zig) — quarantined in TOPOLOGY.md; instantiate or remove when a route needs a C ABI", |
| 49 | + "13 stale remote branches, all unmerged by commit-graph (probable squash-merge artifacts) — prune needs per-branch content diff", |
| 50 | +] |
40 | 51 |
|
41 | 52 | [critical-next-actions] |
42 | 53 | actions = [ |
43 | | - "Container templates complete — test with `just container-init`", |
44 | | - "Validate container templates across wolfi-base and static Chainguard images", |
45 | | - "Harden multi-forge sync for GitLab/Bitbucket mirroring edge cases", |
46 | | - "Expand Nix/Guix development shell templates", |
| 54 | + "Land typell conformance suite (typell repo: crates/typell-core/tests/kategoria_conformance.rs)", |
| 55 | + "Decide src/interface/ffi disposition (instantiate for route δ ABI vs remove)", |
| 56 | + "Route δ next step: Agda --cubical bridge prototype for L10", |
47 | 57 | ] |
48 | 58 |
|
49 | | -[maintenance-status] |
50 | | -last-run-utc = "never" |
51 | | -last-report = "docs/reports/maintenance/latest.json" |
52 | | -last-result = "unknown" # unknown | pass | warn | fail |
53 | | -open-warnings = 0 |
54 | | -open-failures = 0 |
55 | | - |
56 | 59 | [ecosystem] |
57 | | -part-of = ["RSR Framework", "stapeln ecosystem"] |
58 | | -depends-on = ["stapeln", "selur-compose", "cerro-torre", "svalinn", "vordr", "k9-svc"] |
59 | | - |
60 | | -# --------------------------------------------------------------------------- |
61 | | -# NOTE FOR CONSUMERS: When using this template to create a new repo, reset |
62 | | -# the fields above to your project's values and replace all {{PLACEHOLDER}} |
63 | | -# tokens. The milestones above describe the TEMPLATE's evolution, not yours. |
64 | | -# --------------------------------------------------------------------------- |
| 60 | +part-of = ["hyperpolymath type-safety programme"] |
| 61 | +related = ["typell (aggregate-style verification kernel; bridge registered)", "panll (consumes typell)", "007", "typed-wasm", "nextgen-languages"] |
0 commit comments