[SLICE 17][CORE-E] Implement CITADEL evidence-use roles, candidate exposure/dependence closure, contamination lineage, and validation-independence queries #14

Open
opened 2026-09-08 01:57:00 +00:00 by nsaspy · 1 comment
Owner

Parent epic: #16
Depends on: #34 #25 #27
Research: prolog-rlm#404B

Goal

Persist/query the evidence-contamination structure required to prevent self-confirming learned rules from laundering their own validation.

Implement durable records/indexes for:

  • evidence-use role: generation / selection / validation / audit / post-admission;
  • candidate exposure to sources, semantic records, fixtures, metrics, verifier outputs, ancestor candidates, learner/model artifacts;
  • source/causal/dependence groups;
  • adaptive holdout reveal/reclassification events;
  • evaluator/verifier/metric/policy fingerprints;
  • candidate influence/tamperability declarations;
  • validation-independence queries and explicit unknown/partial status.

Acceptance

A descendant candidate cannot count a previously exposed failure as fresh held-out validation; copied/paraphrased/derived evidence remains dependent when lineage proves it; record-count independence never substitutes for causal/source independence; missing dependence evidence returns unknown rather than independent.

Parent epic: #16 Depends on: #34 #25 #27 Research: prolog-rlm#404B ## Goal Persist/query the evidence-contamination structure required to prevent self-confirming learned rules from laundering their own validation. Implement durable records/indexes for: - evidence-use role: generation / selection / validation / audit / post-admission; - candidate exposure to sources, semantic records, fixtures, metrics, verifier outputs, ancestor candidates, learner/model artifacts; - source/causal/dependence groups; - adaptive holdout reveal/reclassification events; - evaluator/verifier/metric/policy fingerprints; - candidate influence/tamperability declarations; - validation-independence queries and explicit unknown/partial status. ## Acceptance A descendant candidate cannot count a previously exposed failure as fresh held-out validation; copied/paraphrased/derived evidence remains dependent when lineage proves it; record-count independence never substitutes for causal/source independence; missing dependence evidence returns unknown rather than independent.
Author
Owner

MACHINE-SPIRIT #404D implementation refinement — exposure/dependence indexing

Implement canonical direct typed dependence/exposure edges + exact query-scoped closure, not a permanently materialized global transitive closure.

Required indexes:

  • forward adjacency by candidate/source/evidence/fixture/evaluator/ancestor;
  • reverse dependency adjacency for invalidation;
  • generation/version on active dependence mappings;
  • generation-keyed cached closure digest and exact-completeness status.

Worst-case exact closure is O(V+E) over the reachable subgraph. Global closure storage is not required and can approach O(V²) on dense graphs. Semi-naive/delta maintenance is the first optimization; DBSP/differential-style machinery is optional after benchmark evidence.

Hard rules:

  • probabilistic/Bloom indexes may conservatively say possibly_exposed, never prove independent=true;
  • missing/private provenance -> independence=unknown;
  • do not use irreversible union-find as canonical origin truth because dependence/identity links can be superseded/retracted;
  • descendant exposure includes ancestor exposure under the declared lineage profile;
  • closure cache invalidates on exact direct-edge/source/identity/translation generations.

Refs prolog-rlm#404D and #27/#38.

## MACHINE-SPIRIT #404D implementation refinement — exposure/dependence indexing Implement **canonical direct typed dependence/exposure edges + exact query-scoped closure**, not a permanently materialized global transitive closure. Required indexes: - forward adjacency by candidate/source/evidence/fixture/evaluator/ancestor; - reverse dependency adjacency for invalidation; - generation/version on active dependence mappings; - generation-keyed cached closure digest and exact-completeness status. Worst-case exact closure is `O(V+E)` over the reachable subgraph. Global closure storage is not required and can approach `O(V²)` on dense graphs. Semi-naive/delta maintenance is the first optimization; DBSP/differential-style machinery is optional after benchmark evidence. Hard rules: - probabilistic/Bloom indexes may conservatively say `possibly_exposed`, never prove `independent=true`; - missing/private provenance -> `independence=unknown`; - do not use irreversible union-find as canonical origin truth because dependence/identity links can be superseded/retracted; - descendant exposure includes ancestor exposure under the declared lineage profile; - closure cache invalidates on exact direct-edge/source/identity/translation generations. Refs prolog-rlm#404D and #27/#38.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/symbolic-memory#14
No description provided.