-
Notifications
You must be signed in to change notification settings - Fork 0
architecture
A model is declared once as a
TopologySpec and rendered twice —
into the snnTorch module that trains and into the nir.NIRGraph that
exports and validates — so the two cannot silently diverge. Every surface
(CLI, WebSocket, dashboard) renders from the same payload shapes.
flowchart LR
A["Datasets and event streams<br/>MNIST, Fashion, N-MNIST, DVS"] --> B["SpikeEncoder /<br/>EventSpikeBridge"]
B --> C["TopologySpec<br/>single source of truth"]
C --> D["snnTorch StageModule"]
C --> E["nir.NIRGraph"]
D --> F["Simulator / training<br/>one temporal loop"]
E --> G["Independent NIR interpreter<br/>validation and drift"]
F --> G
E --> I["Deployment targets<br/>rewrite, quantize, backends"]
F --> J["Energy accounting<br/>SOP / MAC / AC estimate"]
C --> H["Model hub<br/>inspect, compat, import"]
G --> K["Dashboard and CLI<br/>WebSocket / JSON"]
H --> K
I --> K
J --> K
The same spine powers the recipes in COOKBOOK.md and the
scripts in examples/.
The browser dashboard is extracted to its own repository,
capsize-games/spikeforge-dashboard
(ARCH-0001 Phase 2). client/ stays here for one release as a
read-only mirror; the pinned dashboard bundle version is recorded in
compatibility.json, and the server serves a pinned
prebuilt bundle when SPIKEFORGE_DASHBOARD_DIST is set. The versioned WebSocket
contract lives under protocol/ (see its README.md).
The deploy layer — deploy backends, quantization, energy accounting, and the
sparse event runtime — is extracted to
capsize-games/spikeforge-targets
(ARCH-0001 Phase 3; distribution spikeforge-targets, import root spikeforge_targets).
It depends on core (spikeforge~=0.3.5) but core never depends on it. The
top-level spikeforge_targets/ package stays here as the packages/spikeforge-targets
workspace distribution.
The model hub is likewise extracted to
capsize-games/spikeforge-hub
(ARCH-0001 Phase 4; distribution spikeforge-hub, import root spikeforge_hub),
also depending on spikeforge~=0.3.5. Core itself lives at
capsize-games/spikeforge; the
spikeforge-server distribution (import root server) stays in that repository
because its extraction trigger T4 did not fire.
Because the project was pre-1.0 and unpublished when the split landed, the
extraction shipped without back-compat aliases: the old spikeforge.{targets,energy,event_runtime,hub}
import paths were deleted rather than kept as shims.
- Home
- Architecture
- Backend Execution
- Benchmarks
- Dashboard
- Development
- Event Datasets
- Event Runtime And Energy
- Features
- Implications And Boundaries
- Interop Foldins
- Interpreter Spine
- Introspection
- Model Deployment
- Model Hub
- Notes
- Operational Maturity
- Production Workflows
- Project Layout
- Quickstart
- Requirements
- Sequence Primitives
- Streaming Timeseries
- Targets And Interop
- Usage
- Arch 0001 Adr Repo Topology
- Arch 0001 Core Boundary
- Arch 0001 Decision Metrics
- Arch 0001 Migration Plan
- Arch 0001 Packaging Versioning
- Arch 0001 Protocol Contract
- Arch 0001 Risk Register
- Arch 0001 Target Topology
- Backend Execution Plan
- Ecosystem Listings
- Ecosystem Roadmap
- Event Runtime Plan
- Hub Expansion Plan
- Plans
- Interop Foldins Plan
- Interpreter Spine Plan
- Memory System Research
- Model Hub Plan
- Operations Plan
- Production Toolkit Plan
- Production Use Cases
- Professional Roadmap
- Repo Topology Plan
- Sequence Primitives Plan
- Use Case Audio Keyword Spotting
- Use Case Biosignal Medical Monitoring
- Use Case Computational Neuroscience
- Use Case Edge Power Budgets
- Use Case Event Camera Vision
- Use Case Intrusion Anomaly Detection
- Use Case Low Latency Sensor Stream
- Use Case Rl Control Robotics
- Use Case Spiking Transformers
- Use Case Streaming Timeseries