open-standards/jouleclaw/jouleclaw-rs/crates/jouleclaw-verifiers-export/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science ce06eaeddc jouleclaw: R1 consolidation + G1 categorical layer + G2 verifiers-export + G3 MDL/AIC scorers
Honest accounting: prior 8 waves (63-70) shipped duplications.
Reading every Cargo.toml against the additions revealed multiple
near-duplicates of existing crates. This commit consolidates the
recent waves AND ships the two GENUINELY missing primitives the
field has been naming.

R1 — Consolidation

R1.1 jouleclaw-otel-genai (wave-60) vs existing jouleclaw-otel:
  Scope-clarification README. Existing crate is the projection
  layer (Receipt → SpanData with gen_ai.* string keys); wave-60
  is the typed-attribute namespace (GenAiOperation,
  GenAiSpanAttrs). Both coexist; jouleclaw-openinference (wave-61)
  is the consumer of the typed shapes.

R1.2 jouleclaw-sandbox-tier (wave-56) vs jouleclaw-sandbox-protocol:
  Trait-name collision resolved. Renamed wave-56 trait
  SandboxRuntime → TierIsolation. Different layers (subprocess
  lifecycle vs in-process closure isolation); name now reflects
  that. README delineates when to use which.

R1.3 jouleclaw-oracle-lean (wave-55) vs jouleclaw-formalize:
  Complementary, not duplicate. README documents the chain:
  faithfulness check (formalize) → compile (oracle-lean) →
  Verdict. AlphaProof / AlphaGeometry doctrine: compiler exit
  rules out hallucinations only if formalization is faithful.

R1.4 jouleclaw-determinism-check (wave-70) wired to consume
  jouleclaw-pin::InferencePin. ProbeBackend::pin() default = None
  for legacy backends; full DeterminismReport now carries the
  signed pin as the receipt-grade truth alongside the coarse
  DeterminismMode label. New check_pin_well_formed verifies
  batch_invariant ⇒ batch_size pinned. 12 tests pass (was 12).

G3 — MDL + AIC scorers (no new crate)

jouleclaw-revise::information_criteria new sub-module. MDL +
AIC information criteria as jouleclaw_bounded::Scored impls
over a typed ModelCandidate (description_bits, residual_bits,
num_parameters, log_likelihood). Sign convention:
score.value = -criterion so the revise loop's higher-is-better
threshold logic accepts iff the criterion improves. Required by
the Buehler 2026 categorical framework's MDL/AIC gates.
8 new tests; 18 total pass on jouleclaw-revise.

G1 — Categorical typed shapes (new crate jouleclaw-category)

Implements the substrate of Wang & Buehler 2026 (arxiv
2606.01444): self-revising discovery systems. The schema-
mutation case the existing event-log + graph (fixed-schema
endofunctors) didn't have.

  - Schema (objects + morphisms; the category S_b)
  - Copresheaf<T> (typed I_t: S → Set; system state)
  - Element<T> + category_of_elements (∫_S I_t provenance walk)
  - Endofunctor trait + apply_endofunctor (same-schema update)
  - SchemaMigration (u: S → S' object map)
  - left_kan_extension(state, migration) → LeftKanResult:
    transported copresheaf over the new schema + residual
    artifacts whose source object had no image. The 'novel
    content beyond functorial transport' Buehler names.

  15 tests pass.

G2 — Prime Intellect Verifiers env exporter (new crate
jouleclaw-verifiers-export)

Closes Lewis Tunstall's explicit 2026 gap ('no Rust-native
receipt-sealed RL envs'). Adapter that emits a typed
VerifiersEnvManifest a Python harness can publish via
'prime env push'.

Mapping:
  - jouleclaw-oracle Verdict → Rubric reward function
  - jouleclaw-event-log EventLog → trajectory state
  - jouleclaw-sandbox-protocol SandboxRuntime → harness execution
  - jouleclaw-jcr1 Receipt → signed eval transcript

VerifiersEnvManifest + RewardFunctionSpec + HarnessSpec
(Subprocess / Ffi / Wasm bridges) + TasksetSpec (HfDataset /
LocalJsonl / Procedural) + from_substrate convenience builder +
canonical JSON + BLAKE3 seal.

12 tests pass.

CRATES NOT SHIPPED (correcting prior plan):
  - jouleclaw-mdl-gate (planned wave-71) — became
    jouleclaw-revise::information_criteria sub-module.
  - jouleclaw-builder-breaker (planned wave-72) — duplicates
    jouleclaw-critic; not built.

Workspace check clean; cargo check --workspace --all-targets
passes. 47 new tests across G1+G2+G3+R1.4 wiring.

Co-Authored-By: Claude Opus 4.7 <[email protected]>
2026-06-06 02:55:19 -04:00
..
lib.rs jouleclaw: R1 consolidation + G1 categorical layer + G2 verifiers-export + G3 MDL/AIC scorers 2026-06-06 02:55:19 -04:00