feat(evidence): bind deterministic capture manifest identity - #222
Draft
seonghobae wants to merge 11 commits into
Draft
feat(evidence): bind deterministic capture manifest identity#222seonghobae wants to merge 11 commits into
seonghobae wants to merge 11 commits into
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
seonghobae
added a commit
that referenced
this pull request
Aug 24, 2026
- Record 158 open PRs (44 ready, 114 draft) with refreshed exact base/head evidence for the #208-#222 release, enterprise-approval, BAP, and WARC/PROV chains while retaining the 2026-08-21 rows as regression anchors. - Add governance issues #212 and #215 to the operational signal table and note issue #206 closure between snapshots. - Record the required-check provider-failure RCA for the fail-closed Strix re-dispatches on #208, #218, and #220 without weakening the gate. - Tighten the completion-gap contract so superseded inventory counts cannot pass as current evidence.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Partial implementation of #199, stacked on exact PR #217 head
56fcfa56525e4f2e980e0ee05b6776d621bcddc5.This Draft owns the next bounded structured-result-manifest identity boundary after extraction schema admission, immutable WARC records, and WARC/PROV binding.
CaptureManifestdeterministically binds the complete extraction-schema contract, exact WARC serialization identity, exact PROV JSON-LD identity, one non-null OriginWeave software revision, canonical record ordering, bounded record count, deterministic offline re-verification, and exact persisted manifest bytes. The manifest remains payload-free and grants no capture, persistence, retention, browser, network, model, secret, signing, or release authority.Test-first repair lineage
A persisted manifest previously had only in-memory reconstruction/equality verification. A generic JSON reader could therefore normalize whitespace or other serialization drift without an OriginWeave API that proves the bytes are the exact deterministic manifest serialization.
The first test-only head
3b16e2245fb7564449eac1cb36ad9adc36410ca7ran CI32678919367; its new regression was initially masked by a canonical rustfmt failure. That formatting-only test repair produced exact semantic RED head57788f271b9d74362f55d538c953ec58539d0c66. CI32679092382, Rust job97292462184, passed repository contracts and canonical formatting, then failed at workspace check with E0599 becauseCaptureManifest::verify_serialized_jsondid not exist.The canonical branch now exposes a typed exact-byte verifier. It compares candidate bytes only with
CaptureManifest::to_json()and deliberately does not parse or normalize JSON: a trailing newline or any other serialization drift isCaptureManifestVerificationError::IdentityMismatch. The operation performs no network, browser, persistence, model, signing, or authority action and does not authenticate the producer. The new public behavior is recorded in the Unreleased changelog.Exact-current evidence
The unchanged current contributor head is
1e2ce3d4071a1a75ee891bdcd71c506b3b50d4bc, with live base56fcfa56525e4f2e980e0ee05b6776d621bcddc5.On this exact head:
32679259733: success;97292944926: exact checkout of1e2ce3d4071a1a75ee891bdcd71c506b3b50d4bc; repository contracts, canonical formatting, locked workspace/all-target check, full tests, strict Clippy, and rustdoc success under the repository Rust 1.97.1 contract;persisted_capture_manifest_requires_exact_deterministic_serialization: success;97292944701: success, with the exact verifier reporting owned production functions, lines, regions, and branches all 100%;exact-coverage-1e2ce3d4071a1a75ee891bdcd71c506b3b50d4bc: artifact ID9503659846, ZIP SHA-2560dda43327a06537c9fd0605b5b6bc9d140d3a5dbce623094635c31059ebfa5c7.No exact-head SAST, Security Scan, or Manifest V3 workflow run is exposed for this stacked head, so predecessor or absent evidence is not promoted to passing. Current formal-review and inline-review-thread inventories are empty.
No predecessor check or review transfers to this branch. It remains Draft and dependency-bound on #217. Protected-main
AGENTS.mdremains authoritative; this scheduled actor does not merge, self-approve, tag, publish, mutate workflows, add secrets, or weaken gates.