Skip to content

Commit c148a23

Browse files
committed
chore: add STATE.scm ecosystem metadata
1 parent 2ce7675 commit c148a23

1 file changed

Lines changed: 16 additions & 246 deletions

File tree

STATE.scm

Lines changed: 16 additions & 246 deletions
Original file line numberDiff line numberDiff line change
@@ -1,252 +1,22 @@
1-
;; STATE.scm - Checkpoint/Restore for AI Conversations
2-
;; Project: Munition (chimichanga)
3-
;; Format: Guile Scheme
1+
;;; STATE.scm — chimichanga
2+
;; SPDX-License-Identifier: AGPL-3.0-or-later
3+
;; SPDX-FileCopyrightText: 2025 Jonathan D.A. Jewell
44

5-
(define state
6-
'((metadata
7-
(format-version . "1.0")
8-
(created . "2025-12-08")
9-
(updated . "2025-12-08")
10-
(project-name . "Munition")
11-
(repository . "hyperpolymath/chimichanga"))
5+
(define metadata
6+
'((version . "0.1.0") (updated . "2025-12-15") (project . "chimichanga")))
127

13-
;; =========================================================================
14-
;; CURRENT POSITION
15-
;; =========================================================================
16-
(current-position
17-
(version . "0.1.0-alpha")
18-
(phase . "core-complete")
19-
(completion-percentage . 35)
20-
(status . "in-progress")
8+
(define current-position
9+
'((phase . "v0.1 - Initial Setup")
10+
(overall-completion . 25)
11+
(components ((rsr-compliance ((status . "complete") (completion . 100)))))))
2112

22-
(summary . "Core execution framework complete with fuel metering, memory
23-
isolation, forensic capture, and capability-restricted host
24-
functions. RSR Gold compliance achieved. Ready to advance
25-
toward production-grade features.")
13+
(define blockers-and-issues '((critical ()) (high-priority ())))
2614

27-
(implemented
28-
("Core execution engine with compile → instantiate → execute → cleanup lifecycle")
29-
("Fuel metering system with configurable allocation and exhaustion handling")
30-
("Memory isolation - fresh zero-initialized memory per execution")
31-
("Forensic capture on all failure paths with serialization")
32-
("Pluggable runtime abstraction (Wasmex/Wasmtime default)")
33-
("Capability-gated host functions: time, random, logging")
34-
("Capability validation with risk classification")
35-
("Comprehensive test suite: unit, integration, benchmarks")
36-
("RSR Gold compliance: 15+ justfile tasks, SPDX headers, pinned deps")
37-
("Full documentation: ARCHITECTURE.md, capability_model.md, ROADMAP.md")))
15+
(define critical-next-actions
16+
'((immediate (("Verify CI/CD" . high))) (this-week (("Expand tests" . medium)))))
3817

39-
;; =========================================================================
40-
;; ROUTE TO MVP v1.0
41-
;; =========================================================================
42-
(mvp-roadmap
43-
(target-version . "1.0.0")
44-
(target-status . "production-ready")
18+
(define session-history
19+
'((snapshots ((date . "2025-12-15") (session . "initial") (notes . "SCM files added")))))
4520

46-
(milestones
47-
((version . "0.2.0")
48-
(name . "pooling-and-host-functions")
49-
(completion . 0)
50-
(tasks
51-
("Instance pooling for pre-compiled/instantiated WASM modules")
52-
("Enhanced host functions: sandboxed filesystem read")
53-
("Enhanced host functions: allowlisted HTTP client")
54-
("Structured logging with capability-controlled output")
55-
("Improved forensics: stack traces, variable reconstruction")
56-
("Crash classification and pattern detection")))
57-
58-
((version . "0.3.0")
59-
(name . "resource-control")
60-
(completion . 0)
61-
(tasks
62-
("Wizer integration for snapshot-and-restore pre-initialization")
63-
("Configurable memory page limits")
64-
("Wall-clock timeout integration alongside fuel bounds")
65-
("Memory allocation bounds before instantiation")))
66-
67-
((version . "1.0.0")
68-
(name . "production-ready")
69-
(completion . 0)
70-
(tasks
71-
("Independent security audit")
72-
("Performance optimization pass")
73-
("API stability guarantee and semantic versioning")
74-
("Production deployment documentation")
75-
("Alternative runtime support: Wasmer, WAMR")))))
76-
77-
;; =========================================================================
78-
;; KNOWN ISSUES
79-
;; =========================================================================
80-
(issues
81-
(code-issues
82-
((location . "lib/munition.ex:208-215")
83-
(severity . "medium")
84-
(description . "Export/import validation stubbed - returns :ok without checking")
85-
(impact . "Cannot verify WASM modules export required functions before execution"))
86-
87-
((location . "lib/munition/host/functions.ex:124")
88-
(severity . "low")
89-
(description . "Log host function does not read message from WASM memory")
90-
(impact . "Logging calls acknowledge but don't capture actual log content"))
91-
92-
((location . "lib/munition/instance/manager.ex:100")
93-
(severity . "medium")
94-
(description . "execute_pooled/4 returns {:crash, :not_implemented}")
95-
(impact . "No performance optimization for repeated executions")))
96-
97-
(design-considerations
98-
("Timing attacks possible - execution time varies with input")
99-
("Side-channel attacks via CPU cache theoretically possible")
100-
("Memory allocation before instantiation not bounded")
101-
("Dependent on Wasmtime security advisories for underlying safety")))
102-
103-
;; =========================================================================
104-
;; QUESTIONS FOR MAINTAINER
105-
;; =========================================================================
106-
(questions
107-
((id . 1)
108-
(category . "architecture")
109-
(question . "For instance pooling, should pools be global (application-level)
110-
or per-supervisor? Trade-off between resource efficiency and isolation.")
111-
(context . "v0.2.0 planning"))
112-
113-
((id . 2)
114-
(category . "security")
115-
(question . "What allowlist strategy for HTTP host function? Domain-based,
116-
URL pattern, or capability token per-endpoint?")
117-
(context . "Host function expansion"))
118-
119-
((id . 3)
120-
(category . "priority")
121-
(question . "Should Wizer integration (v0.3.0) be prioritized over instance
122-
pooling if startup latency is the primary bottleneck?")
123-
(context . "Roadmap sequencing"))
124-
125-
((id . 4)
126-
(category . "ecosystem")
127-
(question . "Are there specific attenuator languages (Lua, JS, Pony) that
128-
should be reference implementations for v1.0 launch?")
129-
(context . "Ecosystem strategy"))
130-
131-
((id . 5)
132-
(category . "compliance")
133-
(question . "Is formal verification (TLA+/Coq) a v1.0 requirement or a
134-
post-1.0 research direction?")
135-
(context . "Scope definition")))
136-
137-
;; =========================================================================
138-
;; LONG-TERM ROADMAP
139-
;; =========================================================================
140-
(long-term-roadmap
141-
(vision . "Become the definitive capability attenuation framework for safe
142-
execution of untrusted code in the Elixir ecosystem and beyond.")
143-
144-
(post-v1-features
145-
((category . "runtime-ecosystem")
146-
(items
147-
("Wasmer runtime integration")
148-
("WAMR (WebAssembly Micro Runtime) for embedded")
149-
("Lunatic runtime exploration for actor model")))
150-
151-
((category . "attenuator-ecosystem")
152-
(items
153-
("Reference Lua → WASM attenuator")
154-
("Reference JavaScript → WASM attenuator")
155-
("Capability-preserving Pony → WASM attenuator")))
156-
157-
((category . "advanced-capabilities")
158-
(items
159-
("Graduated trust - dynamic capability expansion based on behavior")
160-
("Capability inference from WASM module analysis")
161-
("Cross-execution state sharing with explicit grants")
162-
("Distributed execution across nodes")))
163-
164-
((category . "formal-methods")
165-
(items
166-
("TLA+ specification of capability model")
167-
("Coq proofs of isolation guarantees")
168-
("Property-based testing with PropEr/StreamData")))
169-
170-
((category . "observability")
171-
(items
172-
("OpenTelemetry integration for execution tracing")
173-
("Prometheus metrics for fuel consumption patterns")
174-
("Grafana dashboards for sandbox health"))))
175-
176-
(use-cases
177-
("Plugin systems with untrusted user code")
178-
("Multi-tenant SaaS with isolated computation")
179-
("Edge computing with resource-constrained execution")
180-
("Research sandbox for language experimentation")
181-
("Smart contract execution environments")))
182-
183-
;; =========================================================================
184-
;; CRITICAL NEXT ACTIONS
185-
;; =========================================================================
186-
(next-actions
187-
((priority . 1)
188-
(action . "Implement export validation in lib/munition.ex")
189-
(rationale . "Security: verify WASM modules before execution")
190-
(effort . "small"))
191-
192-
((priority . 2)
193-
(action . "Implement import validation in lib/munition.ex")
194-
(rationale . "Security: ensure only expected imports are present")
195-
(effort . "small"))
196-
197-
((priority . 3)
198-
(action . "Complete log host function memory reading")
199-
(rationale . "Feature completeness: capture actual log messages")
200-
(effort . "small"))
201-
202-
((priority . 4)
203-
(action . "Design and implement instance pooling")
204-
(rationale . "Performance: reduce startup latency for repeated executions")
205-
(effort . "large"))
206-
207-
((priority . 5)
208-
(action . "Add memory limit configuration")
209-
(rationale . "Security: bound resource usage before instantiation")
210-
(effort . "medium")))
211-
212-
;; =========================================================================
213-
;; PROJECT CATALOG
214-
;; =========================================================================
215-
(project-catalog
216-
((name . "munition-core")
217-
(status . "in-progress")
218-
(completion . 80)
219-
(phase . "stabilization")
220-
(next-action . "Complete stubbed validation functions"))
221-
222-
((name . "munition-pooling")
223-
(status . "not-started")
224-
(completion . 0)
225-
(phase . "design")
226-
(blocker . "Awaiting v0.2.0 cycle start")
227-
(next-action . "Design pool supervision strategy"))
228-
229-
((name . "munition-host-functions")
230-
(status . "in-progress")
231-
(completion . 40)
232-
(phase . "implementation")
233-
(next-action . "Implement filesystem read capability"))
234-
235-
((name . "munition-forensics")
236-
(status . "in-progress")
237-
(completion . 70)
238-
(phase . "enhancement")
239-
(next-action . "Add stack trace extraction")))
240-
241-
;; =========================================================================
242-
;; SESSION HISTORY
243-
;; =========================================================================
244-
(history
245-
((date . "2025-12-08")
246-
(event . "STATE.scm created")
247-
(snapshot
248-
(overall-completion . 35)
249-
(version . "0.1.0-alpha")
250-
(status . "core-complete"))))))
251-
252-
;; End of STATE.scm
21+
(define state-summary
22+
'((project . "chimichanga") (completion . 25) (blockers . 0) (updated . "2025-12-15")))

0 commit comments

Comments
 (0)