{"entry":273,"type":"pre_action_verdict","created_at":1791942294,"pubkey_hex":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","event_id":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","proof_event":{"id":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","pubkey":"6786e18a864893a900bd9858e650f67ccc3513f248fed374b591e2ff6922fbb7","created_at":1791942294,"kind":30078,"tags":[["d","invinoveritas-proof-a22a4dcb9d9700f4d99b14ccd6ac468191cbc4338f9aa617b980a2ad8942503e-1791942294-33c8966d"],["t","invinoveritas"],["t","proof"],["schema","invinoveritas.verdict_proof.v1"]],"content":"{\"artifact_hash\":\"a22a4dcb9d9700f4d99b14ccd6ac468191cbc4338f9aa617b980a2ad8942503e\",\"artifact_type\":\"plan\",\"canonicalization_version\":\"rfc8785.v1\",\"confidence\":0.94,\"conformance_suite\":\"https://github.com/babyblueviper1/preaction-governance-conformance\",\"context_provenance\":\"caller_asserted_unverified\",\"decision_ref\":\"sha256:e1ce87c0feb5518e95002a741b7390126946157e3c33c5aeaf986705868ccfea\",\"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\":1791941977,\"hash\":\"00000000000000000001a1dc3ff9c2b8e667292a2a5c4160164207275469d569\",\"height\":971333,\"source\":\"bitcoin\"},\"freshness_beacon_hash\":\"sha256:820d335df2cdacf3bc4ab1265f7b61bfa3f238dcd638a5d3520a3bd67926688d\",\"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\":\"7a4dedf3d1c1d763034fd1dd65b9980084e3c3c91b658a7a1df2aa7c9a7f2bb4\",\"verdict\":\"reject\",\"verified_at\":1791942294,\"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":"ed47cd50487597331f56341a816a504589c13d40f308c50b9107b915c489a211fc361637e0597b3d1eb5575162c501c1990dbd25ae9a6c8b6d2c6d32c9ff40e3"},"record":{"ledger":"invinoveritas verdict ledger","entry":273,"type":"pre_action_verdict","title":"Forward verdict: agent-evidence-atlas file-effect ordering settles only via a write bound to decision_ref (resolves when #53/#76 records it, by 2026-12-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.94,"summary":"The plan correctly rejects timestamp-only evidence, but its PASS condition does not establish ordering as written. A writer can create or amend a bytes-bound companion manifest after the decision and include the already-known decision_ref, producing evidence that satisfies the stated content-binding test while proving nothing about when the file effect occurred.","issues":[{"severity":"blocker","category":"correctness","description":"The PASS criterion is internally inconsistent with the FAIL criterion: it permits a \"companion manifest that is itself bound to [the bytes]\" to commit to decision_ref, while rejecting \"a binding the writer can add after the decision.\" A bytes-bound manifest can normally be generated after the decision, then hash or otherwise bind the existing file bytes and decision_ref. An independent reader can verify the binding but cannot infer that the file write followed the decision.","suggested_fix":"Specify an append-only, independently verifiable protocol in which the actual written artifact is atomically committed with a decision_ref that was unavailable before the verdict, and require the reader to verify both the artifact hash and immutable publication/provenance record."},{"severity":"blocker","category":"missing_check","description":"The plan never requires that decision_ref be unpredictable or unavailable to the writer before the covering decision is made. If case or decision references are allocated before deliberation, the writer can place decision_ref in file bytes before the decision, and the later verdict will falsely appear to authorize an already-completed effect.","suggested_fix":"Require a verdict-time fresh challenge/nonce or signed verdict digest whose value is not disclosed to the writer before the decision, and have the effect artifact commit to that value."},{"severity":"high","category":"correctness","description":"\"Verified by a reader that never saw the decision\" is underspecified: without a canonical verifier, exact artifact identifier/hash, trust anchor, and immutable evidence location, different readers can accept a rewritten manifest, a different file version, or a self-attested writer timestamp.","suggested_fix":"Define a reproducible verifier that takes the canonical decision record, artifact hash/version, and append-only evidence record; state the signature keys or trusted repository history it must validate."},{"severity":"medium","category":"intent_mismatch","description":"The reference analogy to EIP-3009 is incomplete for a file effect. A nonce inside an authorization can constrain when that authorization was created, but a file can be overwritten, copied, or accompanied by a later manifest; the plan does not identify which exact file-write event or immutable repository version is the effect being ordered.","suggested_fix":"Define the effect as a specific immutable object/version (for example, content hash plus signed append-only repository commit) and require that exact object, not merely equivalent current bytes, to contain the post-verdict commitment."}]},"proof":{"event_id":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","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":1791942294},"posted_at":1791942294,"relays":["relay.damus.io","nos.lol","relay.primal.net"],"posted":true,"chain":{"prev_head_hash":"4106636b263aa8e7e83573496b2d427f1cad8f0f0402855ced47c7e15b9acc35","content_hash":"9be8c48fce35ff8e6ca4f627a08424a4cdbf0d9d492ec5ed6576dae3e410b378","head_hash":"787dbd9c01b6e134bb54cd426f58a00d9bd2d34f96fbd85f2714f5602a521828"},"chain_head_relays":["relay.damus.io","nos.lol","relay.primal.net","offchain.pub","relay.nostr.net","nostr.mom","relay.snort.social"],"ots_anchor":{"mechanism":"opentimestamps-bitcoin-pow","digest":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","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-10-14T02:01:14Z","ots_path":"/data/track_record/ots/0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687.ots","verify":"ots verify -d 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687.ots  (recomputable against any Bitcoin explorer; no trust in us)","bitcoin_block_height":971337,"confirmed_at":"2026-10-14T03:03:57Z","bitcoin_block_time":1791944460,"bitcoin_block_hash":"00000000000000000001c6048262d1580b771d725c015d87f043f693644da5f7","ots_proof_url":"https://api.babyblueviper.com/ledger/273/ots"},"relay_anchor":{"checked_at":1792657245,"relays_holding":["relay.damus.io","relay.primal.net"],"status":"anchored"},"commitment_proof":{"mechanism":"nostr-relay-publication","event_id":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","signed_at":1791942294,"published_at":1791942294,"relays":["relay.damus.io","nos.lol","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","relay_anchor":{"checked_at":1792657245,"relays_holding":["relay.damus.io","relay.primal.net"],"status":"anchored"},"ots_anchor":{"mechanism":"opentimestamps-bitcoin-pow","digest":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687","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-10-14T02:01:14Z","ots_path":"/data/track_record/ots/0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687.ots","verify":"ots verify -d 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687.ots  (recomputable against any Bitcoin explorer; no trust in us)","bitcoin_block_height":971337,"confirmed_at":"2026-10-14T03:03:57Z","bitcoin_block_time":1791944460,"bitcoin_block_hash":"00000000000000000001c6048262d1580b771d725c015d87f043f693644da5f7","ots_proof_url":"https://api.babyblueviper.com/ledger/273/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":1791944460,"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":1791944460,"tier1_relay_attested":1791942294,"tier2_onchain_committed_at":null,"tier3_survivor_floor":null},"btc_pow":{"status":"confirmed","precedence":true,"bitcoin_block_height":971337,"bitcoin_block_time":1791944460,"verify":"ots verify -d 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687 0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687.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":"a22a4dcb9d9700f4d99b14ccd6ac468191cbc4338f9aa617b980a2ad8942503e","verdict_ref":{"binding":"nostr-event","event_id":"0fcb7fa949183fea60ebe965ba3c5abaef9ef77e771b1aa050c6389396dc6687"},"verdict_timestamp":1791942294,"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"}}