open-standards/jouleclaw/ROADMAP.md
Transaction Science 8da045d94c docs: strip vanity metrics from README + ROADMAP
Codebase-state numbers (crate count, test count, LOC, "40+ samplers")
drift on every code change and create permanent sync debt with the
website and downstream READMEs. Replaced with shape descriptions
("multi-crate Rust workspace", "the diffusion sampler catalog",
"covered by a test suite"). Identity-class facts (spec versions,
licenses, algorithm names) preserved.
2026-06-02 07:30:50 -04:00

4.6 KiB

JouleClaw roadmap

Where the standard is going after v0.1.0 (currently committed to main). The reference implementation in jouleclaw-rs/ is a multi-crate Rust workspace; all tests pass.

Deferred work, by phase

Near-term (v0.2)

  • gemma4 port. Pattern-lang's gemma4 tier registers itself against joule-l1's lawful lexicon and pattern-core's synthesizer for prompt routing. With Phase 6's jouleclaw-cascade::lawful trait surface now landed, the port is unblocked — but the pattern-core synthesizer routing path needs the consumer (or a thin pattern-core-shaped consumer crate inside JouleClaw) to plug through LawfulRegistry. Tracked.
  • jouleclaw-edge-server. Pattern-lang's joule-edge/src/server.rs was an HTTP wrapper around the demo runtime. The library form (jouleclaw-edge) shipped; the server form is a thin axum wrapper that can land any time. Out-of-scope for v0.1 because the demo binary covers the same surface for development.
  • Conformance vector population. conformance/v1/ ships the three structural vectors (cache-hit, breaker-trip, joule-mcp-CBOR-negotiation). The remaining seven vectors named in conformance/v1/README.md's coverage matrix (lawful-arithmetic, embed-hybrid-search, fresh-retrieval-with- provenance, model-local-ssm, model-local-ternary, model-local- diffusion-image, wire-frontier-rpc) await the canonical receipts that fall out of running the reference impl with the standard reference-hardware (Apple M5 Max baseline). Each is a few hundred lines of JSON + a .jc.toml sidecar.
  • SHA256SUMS + release signature. The v1.0.0 conformance vector corpus signs at release time. Tracked alongside the v1.0.0 release tag.

Medium-term (v0.3)

  • Split jouleclaw-omni. The monolithic crate ported wholesale from efficient-genai in Phase 5 preserves the donor's internal layout (core / hal / inference / modalities / orchestrator / quality / runtime / server / tensor / weight_store). Splitting into separate crates is multi-week surgery because the internal cross-references (crate::hal::*, crate::tensor::*, crate::core::*) need to be rewired into proper Cargo path deps. The plan when this lands:

    • jouleclaw-hal — Device / Kernel / Memory / Capabilities trait surface
    • jouleclaw-tensor — the tensor module
    • jouleclaw-diffusion — the diffusion sampler catalog
    • jouleclaw-musicgen, jouleclaw-whisper, jouleclaw-gaussian3d, jouleclaw-video, jouleclaw-fusion — per-engine crates
    • jouleclaw-modality-{text,image,audio,video,3d} — modality surfaces
    • jouleclaw-omni-server — axum server, optional
    • jouleclaw-omni becomes a meta-crate that re-exports the above behind a legacy feature for downstream consumers who don't want to re-find all the names.

    Until then, jouleclaw-omni ships as one crate with feature gates (cuda, metal, rocm, vulkan, safetensors, jit, simd, rayon, server).

  • Standalone GPU-backend crates. jouleclaw-omni::hal::* already has the CUDA / Metal / ROCm / Vulkan paths feature-gated. Extracting them as standalone jouleclaw-backend-cuda, -rocm, -vulkan crates is a sub-task of the omni split above and lands in the same v0.3 work. Until then, downstream consumers enable the feature on jouleclaw-omni and the backend is available behind jouleclaw_omni::hal::cuda::* etc.

Long-term (v1.0)

  • Multi-machine cascade. The current cascade assumes a single box. v1.0 will define how a JouleClaw deployment routes work across a fleet — content-addressed cache sharing, per-node energy budgets, cross-node receipt aggregation. Out-of-scope for v0.x.
  • Hardware-attested measurement. Some platforms (Apple Secure Enclave, NVIDIA Hopper Confidential Compute) can attest energy measurements cryptographically. Receipt schema v2 will carry the attestation envelope as an optional field.
  • A second reference implementation. A second language (Go or Zig) reference impl that round-trips the same conformance vectors is the long-term proof that the standard is implementable cleanly.

Not on the roadmap

  • Training framework. JouleClaw is a runtime + harness. Training is the model author's concern.
  • A specific signing key topology. Bring your own. Smart Byte's KERI-based AID rotation is the recommended path; the standard doesn't require it.
  • A specific retrieval API. Brave / Tavily / Exa / Serper all plug in through jouleclaw-fresh::SearchProvider. The standard doesn't endorse one.