Status
Deferred candidate. This issue preserves the proposed contract; it is not implementation authority. Promotion requires a real producer-to-consumer round trip.
Problem
Proofkit can admit proof shape but has no dedicated generic record for exact comparison of a measured value against prior baseline evidence. Adding a public command before a real producer and downstream consumer exist would be speculative API.
Promotion Predicate
Promote only after all are available:
- a real execution-receipt producer with an owner projection binding witness and metric identities;
- a real baseline value-evidence producer;
- a downstream consumer that admits the emitted baseline projection;
- producer-output-to-downstream-admission round-trip fixtures;
- an explicit decision whether compact proof consumers receive or intentionally omit value evidence.
Candidate Command And Record
Add a separate value-evidence-admission command with tagged proofkit.value-evidence.v1 input. Do not reinterpret existing proof receipt or requirement-binding fields.
Each comparison binds valueEvidenceId, witnessId, executionReceiptRef, baselineEvidenceRef, metricId, measurementVersion, direction, comparator, observed value, corpus identity/digest, corpus size, run count, dispersion, optional compatibility policy, and additive non-claims.
The typed reference catalog is a discriminated union of execution receipts and prior value-evidence records. For each entry, evidenceRef and sourceDigest equal SHA-256 of the canonical admitted semantic projection. Resolve each reference once into immutable records. Require witness and metric equality across execution, current comparison, and baseline; reject self-baselines.
Numeric And Unit Contract
Use exact canonical decimal strings: no exponent, leading plus, unnecessary leading/trailing zero, negative zero, rounding, or binary-float fallback; precision <= 38 and scale <= 18. Reject overflow. Units are (unitId, exponent). Metric values use exponent 1. Dispersion is exactly standard deviation, variance, or coefficient of variation with dimensionally valid units. Corpus size and run count are at least two.
For higher-is-better, pass when observed >= baseline - allowed delta. For lower-is-better, pass when observed <= baseline + allowed delta. Direction and operator must agree.
Required Falsifiers
- equality and just-inside/outside boundaries in both directions;
- unsafe float counterexamples and precision/scale/carry overflow;
- mixed units and invalid dispersion dimensions;
- missing, duplicate, self, wrong-kind, witness-mismatched, metric-mismatched, and digest-spoofed refs;
- corpus/version mismatch with and without explicit policy;
- JSON representation variants retain identity while semantic mutation changes it;
- caller mutation after admission cannot change comparison;
- actual emitted baseline projection round-trips through downstream admission.
Non-Claims
Arithmetic consistency does not authenticate producers, prove benchmark execution, corpus completeness, source freshness, product improvement, merge approval, release, rollout, or production readiness.
Rollback
Remove the new command, versioned contract, family-catalog row, requirement/binding/witness owners, and tests. Existing receipt and binding admission remains byte-compatible.
Status
Deferred candidate. This issue preserves the proposed contract; it is not implementation authority. Promotion requires a real producer-to-consumer round trip.
Problem
Proofkit can admit proof shape but has no dedicated generic record for exact comparison of a measured value against prior baseline evidence. Adding a public command before a real producer and downstream consumer exist would be speculative API.
Promotion Predicate
Promote only after all are available:
Candidate Command And Record
Add a separate
value-evidence-admissioncommand with taggedproofkit.value-evidence.v1input. Do not reinterpret existing proof receipt or requirement-binding fields.Each comparison binds
valueEvidenceId,witnessId,executionReceiptRef,baselineEvidenceRef,metricId,measurementVersion, direction, comparator, observed value, corpus identity/digest, corpus size, run count, dispersion, optional compatibility policy, and additive non-claims.The typed reference catalog is a discriminated union of execution receipts and prior value-evidence records. For each entry,
evidenceRefandsourceDigestequal SHA-256 of the canonical admitted semantic projection. Resolve each reference once into immutable records. Require witness and metric equality across execution, current comparison, and baseline; reject self-baselines.Numeric And Unit Contract
Use exact canonical decimal strings: no exponent, leading plus, unnecessary leading/trailing zero, negative zero, rounding, or binary-float fallback; precision <= 38 and scale <= 18. Reject overflow. Units are
(unitId, exponent). Metric values use exponent 1. Dispersion is exactly standard deviation, variance, or coefficient of variation with dimensionally valid units. Corpus size and run count are at least two.For higher-is-better, pass when observed >= baseline - allowed delta. For lower-is-better, pass when observed <= baseline + allowed delta. Direction and operator must agree.
Required Falsifiers
Non-Claims
Arithmetic consistency does not authenticate producers, prove benchmark execution, corpus completeness, source freshness, product improvement, merge approval, release, rollout, or production readiness.
Rollback
Remove the new command, versioned contract, family-catalog row, requirement/binding/witness owners, and tests. Existing receipt and binding admission remains byte-compatible.