Skip to content

spec(reasoning): wire the Assay into ReasoningReceipt (run-level epistemic posture)#199

Merged
mdheller merged 1 commit into
mainfrom
spec/assay-receipt-wiring
Jul 5, 2026
Merged

spec(reasoning): wire the Assay into ReasoningReceipt (run-level epistemic posture)#199
mdheller merged 1 commit into
mainfrom
spec/assay-receipt-wiring

Conversation

@mdheller

@mdheller mdheller commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

What

Follow-on to #198 (the Epistemic Assay). Adds the optional ReasoningReceipt.assay block — the receipt landing spot the Assay design reserved for binding + verifier calibration.

Why

#198 shipped ReasoningAssay (per-claim, 5-axis) and AssayStandard (verifier calibration). A run's receipt had no way to carry the epistemic posture of the claims produced in it. This wires that in.

How

  • schemas/ReasoningReceipt.json — new optional assay object:
    • assayRefs — URNs of the run's ReasoningAssay records (referenced, not embedded, so each verdict stays independently re-projectable when an AssayStandard improves)
    • overallState — the ok/sad/bad projection for the run's overall answer (weakest-link readout)
    • binding — weakest evidence binding across the run (a single post-hoc claim pulls the run to post-hoc)
    • calibrationRef — the AssayStandard the overall verdict rests on
    • counts — per-state tally; projectedAt — when the summary was projected
  • examples/reasoning_receipt.json — references the existing superconscious-demo-ok assay (same runRef), self-consistent ok posture.
  • README + CHANGELOG updated.

Design fidelity

  • The summary is a cache, never authoritative over the assays — re-derivable by re-projecting the referenced records. Same "keep every arm, re-judge history" discipline as the assay itself.
  • EventEnvelope needs no structural change: each assay's authority axis already mirrors EventEnvelope.actor/integrity by reference, so authenticity is corroborated from the envelope, not asserted by content.
  • Backward-compatible: assay is optional and ReasoningReceipt is additionalProperties: true, so all existing receipts remain valid.

Validation

make validate-reasoning-examples green — 13/13 checks, including reasoning_receipt.json against the updated schema and projection-soundness on all three assay fixtures.

🤖 Generated with Claude Code

Add optional ReasoningReceipt.assay — the reserved receipt landing spot
for the epistemic Assay (PR #198 follow-on). Run-level, render-time
summary that references its run's ReasoningAssay records by URN
(assayRefs, so verdicts stay independently re-projectable) and surfaces
overallState, weakest-link binding, verifier calibrationRef, per-state
counts, and projectedAt. A cache, never authoritative over the assays.

EventEnvelope needs no structural change: each assay's authority axis
already mirrors EventEnvelope.actor/integrity by reference.

Backward-compatible (optional field). validate-reasoning-examples green.
@mdheller mdheller merged commit c13eb41 into main Jul 5, 2026
7 checks passed
@mdheller mdheller deleted the spec/assay-receipt-wiring branch July 5, 2026 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant