|
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> |
| 1 | +# SPDX-License-Identifier: AGPL-3.0-or-later |
| 2 | +# SPDX-FileCopyrightText: 2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk> |
3 | 3 | # |
4 | | -# STATE.a2ml — Project state checkpoint (META-TEMPLATE) |
5 | | -# |
6 | | -# This is the STATE file for rsr-template-repo itself. |
7 | | -# When consumed by a new project, replace {{PLACEHOLDER}} tokens |
8 | | -# and customize sections below for the target project. |
| 4 | +# STATE.a2ml — descriptive state of natsci-studio (the IS, not the OUGHT). |
| 5 | +# Normative obligations live under ../contractiles/; this file is 6a2. |
9 | 6 |
|
10 | 7 | [metadata] |
11 | | -project = "rsr-template-repo" |
12 | | -version = "0.2.0" |
13 | | -last-updated = "2026-02-28" |
| 8 | +project = "natsci-studio" |
| 9 | +version = "0.1.0" |
| 10 | +last-updated = "2026-04-18" |
14 | 11 | status = "active" # active | paused | archived |
15 | 12 |
|
16 | 13 | [project-context] |
17 | | -name = "rsr-template-repo" |
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 |
| 14 | +name = "natsci-studio" |
| 15 | +purpose = "Monorepo of natural-sciences libraries with a Haskell-backed TUI console (NatTrans Console) for minting, verifying, and observing scientific modules." |
| 16 | +scope = "educational / research toolkit; son-co-developed" |
| 17 | +completion-percentage = 2 |
20 | 18 |
|
21 | 19 | [position] |
22 | | -phase = "maintenance" # design | implementation | testing | maintenance | archived |
23 | | -maturity = "production" # experimental | alpha | beta | production | lts |
| 20 | +phase = "design" # design | implementation | testing | maintenance | archived |
| 21 | +maturity = "experimental" # experimental | alpha | beta | production | lts |
24 | 22 |
|
25 | 23 | [route-to-mvp] |
26 | 24 | 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 }, |
| 25 | + { name = "Phase 0: scaffold + contractile trident set", completion = 100 }, |
| 26 | + { name = "Phase 1: first library (candidate: Constants — CODATA/NIST)", completion = 0 }, |
| 27 | + { name = "Phase 2: NatTrans Console MVP (read-only lib browser)", completion = 0 }, |
| 28 | + { name = "Phase 3: mint workflow (contractile-checked new library)", completion = 0 }, |
| 29 | + { name = "Phase 4: verify workflow (invariant + citation probes)", completion = 0 }, |
| 30 | + { name = "Phase 5: observe workflow (runtime telemetry panel)", completion = 0 }, |
36 | 31 | ] |
37 | 32 |
|
38 | 33 | [blockers-and-issues] |
39 | | -# No active blockers |
| 34 | +# None at scaffold stage. |
40 | 35 |
|
41 | 36 | [critical-next-actions] |
42 | 37 | 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", |
| 38 | + "Decide on first library (Constants vs. Units vs. Uncertainty) with son.", |
| 39 | + "Stand up Haskell cabal project under tools/console/ with one stub view.", |
| 40 | + "Write first [[intents]] entry into contractiles/intend/Intentfile.a2ml once scope is negotiated with son.", |
47 | 41 | ] |
48 | 42 |
|
49 | 43 | [maintenance-status] |
50 | 44 | last-run-utc = "never" |
51 | | -last-report = "docs/reports/maintenance/latest.json" |
52 | | -last-result = "unknown" # unknown | pass | warn | fail |
| 45 | +last-report = "" |
| 46 | +last-result = "unknown" |
53 | 47 | open-warnings = 0 |
54 | 48 | open-failures = 0 |
55 | 49 |
|
56 | 50 | [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 | | -# --------------------------------------------------------------------------- |
| 51 | +part-of = ["hyperpolymath estate (son-co-developed subset)"] |
| 52 | +depends-on = [] |
| 53 | +sibling-projects = ["idaptik", "airborne-submarine-squadron"] |
0 commit comments