feat(analysis): bind prediction-contradiction refusals to an analysis-run profile - #487
Draft
seonghobae wants to merge 5 commits into
Conversation
…-run profile GAP-004: cutoff-safe prediction_contradiction_v1 / tepp.prediction_contradiction.v1. Binds refuse_promotion already on protected main. Distinct from support-edge, summarizes-edge, retrospective-edge, role-contradiction, subevent-containment, inferred-status, episode-membership, relation-absence, outcome-order, membership-target, citation-edge, and copy-identity. contradiction_agreement_rate stays library-side. AvailableTime cutoff runs before duplicate checks; MAX_EVIDENCE_UNITS bounds execution and artifact validation.
|
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 |
This was referenced Sep 3, 2026
seonghobae
changed the base branch from
main
to
feat/copy-identity-analysis-run-gap-004
September 3, 2026 01:00
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.
Consolidation status
fold_into_landing_vehicle—prediction_contradiction_v1/tepp.prediction_contradiction.v1is a Validation / Analysis Run profile and changes the same shared integration surface as #416 (Cargo.lock,crates/analysis_engine/Cargo.toml,crates/analysis_engine/src/lib.rs,DOCUMENTATION.md,docs/TRACEABILITY.md, anddocs/adr/README.md). It remains a Draft fold child of #416, not an independent protected-main landing authority.Current exact child head:
e07b2ff9f78ef456ff911b8643710af20921fe54. Current surviving #416 head:0b7155cc238defb1e55129ff3000658f04b343cf. Retargeting is non-destructive; unique source/tests/doctoring remain here until a real conflict-resolving fold verifies inheritance on the surviving head.Scientific finding and repair
The initial profile incorrectly treated a deliberately mixed four-class fixture as a production-data prerequisite:
assignment_count >= 4and nonzero covered, partial-overlap, adjacent, and contradictory counts were required during execution/artifact validation. Those Allen support classes are observations, not design strata. A real historical census may legitimately contain only covered predictions or only contradictions; absence of a relation class must remain a truthful zero count.RED
a2892b6ad4f632882f63da39eed2d4706ddf9213adds covered-only and contradiction-only censuses. Causal source repaira64020152300232cb3214a66b45d97225b6d2b5bremoves the artificial minimum/four-class gate while preserving nonempty admitted evidence,MAX_EVIDENCE_UNITS, exact class-count sums,refused_promotion_count + covered_count == assignment_count, cutoff-before-duplicate admission, digest validation, and the fixed claim boundary.6b0c8de64f41bc11f8bf908e0f9cbe854c1e213cremoves predecessor tests that encoded the rejected fixture-as-validity rule.Fresh docs-to-code review found ADR 0079 still contradicted that repaired source: it remained
Acceptedon a conflicted fold child and still said a mixed four-class census was required. Commite07b2ff9f78ef456ff911b8643710af20921fe54repairs the ADR toProposedimplementation lineage under ADR 0002/0016/0022, removes the false class-strata prerequisite, records sparse-census RED/repair lineage, and leaves canonical ADR identity/status normalization to #437. The shared ADR index remains part of the #416 conflict-resolving fold surface rather than independent architecture authority on this child.The four-class mixed fixture remains useful coverage because it exercises every
PredictionContradictionErrormapping; it is not a scientific eligibility condition.Preserved profile evidence
prediction_contradiction_v1; schematepp.prediction_contradiction.v1.unmatched_prediction_is_not_observed.prediction_contradiction::refuse_promotionsemantics rather than duplicating interval truth.KnowledgeCutoff::instant().AvailableTime <= knowledge_cutoffadmission occurs before duplicate-identity checks, so future-unavailable rows cannot perturb historical identity/count results.MAX_EVIDENCE_UNITSbounds execution admission and artifact validation.contradiction_agreement_rateremains library-side; inspect payloads remain metric-free.Exact-head merge authority
Only the eventual surviving #416/successor exact head counts after the fold. Child-head checks/reviews do not transfer. Reacquire all required workflows and qualifying independent review on the eventual surviving head. No self-approval, force push, destructive rebase, routine admin bypass, or child-head evidence transfer.