feat(evidence): bind WARC records to PROV JSON-LD - #217
Draft
seonghobae wants to merge 26 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks 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 |
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 current PR #210 head
529d11a3571f6b1834b9baa49ef67eb08f043978.Buyer-visible boundary
This Draft implements the next evidence-native replay boundary after schema admission and immutable WARC resource records: a bounded deterministic W3C PROV-O JSON-LD bundle that binds one already-validated WARC record to its verified source entity, one capture activity, the exact OriginWeave software revision, explicit WARC payload-completeness state, the retained payload block digest, and a SHA-256 digest of the complete deterministic WARC serialization. Raw WARC payload bytes are not embedded in the provenance document.
The in-memory bundle also exposes deterministic offline verification against a candidate validated
WarcResourceRecord. Verification binds the complete validatedProvenanceRecordtogether with WARC identity, capture time, payload digest, completeness state, and serialized-record digest. The compact JSON-LD projection exposes source URL/hash rather than claiming that serialized JSON alone preserves every internal provenance dimension.Test-first defect lineage retained by this head
The canonical branch previously repaired four concrete integrity gaps with RED regressions before production changes:
verify_record(&WarcResourceRecord)offline verification; andIt also rejects Git's forty-zero
zero-idsentinel as a software revision instead of emitting it as an immutable OriginWeave commit identity. Historical RED/intermediate/predecessor heads remain regression lineage only and are not current passing evidence.Current stack realignment
PR #210 advanced from the prior #217 merge base
597f3a653f2169364e82cb29fbf150af4bfe2e8cto exact head529d11a3571f6b1834b9baa49ef67eb08f043978, itself realigned on current #209. The previous #217 headbb7fb7604c713fe0cc46508a8e296df3c036bce9was therefore 7 commits behind its live parent.Current #217 head
56fcfa56525e4f2e980e0ee05b6776d621bcddc5is a non-destructive two-parent stack-realignment commit over that prior child head and exact #210 head. The parent-owned extraction-schema source/tests and ADR 0106 blob are inherited exactly from #210; the child-unique PROV/WARC-bundle files remain intact. No force-push or destructive rebase was used.Fresh ancestry comparison reports #217 ahead of exact #210 with 0 commits behind, with merge base exactly
529d11a3571f6b1834b9baa49ef67eb08f043978. No predecessor check or coverage result transfers to this head.Exact-current verification
Protected
mainisb05d5acca82b9d916ada2c8e82f59f92a89817e1. On unchanged exact head56fcfa56525e4f2e980e0ee05b6776d621bcddc5:32631120166: success;97173990958: repository contracts, canonical formatting, locked workspace/all-target checks, full tests, strict Clippy, and rustdoc success;97173991121: exact checkout of56fcfa56525e4f2e980e0ee05b6776d621bcddc5and owned-production enforcement success;production functions, lines, regions, and branches are 100% covered;exact-coverage-56fcfa56525e4f2e980e0ee05b6776d621bcddc5: artifact ID9491084315, uploaded ZIP SHA-256f9fd3894de6a0513d9f7ba15e29fd42626a1ad5df27abf3042c6a859d0746e0f;The same-head workflow inventory currently returns CI only. SAST / Security Scan / Manifest V3 success is therefore absent and is not claimed for this stacked head. No independent approval is claimed or inferred.
Keep this PR Draft while prerequisite #210 remains Draft and #209 remains active.
Standards and authority boundary
The non-null Git identity rule follows Git's protocol distinction between an ordinary object identifier and the forty-zero sentinel used for absent/create/delete reference state. This constraint does not authenticate GitHub or establish trust/reachability of the named commit.
This slice is provenance representation and deterministic consistency verification only. It does not authenticate the producer, cryptographically sign the record, establish factual correctness, persist WARC/PROV, authorize capture/retention/export, contact a live source, execute replay or active content, or grant browser/network/secret/model authority. The compact JSON-LD projection does not serialize internal source locator/channel, so serialized JSON alone is not proof of those internal dimensions.
No workflow, secret, governance, release, tag, publish, approval, Ready-state, or merge mutation is included.