-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Spike-driven relevance routing for modular neural systems.
Julia package: TemporalFocus 0.1.0 | Julia: 1.9+ (CI: 1.12) | License: MIT OR Apache-2.0
The GitHub repository and Pages path remain Limen-Neural/NeuroPulse.jl. The package identity in Project.toml is TemporalFocus. Use using TemporalFocus in new code.
TemporalFocus computes per-tick routing weights from:
- spike density (α = 0.50)
- manifold surprise via EMA readout deviation (β = 0.35)
- routing momentum (γ = 0.15)
It is intentionally narrow: relevance routing only — not an SNN runtime, trainer, or hardware supervisor.
| Symbol | Role |
|---|---|
ActivityRegion |
Per-region summary: rate ∈ [0,1] + readout Vector{Float32}
|
RegionRouter |
Pre-allocated mutable routing state |
update_routing! |
In-place per-tick weight update |
routing_diagnostics |
One-line log string |
adapt_leak! |
Optional stress → leak helper |
save_state / load_state!
|
Checkpoint / restore router buffers |
Legacy aliases (LobeState, NeroOrchestrator, update_relevance!, nero_diagnostics) still resolve to the generic API.
| Page | Description |
|---|---|
| Overview | Mental model and package boundary |
| Getting Started | Install, quick start, examples |
| Project Structure | Layout and deps |
| Architecture | Owns vs does not own |
| API Reference | Types and functions |
| Interop Contract | Frozen Float32 shapes (LIM-228) |
| Routing Algorithm | α/β/γ, EMA, inhibition, softmax |
| Checkpointing |
save_state / load_state!
|
| Legacy API | NERO aliases |
| Testing | Test suite |
| CI and Quality | GHA, format, Documenter |
| Ecosystem | Sibling packages |
| Roadmap | Status and cleanup targets |
| Glossary | Terms |
using TemporalFocus
router = RegionRouter(
n_regions = 4,
n_out = 8,
region_names = ["sensor", "reservoir", "memory", "decoder"],
)
regions = [
ActivityRegion(0.82f0, Float32[0.9, 0.7, 0.2, 0.1, 0.0, 0.1, 0.3, 0.5]),
ActivityRegion(0.28f0, Float32[0.3, 0.2, 0.1, 0.0, 0.0, 0.0, 0.2, 0.2]),
ActivityRegion(0.41f0, Float32[0.4, 0.6, 0.5, 0.2, 0.1, 0.1, 0.0, 0.1]),
ActivityRegion(0.12f0, Float32[0.1, 0.1, 0.0, 0.0, 0.4, 0.6, 0.8, 0.9]),
]
update_routing!(router, regions)
println(router.routing_weights)
println(routing_diagnostics(router))- Dev docs (Documenter)
- Devin org wiki outline: NeuroPulse.jl
Dual-licensed under MIT or Apache-2.0 at your option.
Last updated: July 29, 2026
Updated by: Grok Build: Grok 4.5
Package tip reference: c9ff99c (main, through dependabot cache #38)