feat(ingest): resolve project labels with Jev
CI / quality (push) Canceled after 0s

This commit is contained in:
vasily committed 2026-10-15 10:53:30 +08:00
1 parent 0e1a2ad008
commit 34f4923566
28 files changed
+3932 -81

No files matched your search

+28
View File
@@ -16,6 +16,7 @@ from gewu.domain.validation import (
assertion_digest,
edge_assertion_digest,
evidence_digest,
prepare_proposal_digests,
proposal_payload_digest,
validate_proposal,
)
@@ -51,6 +52,33 @@ def test_supported_exact_citation_and_both_bundle_policies_are_eligible() -> Non
assert set(report.affected_policy_ids) == {"dome-policy", "shared"}
def test_proposal_digest_preparation_fills_all_dependent_claim_digests() -> None:
draft = proposal().model_dump(mode="json")
draft.pop("payload_digest")
for operation in draft["operations"]:
node = operation.get("node")
if node is None:
continue
for group in ("claims", "assumptions", "limitations"):
for claim in node.get(group, []):
claim["assessment"].pop("assertion_digest")
claim["assessment"].pop("evidence_digests")
for evidence in claim["evidence"]:
evidence.pop("assertion_path")
evidence.pop("assertion_digest")
prepared = prepare_proposal_digests(draft)
assert prepared.payload_digest == proposal_payload_digest(prepared)
assert prepared.operations[1].node is not None
claim = prepared.operations[1].node.claims[0]
assert claim.evidence[0].assertion_path == "claims[0].text"
assert claim.evidence[0].assertion_digest == assertion_digest(claim.text)
assert claim.assessment.assertion_digest == assertion_digest(claim.text)
assert claim.assessment.evidence_digests == (evidence_digest(claim.evidence[0]),)
assert _validate(prepared).status == "eligible"
def test_transcript_timestamp_locator_must_match_the_cited_cue() -> None:
transcript_bytes = (
b"WEBVTT\n\n"