feat(rag): govern perturbation anchors - #777
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml 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 |
|
@opencode-agent address Bounded GREEN implementation handoff for Draft #777. Immediately before any source write, refetch exact source head First run
Keep Draft until exact-head evidence is complete; then stop writing for independent review/merge. |
|
Superseded by surgical GREEN on current main. |
Buyer-visible RAG validation gap
Issue #607 requires deterministic construct-specific perturbation anchors so reference-free RAG validation is not reduced to raw judge averages or ungoverned prompt experiments. Protected main already has the governed RAG request/provenance boundary; this Draft implements the next bounded, provider-free validation-contract slice.
Implemented contract
fast_mlsirm.scoring.ragprovides an immutable, source-free, content-addressedRAGPerturbationAnchorcontract with finite preregistered perturbation semantics:grounded_generationdecreases;grounded_generationdecreases;retrieval_relevancedecreases;coverage_or_completeness_proxydecreases;citation_attributiondecreases;robustnessinvariant;robustnessinvariant; andanswerability_and_abstentionincreases.Baseline and perturbed governed request fingerprints are mandatory, normalized and distinct. Unknown perturbations, malformed fingerprints and no-op request pairs fail closed. The canonical anchor fingerprint covers immutable anchor content through the shared contract machinery. Raw query/context/answer/source text remains absent from this contract surface.
Scientific / ownership boundary
This change is validation/provenance marshalling only. It introduces no provider call, metric arithmetic, thresholding, retrieval, calibration numerical kernel, truth adjudication or raw-content persistence. Expected direction is a preregistered validation hypothesis, not evidence that an observed system moved as expected. Human/AI/LLM/rule evaluator outputs remain fallible observations; numerical/psychometric production ownership remains Rust-first.
Exact-current stack evidence
codex/fast-judge-accepted-type-regressionat11291fd5f03cf24e403289b0466a7b633d0d3971;02702f79cadc4f9926960a2d8393a40b90284d89;31548664197: success, including Python 3.12/3.14, Rust/PyO3, package/reinstall/release-acceptance, explicit GPU smoke and fuzz;4c2838f78bb806af372b7d57404285800f0448f5and is stale after the current head/base movement; it is not an active current-head writer lease.Earlier checkout/setup failures and 403 rerun attempts are predecessor infrastructure evidence only and are not current defects or current passing evidence.
Merge boundary
Keep Draft while #778 remains the predecessor. After #778 integrates, reconcile this unique RAG slice onto resulting protected main, regenerate every base-sensitive CI/security/review gate on the unchanged final head, resolve any valid current finding, and merge only under actual live repository policy. This contract alone does not establish RAG system validity, a scalar quality score, evaluator interchangeability, retrieval recall, world correctness, calibration, DIF/invariance or release readiness.
Advances #607.