|
1 | 1 | # SPDX-License-Identifier: PMPL-1.0-or-later |
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) |
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 — Project state checkpoint |
| 5 | +# Session Sentinel: container/infrastructure repo |
9 | 6 |
|
10 | 7 | [metadata] |
11 | | -project = "rsr-template-repo" |
12 | | -version = "0.2.0" |
13 | | -last-updated = "2026-02-28" |
| 8 | +project = "session-sentinel" |
| 9 | +version = "0.1.0" |
| 10 | +last-updated = "2026-04-04" |
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 = "session-sentinel" |
| 15 | +purpose = "Container/infrastructure repo for the Session Sentinel service — disk space monitoring, self-healing, PanLL panel integration." |
| 16 | +completion-percentage = 40 |
20 | 17 |
|
21 | 18 | [position] |
22 | | -phase = "maintenance" # design | implementation | testing | maintenance | archived |
23 | | -maturity = "production" # experimental | alpha | beta | production | lts |
| 19 | +phase = "implementation" # design | implementation | testing | maintenance | archived |
| 20 | +maturity = "alpha" # experimental | alpha | beta | production | lts |
24 | 21 |
|
25 | 22 | [route-to-mvp] |
26 | 23 | 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 }, |
| 24 | + { name = "Phase 0: RSR scaffolding and config files", completion = 90 }, |
| 25 | + { name = "Phase 1: Containerfile + selur-compose", completion = 80 }, |
| 26 | + { name = "Phase 2: Structural validation tests (CRG Grade C)", completion = 100 }, |
| 27 | + { name = "Phase 3: Rust source implementation", completion = 10 }, |
| 28 | + { name = "Phase 4: CI/CD and deployment automation", completion = 20 }, |
| 29 | +] |
| 30 | + |
| 31 | +[crg] |
| 32 | +grade = "C" |
| 33 | +achieved = "2026-04-04" |
| 34 | +evidence = [ |
| 35 | + "unit: tests/validate.test.ts — 22 Deno tests covering file existence + directory structure", |
| 36 | + "smoke: content non-empty checks for README, LICENSE, config", |
| 37 | + "p2p: all TOML files parse without error (7 TOML files scanned, 6.7ms)", |
| 38 | + "e2e: full validation chains for session-sentinel.toml and container/manifest.toml", |
| 39 | + "contract: required fields in sentinel config, security.txt (RFC 9116), manifest", |
| 40 | + "aspect: no hardcoded secrets, no unresolved critical placeholders", |
| 41 | + "benchmark: full repo TOML scan timed and baselined (< 2000ms)", |
36 | 42 | ] |
| 43 | +test-command = "deno test --allow-read tests/" |
37 | 44 |
|
38 | 45 | [blockers-and-issues] |
39 | | -# No active blockers |
| 46 | +issues = [ |
| 47 | + "Rust source implementation incomplete — Phase 3 not started", |
| 48 | + "CI/CD not wired to deployment", |
| 49 | +] |
40 | 50 |
|
41 | 51 | [critical-next-actions] |
42 | 52 | 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", |
| 53 | + "Implement Rust source code for disk-space monitoring daemon", |
| 54 | + "Wire CI/CD for automated container builds", |
| 55 | + "Add integration tests once Rust source is present", |
47 | 56 | ] |
48 | 57 |
|
49 | 58 | [maintenance-status] |
50 | 59 | last-run-utc = "never" |
51 | 60 | last-report = "docs/reports/maintenance/latest.json" |
52 | | -last-result = "unknown" # unknown | pass | warn | fail |
| 61 | +last-result = "unknown" |
53 | 62 | open-warnings = 0 |
54 | 63 | open-failures = 0 |
55 | 64 |
|
56 | 65 | [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 | | -# --------------------------------------------------------------------------- |
| 66 | +part-of = ["ambientops", "hyperpolymath infrastructure"] |
| 67 | +depends-on = ["stapeln", "selur-compose", "cerro-torre", "svalinn", "vordr"] |
0 commit comments