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]>
42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# Conformance vector — breaker-trips-on-budget-exhaust
|
|
|
|
Exercises the thermodynamic circuit breaker. A runtime that escalates
|
|
through tiers MUST trip the breaker the instant
|
|
`measured J_consumed > J_allocated` and MUST NOT continue dispatch.
|
|
|
|
## What the runtime does
|
|
|
|
1. Receives `input.txt` — a query designed not to hit L0/L1/L2 and to
|
|
require an L3 model.
|
|
2. The caller sets `budget_uj = 100` (intentionally too low for L3 model
|
|
inference). L3's estimate exceeds the remaining budget.
|
|
3. Per the spec, the runtime MUST NOT dispatch L3. It MUST trip the
|
|
breaker and emit a receipt with `tier == "L4"`-style escape *only*
|
|
if L4 is configured AND fits the budget; otherwise the receipt
|
|
records the final state as Refused (output.refused.reason
|
|
"BudgetExhausted").
|
|
|
|
## Acceptance bounds
|
|
|
|
The receipt MUST satisfy one of:
|
|
|
|
- `output.refused.reason == "BudgetExhausted"` AND no L3 tier appears
|
|
in `tools_touched`, OR
|
|
- `tier == "L0"` or `"L1"` or `"L2"` AND `joules_uj <= 100`
|
|
|
|
A runtime that lets an L3 model invocation run past the budget — even
|
|
if it eventually returns an answer — is **non-conformant**. The breaker
|
|
is the load-bearing safety primitive of this standard.
|
|
|
|
## Files
|
|
|
|
- `input.txt` — the query
|
|
- `budget.json` — `{ "budget_uj": 100 }`
|
|
- `receipt.json` — canonical refusal receipt the implementation must
|
|
reproduce (modulo `id` and `closed_at`)
|
|
|
|
## Why this vector matters
|
|
|
|
Without an enforceable circuit breaker, the "energy-first cascade" is a
|
|
suggestion, not a guarantee. This vector is the proof that JouleClaw's
|
|
honesty contract is observable from the outside.
|