{"entry":265,"type":"pre_action_verdict","created_at":1790683118,"pubkey_hex":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","event_id":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","proof_event":{"id":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","pubkey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","created_at":1790683118,"kind":30078,"tags":[["d","invinoveritas-proof-4033e819eba852018249ebc906c686bc788cb2b696f18fe77c01f947bb43f710-1790683118-93b67172"],["t","invinoveritas"],["t","proof"],["schema","invinoveritas.verdict_proof.v1"]],"content":"{\"artifact_hash\":\"4033e819eba852018249ebc906c686bc788cb2b696f18fe77c01f947bb43f710\",\"artifact_type\":\"plan\",\"canonicalization_version\":\"rfc8785.v1\",\"confidence\":0.99,\"conformance_suite\":\"https://github.com/babyblueviper1/preaction-governance-conformance\",\"context_provenance\":\"caller_asserted_unverified\",\"decision_ref\":\"sha256:883f5a8eb96b770fca0aad438db864d91c94e66e544b3515e88395fcbe7ec955\",\"decision_ref_preimage_fields\":[\"artifact_hash\",\"artifact_type\",\"policy_version\",\"verdict\",\"source_class\",\"vantage_limitation\",\"related_decision_ref\",\"intended_audience\",\"confidentiality_tier\",\"disclosed_summary\",\"intended_verifier\",\"policy_commitment\",\"verified_at\",\"registry_as_of\",\"registry_snapshot_sha256\",\"action_binding_tool_hash\",\"action_binding_args_hash\",\"action_binding_agent_id\",\"action_binding_nonce\",\"freshness_beacon_hash\",\"epistemic_basis\",\"external_evidence_hash\",\"canonicalization_version\",\"related_claims_hash\",\"related_claims_result\",\"related_claims_comparison_version\",\"mediator_attestation_hash\"],\"decision_ref_preimage_rule\":\"every name in decision_ref_preimage_fields is a key in the hashed preimage object, always -- absent fields (e.g. vantage_limitation when not applicable) are present as JSON null, never omitted from the object.\",\"engine_generation\":1,\"epistemic_basis\":null,\"freshness_beacon\":{\"block_time\":1790683143,\"hash\":\"000000000000000000012fd2652bf345017b75a91ea2fe8c80fc966a9f3e51a2\",\"height\":969150,\"source\":\"bitcoin\"},\"freshness_beacon_hash\":\"sha256:f6b44efb5f34583794c6d540481d81899266cd7d20ac257f8644cfbe9d7af76d\",\"independent_nodes\":[\"https://invinoveritas-castra.babyblueviper.workers.dev/verify\",\"https://babyblueviper1--2aba75da693711f185891607ee4eb77e.web.val.run\"],\"key_id\":\"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7\",\"platform\":\"invinoveritas\",\"policy_commitment\":\"sha256:ce58857dea9f9851394bd3126f9aca28b8ef7cc95cc3562ab0e4a863f8be73fe\",\"policy_commitment_inputs\":{\"conformance_suite_commit\":\"e90948ed3eb9d36eb1d0997ea4d02045e28a405a\",\"conformance_suite_repo\":\"babyblueviper1/preaction-governance-conformance\",\"rubric_doc_path\":\"docs/policy_spec/invinoveritas.review.v12.md\",\"rubric_sha256\":\"bb74afa68bd5e8b1ca1038d8f0c8cd9a0d1f83888a7ea7df7c551f579a974180\"},\"policy_version\":\"invinoveritas.review.v22\",\"registry_as_of\":null,\"registry_snapshot_sha256\":null,\"related_claims_result\":\"not_supplied\",\"review_model_hash\":\"deda3dc02a1d1575f15d5c9f9b3e31cf0c768a55508c31e7ff0f4fc8f33fc669\",\"review_prompt_template_hash\":\"13a72a4c1e3a99b969ac46b724eceef6620716292f2b730f19915cdd469c1e31\",\"schema\":\"invinoveritas.verdict_proof.v1\",\"source_class\":\"agent_reported\",\"summary_hash\":\"e6040d4725201652804e76c1e785e10a91b984285104a22d7bd48f61d1f0f887\",\"verdict\":\"reject\",\"verified_at\":1790683117,\"verifier_keys\":\"https://api.babyblueviper.com/.well-known/verifier-keys.json\",\"verifier_pubkey\":\"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7\",\"verify_how\":\"Easiest: install the offline verifier above and recompute locally. Or POST this proof's signed `event` to verify_url (or an independent_node), OR run NIP-01 yourself: recompute the Nostr event id = sha256([0,pubkey,created_at,kind,tags,content]), verify the schnorr signature against verifier_pubkey. valid ⇒ invinoveritas issued this, untampered. No trust required.\",\"verify_offline\":\"npm i invinoveritas-verify  ·  pip install invinoveritas-verify  — recompute this proof on your own machine against verifier_pubkey; you never have to call us.\",\"verify_url\":\"https://api.babyblueviper.com/verify-proof\"}","sig":"33995b7037c320b3f9f5a09d2da99e5a955e3df7a13436177c17009322b50a104099c4147f2b406d6a0f90fc02ba1bbdb7075e86f7eb420d80d9815281d322d4"},"record":{"ledger":"invinoveritas verdict ledger","entry":265,"type":"pre_action_verdict","title":"Forward verdict: recompute-kit canonical CI passes reporter adapters on exit 0 (resolves by 2026-10-31)","what":"A SIGNED, artifact-bound verdict committed and published BEFORE its outcome exists. The schnorr signature binds the verdict + a hash of the exact reviewed artifact to our published key; the entry is Bitcoin-anchored (OTS) while still unsettled, so the anchor provably PRECEDES the outcome. Verify via POST /verify-proof or NIP-01, with no trust in us. Outcome will be appended in place at /ledger/{n}/outcome when the action resolves.","verdict":{"verdict":"reject","confidence":0.99,"summary":"Exit-status-only grading is not sound for a recomputable conformance kit when reporter-shape adapters can exit 0 while emitting results that contradict hash-pinned expected vectors. The reproduced mutation demonstrates a false-positive conformance pass in the canonical CI path, defeating the kit's stated verification purpose.","issues":[{"severity":"blocker","category":"correctness","description":"The canonical runner treats adapter process exit status 0 as proof that the suite passed without validating the emitted per-vector results against `vectors[].expected`. A reporter can return success while producing arbitrary or deliberately incorrect output; the cited mutation reproduces exactly this condition and still yields canonical PASS despite the independent suite reporting 0/10 reproduced.","suggested_fix":"Make `tools/run_conformance.py` parse a canonical machine-readable result for every vector and fail unless each reported value matches the hash-pinned `vectors[].expected`; retain exit status only as a process-health signal."},{"severity":"high","category":"missing_check","description":"The current CI negative control only covers a self-grading adapter that exits nonzero on its own mismatch, so it cannot detect the canonical runner's missing oracle check. It provides no regression protection for reporters that successfully run and emit wrong results.","suggested_fix":"Add a CI fixture whose adapter exits 0 but intentionally emits a wrong value for at least one vector, and assert `tools/run_conformance.py` fails the suite."},{"severity":"high","category":"intent_mismatch","description":"A canonical CI result labelled PASS currently means only that an adapter completed successfully, not that the claimed computation was reproduced. This is materially narrower than 'recomputable conformance' and permits false public claims of conformance for adapters that ignore inputs, hardcode output, or bypass mutation guards.","suggested_fix":"Define the canonical PASS contract explicitly as successful execution plus deterministic, schema-valid, per-vector equality with pinned expected outputs, and enforce that contract in CI."}]},"proof":{"event_id":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","pubkey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","artifact_sha256_in_event":true,"how_to_verify":"POST /verify-proof with this Nostr event, or run NIP-01; the artifact_hash binds it to the exact artifact reviewed."},"outcome_status":"pending — settles when the action resolves","ts":1790683118},"posted_at":1790683118,"relays":["relay.damus.io","relay.primal.net"],"posted":true,"ots_anchor":{"mechanism":"opentimestamps-bitcoin-pow","digest":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","digest_meaning":"the verdict's signed Nostr event_id, stamped as the OTS digest directly","status":"confirmed","precedence":true,"precedence_basis":"stamped pre-outcome — entry unsettled and fresh at stamp time","calendars":["https://a.pool.opentimestamps.org","https://b.pool.opentimestamps.org","https://a.pool.eternitywall.com","https://ots.btc.catallaxy.com"],"stamped_at":"2026-09-29T12:12:48Z","ots_path":"/data/track_record/ots/c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d.ots","verify":"ots verify -d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d.ots  (recomputable against any Bitcoin explorer; no trust in us)","bitcoin_block_height":969156,"confirmed_at":"2026-09-29T13:48:05Z","bitcoin_block_time":1790685635,"bitcoin_block_hash":"000000000000000000008180db9d3c51c8e9ba147becb3d2286a68b65a279e7a","ots_proof_url":"https://api.babyblueviper.com/ledger/265/ots"},"commitment_proof":{"mechanism":"nostr-relay-publication","event_id":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","signed_at":1790683118,"published_at":1790683118,"relays":["relay.damus.io","relay.primal.net"],"how_to_check":"fetch the event by id from any listed public relay and confirm created_at; relays held the signed verdict from published_at, before the outcome settled","ots_anchor":{"mechanism":"opentimestamps-bitcoin-pow","digest":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d","digest_meaning":"the verdict's signed Nostr event_id, stamped as the OTS digest directly","status":"confirmed","precedence":true,"precedence_basis":"stamped pre-outcome — entry unsettled and fresh at stamp time","calendars":["https://a.pool.opentimestamps.org","https://b.pool.opentimestamps.org","https://a.pool.eternitywall.com","https://ots.btc.catallaxy.com"],"stamped_at":"2026-09-29T12:12:48Z","ots_path":"/data/track_record/ots/c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d.ots","verify":"ots verify -d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d.ots  (recomputable against any Bitcoin explorer; no trust in us)","bitcoin_block_height":969156,"confirmed_at":"2026-09-29T13:48:05Z","bitcoin_block_time":1790685635,"bitcoin_block_hash":"000000000000000000008180db9d3c51c8e9ba147becb3d2286a68b65a279e7a","ots_proof_url":"https://api.babyblueviper.com/ledger/265/ots"},"timing":{"hierarchy":"Bitcoin PoW (OpenTimestamps, trust-maximal) > original relay copy (tightest time) > on-chain committedAt > survivor floor (ERC-8299 Appendix B)","tier":0,"timestamp":1790685635,"claim":"Bitcoin proof-of-work (OpenTimestamps): the verdict event_id provably existed by this block's timestamp, anchored to a clock no chain operator or our key can move or back-date. Trust-maximal; the relay tier gives a tighter time on weaker trust.","available":{"tier0_btc_pow":1790685635,"tier1_relay_attested":null,"tier2_onchain_committed_at":null,"tier3_survivor_floor":null},"btc_pow":{"status":"confirmed","precedence":true,"bitcoin_block_height":969156,"bitcoin_block_time":1790685635,"verify":"ots verify -d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d.ots  (recomputable against any Bitcoin explorer; no trust in us)","note":"trust-maximal anchor, un-forgeable Bitcoin proof-of-work — pre-outcome precedence","precedence_cross_check":null},"committed_at":null,"committed_at_reference":"judgment_type=outcome_verifiable (ERC-8274): committed_at MUST predate the realized outcome's settlement. committed_at is the tier-2 on-chain committedAt sourced from the ERC-8263 proofHash leg (see truthanchor_8263) — distinct from the ERC-8281/OCP input anchor, which commits the input, not the verdict."},"judgment_type":"outcome_verifiable"},"judgment_execution":{"spec":"JudgmentExecutionAttestation — ERC-8299 L4 composition (reviewed→executed commitment; origin t/28655 #11)","hash_alg":"sha256","raw_proposal_hash":"4033e819eba852018249ebc906c686bc788cb2b696f18fe77c01f947bb43f710","verdict_ref":{"binding":"nostr-event","event_id":"c5e7b2ebf5aab094d25f38549b24dd07f297d6261c9ff71ba00bcda58f69eb6d"},"verdict_timestamp":1790683118,"executed_action_hash":null,"status":"entry predates executed-intent commitment wiring; action_taken is disclosed in the record and the outcome settled on-chain, but no separate executed-action hash was committed at the time (not backfilled by design)"},"outcome_evidence":{"question":"was the verdict later right or wrong? (distinct from commitment_proof's 'was it committed before the outcome was known?')","mechanism":"on-chain-settlement","account":"0x3b2A858806Fa4DEb9191Bb7918350fDB774603A4","note":"every governed trade settles on this public Hyperliquid account; the signed trade-outcome digest entries below contain the settled rows published at/after this verdict — wins AND losses","settled_digests":[],"status":"pending"}}