conformance vectors, ROADMAP
874 tests pass workspace-wide, 0 fail, 52 ignored.
jouleclaw-cascade::lawful (NEW)
LawfulPrimitive trait + LawfulRegistry + LawfulHit. The L1 trait
surface every consumer can plug their lexicon into. Tiny by design
— three methods (id, try_resolve, declared_cost_uj). Pattern-lang's
pattern-core + cortex-ir synthesizer is the largest known consumer
(688+ primitives); smaller consumers ship a handful of arithmetic
helpers. Runtimes that ship no lawful library construct an empty
registry and the cascade walks past L1 to L2. 5 unit tests
passing.
jouleclaw-edge (NEW — replaces deferred joule-edge port)
End-to-end edge demo + LawfulRegistryTier shim. Registers every
portable JouleClaw tier (EbmTier, MrlTier, LiquidTier, PrismTier,
LmmTier) plus an L1 wrapper that delegates to a consumer-supplied
LawfulRegistry. `cargo run --bin jouleclaw-edge` prints the
cascade trace for 6 representative queries. The OpenIE-IP-bound
tier types (joule_l1::LawfulTier/PlannerTier/WorldModelTier,
lean_bridge::LeanProofTier, synth::SynthesisTier) were dropped
during the port — they re-enter at the consumer site through the
registry shim and any consumer-side tiers the consumer cares to
register. 3 lib tests passing.
conformance/v1 (3 wire vectors)
cache-hit/ — L0 repeat-query receipt
with empty tools_touched
breaker-trips-on-budget-exhaust/ — thermodynamic kill-switch
proof (budget_uj=100 vs L3
inference estimate)
joule-mcp-cbor-negotiation/ — 4-row capability handshake
matrix (the canonical tag
is x-jouleclaw/joule-mcp@1)
Each vector ships input.txt + receipt.json + README.md. Receipt
bodies use the standard Receipt schema from jouleclaw-prov.
ROADMAP.md
Plans the deferred work explicitly:
near-term (v0.2): gemma4 port, edge-server, conformance vector
population, SHA256SUMS + release signature
medium-term (v0.3): split jouleclaw-omni into separate per-
subsystem crates (hal/tensor/diffusion/
musicgen/whisper/gaussian3d/video/fusion/
modality-*); extract jouleclaw-backend-{cuda,
rocm,vulkan} from the omni HAL
long-term (v1.0): multi-machine cascade; hardware-attested
receipt schema v2; second-language reference
impl (Go or Zig)
Explicitly NOT on the roadmap: training framework, a specific
signing key topology, a blessed retrieval API.
Public sites (separate commits below)
transaction.science main site → 5-card open-standards grid live
(commit 93638bb earlier)
jouleclaw.transaction.science → custom landing page live with
cascade tiers, provenance honesty,
reference-impl crates surface,
stewardship pattern
Caddyfile @jouleclaw route deployed to 10.10.10.3, reload OK
deploy/manifest.toml + site-ops Caddyfile entries committed
Co-Authored-By: Claude Opus 4.7 <[email protected]>
39 lines
1.4 KiB
Markdown
39 lines
1.4 KiB
Markdown
# Conformance vector — joule-mcp CBOR negotiation
|
|
|
|
Exercises the `x-jouleclaw/joule-mcp@1` capability handshake. Two
|
|
endpoints that both advertise the capability MUST elect the CBOR wire;
|
|
when either side omits it the wire MUST stay JSON-RPC.
|
|
|
|
## The matrix
|
|
|
|
| Side A advertises | Side B advertises | Negotiated wire |
|
|
|---|---|---|
|
|
| (none) | (none) | JSON-RPC |
|
|
| (none) | `x-jouleclaw/joule-mcp@1` | JSON-RPC |
|
|
| `x-jouleclaw/joule-mcp@1` | (none) | JSON-RPC |
|
|
| `x-jouleclaw/joule-mcp@1` | `x-jouleclaw/joule-mcp@1` | **CBOR** |
|
|
|
|
A conforming runtime MUST pass `cargo test -p jouleclaw-mcp` with the
|
|
`negotiate_*` tests green, which encode this matrix verbatim. The
|
|
canonical capability tag is `x-jouleclaw/joule-mcp@1` — implementations
|
|
MUST advertise that exact string. Tags with different versions or
|
|
namespaces do NOT trigger CBOR.
|
|
|
|
## Acceptance bounds
|
|
|
|
For each row of the matrix the function call
|
|
|
|
```rust
|
|
negotiate(&local_caps, &remote_caps)
|
|
```
|
|
|
|
MUST return the indicated `WireEncoding` value. There is no platform
|
|
variation here — this is a pure protocol-level test, not a measurement.
|
|
|
|
## Files
|
|
|
|
- `matrix.json` — the four-row matrix above in machine-readable form
|
|
- `README.md` — this file
|
|
|
|
This vector has no `receipt.json` — it tests the protocol handshake,
|
|
not a cascade walk.
|