The STATE.scm and ECOSYSTEM.scm files form the backbone of project state management and cross-repository relationship tracking in the RSR ecosystem.
-
STATE.scm: Per-repository conversation checkpoint (127+ repos)
-
ECOSYSTEM.scm: Global ecosystem relationship graph (1 authoritative file)
Both use Guile Scheme S-expressions for:
-
Machine-readable structure
-
Human-editable format
-
Integration with Guix tooling
-
Homoiconic manipulation
(define state
`((metadata ...)
(position ...)
(context ...)
(implementations ...)
(issues ...)
(roadmap ...)
(ecosystem ...)
(session-files ...)
(notes ...)))| Field | Type | Description |
|---|---|---|
|
string |
Schema version ("2.0") |
|
string |
Date of schema (ISO 8601) |
|
string |
Repository name |
|
string |
Creation timestamp (ISO 8601) |
|
string |
Last update timestamp (ISO 8601) |
| Field | Type | Description |
|---|---|---|
|
string |
One-line project description |
|
symbol |
|
|
symbol |
|
|
integer |
1 (Tier 1), 2 (Tier 2), or |
|
string |
Main implementation language |
|
string |
Problem domain (e.g., "AI Safety", "Developer Tools") |
| Field | Type | Description |
|---|---|---|
|
string |
Date of last AI conversation |
|
string |
Current development focus |
|
list |
Current blocking issues |
|
list |
Decisions awaiting resolution |
List of implementation records:
((name . "feature-name")
(status . complete) ; complete | in-progress | planned
(files . ("src/file.rs" "src/other.rs"))
(notes . "Implementation details"))| Field | Type | Description |
|---|---|---|
|
list |
Current open issues |
|
list |
Recently resolved issues |
|
list |
Documented limitations |
|
list |
Identified tech debt items |
(roadmap
(current-version . "0.1.0")
(next-milestone . "MVP")
(version-plan
((version . "0.2.0")
(features . ("feature-a" "feature-b"))
(target . "2025-Q1"))))| Field | Type | Description |
|---|---|---|
|
list |
Parent ecosystems (e.g., "STATE.scm", "RSR Framework") |
|
list |
Runtime/build dependencies |
|
list |
Integration targets |
|
list |
Replaced projects |
List of files modified in the most recent session:
(session-files
("src/main.rs"
"justfile"
"README.adoc"))(define ecosystem
'((metadata ...)
(projects ...)
(relationships ...)
(domains ...)
(statistics ...)))(metadata
(name . "hyperpolymath")
(version . "1.0")
(updated . "2025-12-10")
(total-repos . 139))List of all ecosystem projects:
(projects
((name . "conative-gating")
(status . active) ; active | maintenance | archived | deprecated
(phase . implementation)
(maturity . beta)
(description . "SLM-as-Cerebellum for LLM Policy Enforcement")
(repository . "https://github.com/hyperpolymath/conative-gating")
(languages . (rust elixir nickel))
(domain . "AI Safety")
(tier . 1)
(badges
((category . identity)
(rsr-tier . 1)
(phase . implementation)
(maturity . beta))))
((name . "echomesh")
(status . archived)
(archive-date . "2025-12-09")
(superseded-by . "conative-gating")
(description . "Context capture - superseded by prevention approach")))Relationship graph between projects:
(relationships
;; Dependency relationships
((from . "conative-gating")
(to . "wharf")
(kind . depends))
;; Composition
((from . "elegant-STATE")
(to . "conative-gating")
(kind . part-of))
;; Evolution
((from . "conative-gating")
(to . "echomesh")
(kind . supersedes))
;; Integration
((from . "zotero-nsai")
(to . "fogbinder")
(kind . integrates)))Domain categorization:
(domains
((name . "AI Safety")
(projects . ("conative-gating" "llm-antidote" "llm-verify"))
(color . "#ff6b6b"))
((name . "Developer Tools")
(projects . ("git-hud" "git-rsr-certified" "scaffoldia"))
(color . "#4ecdc4"))
((name . "Citation Management")
(projects . ("zotero-nsai" "fogbinder" "zotero-voyant-export"))
(color . "#9b59b6")))Aggregate ecosystem statistics:
(statistics
(total-repos . 139)
(by-tier
((tier . 1) (count . 47))
((tier . 2) (count . 10))
((tier . infrastructure) (count . 82)))
(by-phase
((phase . design) (count . 20))
((phase . implementation) (count . 45))
((phase . testing) (count . 15))
((phase . maintenance) (count . 50))
((phase . archived) (count . 9)))
(by-language
((language . rust) (count . 21))
((language . rescript) (count . 26))
((language . guix) (count . 82))
((language . elixir) (count . 3))
((language . javascript) (count . 6))
((language . python) (count . 1))))# Validate STATE.scm syntax
validate-state:
guile -c '(primitive-load "STATE.scm")'
# Update timestamp
state-touch:
sed -i 's/(updated . "[^"]*")/(updated . "'"$(date -Iseconds)"'")/' STATE.scm
# Export to JSON
state-export:
guile -c '(use-modules (json)) (primitive-load "STATE.scm") (display (scm->json state))'
# Show current phase
state-phase:
grep -oP '\(phase\s+\.\s+\K[^)]+' STATE.scm | head -1# .github/workflows/state-check.yml
- name: Validate STATE.scm
run: |
if [ -f STATE.scm ]; then
guile -c '(primitive-load "STATE.scm")'
fiIf migrating from other state tracking:
# Generate STATE.scm from project metadata
./scripts/generate-state.sh > STATE.scm
# Validate
just validate-state-
Update regularly: Touch STATE.scm at end of each session
-
Keep focused:
context.focus-areashould be specific -
Track decisions: Document pending decisions for continuity
-
Link ecosystems: Maintain
ecosystemsection for relationships -
Archive cleanly: Set
phase . archivedwith supersession info
;;; STATE.scm --- conative-gating conversation checkpoint
(define state
`((metadata
(format-version . "2.0")
(schema-version . "2025-12-10")
(project . "conative-gating")
(created . "2025-12-01T00:00:00Z")
(updated . "2025-12-10T12:00:00Z"))
(position
(summary . "SLM-as-Cerebellum for LLM Policy Enforcement")
(phase . implementation)
(maturity . beta)
(rsr-tier . 1)
(primary-language . "rust")
(domain . "AI Safety"))
(context
(last-session . "2025-12-10")
(focus-area . "Oracle training pipeline")
(blockers . ())
(decisions-pending
("Training data format"
"Deployment architecture")))
(implementations
((name . "Policy Oracle")
(status . complete)
(files . ("src/oracle/mod.rs" "src/oracle/model.rs"))
(notes . "ONNX-based SLM for policy classification"))
((name . "Arbiter")
(status . in-progress)
(files . ("src/arbiter/mod.rs"))
(notes . "Decision aggregation layer")))
(issues
(active . ("Training data collection"))
(resolved . ("ONNX inference latency"))
(known-limitations . ("Single-turn only"))
(technical-debt . ()))
(roadmap
(current-version . "0.1.0")
(next-milestone . "MVP")
(version-plan
((version . "0.2.0")
(features . ("Multi-turn context" "Streaming inference"))
(target . "2025-Q1"))))
(ecosystem
(part-of . ("STATE.scm" "RSR Framework"))
(depends-on . ("wharf" "file-soup"))
(integrates-with . ("zotero-nsai" "fogbinder"))
(supersedes . ("echomesh" "UPM" "rhodibot")))
(session-files
("src/oracle/training.rs"
"training/README.adoc"
"justfile"))
(notes
"Focus on training pipeline for Q4 2025.
Oracle inference working, need arbiter integration.")))
state