open-standards/jouleclaw/conformance/v1/cache-hit
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 0074239638 jouleclaw v0.1 polish: LawfulTier trait, jouleclaw-edge port,
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]>
2026-05-26 22:24:13 -04:00
..
input.txt jouleclaw v0.1 polish: LawfulTier trait, jouleclaw-edge port, 2026-05-26 22:24:13 -04:00
README.md jouleclaw v0.1 polish: LawfulTier trait, jouleclaw-edge port, 2026-05-26 22:24:13 -04:00
receipt.json jouleclaw v0.1 polish: LawfulTier trait, jouleclaw-edge port, 2026-05-26 22:24:13 -04:00

Conformance vector — cache-hit (L0)

Exercises the L0:Cache tier. A conforming runtime MUST resolve a repeat query at L0 and emit a receipt whose tier == "L0" and whose tools_touched is empty.

What the runtime does

  1. Receives input.txt for the first time. Resolves it through the normal cascade (any tier may answer — doesn't matter for this vector). Caches the result keyed by blake3(normalised_input).
  2. Receives the same input a second time. The L0 cache lookup hits and the runtime returns the cached answer without invoking any downstream tier.
  3. Emits the receipt in receipt.json for the second invocation.

Acceptance bounds

The conforming implementation's receipt for the second invocation MUST match the canonical receipt on:

  • tier — exactly "L0"
  • input_hash — exactly the canonical value
  • tools_touched — exactly empty ([])
  • claims — exactly empty ([])
  • joules_uj — within the platform's Provenance band:
    • HwShunt: declared ± 20%
    • ModelBased: declared ± 50%
    • Estimator: declared ± 200%

id and closed_at are per-run and not compared.

Files

  • input.txt — the repeated query
  • receipt.json — the canonical receipt the second invocation must reproduce (reference hardware: Apple M5 Max, jouleclaw-rs v0.1.0)

This is the simplest conformance vector. Any runtime that can't pass this one isn't a JouleClaw runtime — it's just an inference server with the word "JouleClaw" pasted on top.