build-noncircularity-matrix
Purpose
Cross-tabulate target claims/assumptions against validator assumptions and expose circularity.
Input contract
yamlrequired: [target_claims, target_assumptions, validator_assumptions] optional: [evidence_channels] constraints: [each cell is independent/shared/derived-from-target/unknown]
Procedure
- Enumerate both assumption sets.
- Populate dependency cells with evidence.
- Identify copied assumptions and independent failure channels.
If the matrix exposes shared premises or dependent validation paths, consider detect-pass-by-construction as the next tactic.
Output contract
yamlproduces: [noncircularity_matrix, dependency_summary, independent_channels] delta_fields: [findings, evidence_updates, uncertainties, decisions]
Quality gates
- Unknown dependencies remain unknown; they are not counted independent.
- At least one non-circular channel is required for validation.
Failure and counterexamples
A validator that embeds the target claim cannot corroborate it by construction.
Provenance map
- resolved: circular-validation-audit


