{
  "canonicalOrdering": "requirementId ascending",
  "engineVersion": "wsmusings.evidence-completeness-engine.v1",
  "registryVersion": "7.17.1",
  "requirements": [
    {
      "applicabilityRule": "Applies to every assessed research object in the bounded pilot.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": true,
      "explanation": "The requirement records search coverage without resolving contradiction.",
      "failureCode": "COUNTEREVIDENCE_REQUIREMENT_UNSATISFIED",
      "locatorRequirement": "ROLE_DEPENDENT",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "DISCONFIRMATORY",
        "MIXED",
        "CONTEXT_ONLY",
        "NO_MATCH"
      ],
      "requirementId": "ECR-COUNTER-001",
      "requirementType": "COUNTEREVIDENCE_SEARCH",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "At least one countervailing, limiting, contextual, or structured search record is represented.",
      "sourceTypeRequirement": "ROLE_DEPENDENT",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to every assessed research object.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "A search result without a qualifying evidence record cannot satisfy evidence existence.",
      "failureCode": "EVIDENCE_INCOMPLETE",
      "locatorRequirement": "SEPARATE_REQUIREMENT",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED",
        "CONTEXT_ONLY"
      ],
      "requirementId": "ECR-EVIDENCE-001",
      "requirementType": "EVIDENCE_EXISTENCE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "At least one non-NO_MATCH evidence record exists.",
      "sourceTypeRequirement": "REGISTERED_PROVENANCE",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to every non-NO_MATCH evidence record.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "A source citation without its required locator remains incomplete.",
      "failureCode": "EXACT_LOCATOR_MISSING",
      "locatorRequirement": "CONTROLLED_TYPE_AND_NONEMPTY_STABLE_VALUE",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED",
        "CONTEXT_ONLY"
      ],
      "requirementId": "ECR-LOCATOR-001",
      "requirementType": "EXACT_LOCATOR",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every applicable record contains a controlled exact-locator type and value.",
      "sourceTypeRequirement": "ANY_REGISTERED_SOURCE",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to pilot intersectionality objects with k >= 2 or an explicit mechanism requirement.",
      "applicableObjectTypes": [
        "MECHANISM",
        "INTERSECTIONALITY_OBJECT"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "General object evidence cannot substitute for unresolved mechanism evidence.",
      "failureCode": "MECHANISM_UNRESOLVED",
      "locatorRequirement": "REQUIRED",
      "mandatory": true,
      "mechanismRequirement": true,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY"
      ],
      "requirementId": "ECR-MECHANISM-001",
      "requirementType": "MECHANISM_EVIDENCE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "The required mechanism is explicitly resolved by qualifying evidence.",
      "sourceTypeRequirement": "REGISTERED_PROVENANCE",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies only when a NO_MATCH record is present.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_APPLICABLE_AND_UNSATISFIED",
      "counterevidenceSearchRequirement": true,
      "explanation": "NO_MATCH records document bounded search activity and are never positive evidence.",
      "failureCode": "NO_MATCH_SEMANTICS_INVALID",
      "locatorRequirement": "NOT_APPLICABLE",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 0,
      "qualifyingEvidenceCategories": [
        "NO_MATCH"
      ],
      "requirementId": "ECR-NOMATCH-001",
      "requirementType": "STRUCTURED_NO_MATCH",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every NO_MATCH record preserves search scope, strategy, limitations, and non-disconfirmation semantics.",
      "sourceTypeRequirement": "SEARCH_ATTEMPT",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies only when the object declares a required relationship-evidence obligation.",
      "applicableObjectTypes": [
        "STAKEHOLDER_RELATIONSHIP",
        "GRAPH_EDGE",
        "INTERSECTIONALITY_OBJECT"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "Computational proximity does not satisfy a relationship-evidence requirement.",
      "failureCode": "RELATIONSHIP_UNSUPPORTED",
      "locatorRequirement": "REQUIRED",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED"
      ],
      "requirementId": "ECR-RELATIONSHIP-001",
      "requirementType": "RELATIONSHIP_EVIDENCE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every declared required relationship is supported by qualifying relationship evidence.",
      "sourceTypeRequirement": "REGISTERED_PROVENANCE",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to every assessed research object.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "Affirmative evidence must be explicitly classified as confirmatory.",
      "failureCode": "CONFIRMATORY_EVIDENCE_REQUIREMENT_UNSATISFIED",
      "locatorRequirement": "REQUIRED_BY_ECR-LOCATOR-001",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY"
      ],
      "requirementId": "ECR-ROLE-001",
      "requirementType": "EVIDENTIARY_ROLE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "At least one CONFIRMATORY record exists; CONTEXT_ONLY and NO_MATCH never substitute.",
      "sourceTypeRequirement": "REGISTERED_PROVENANCE",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to every non-NO_MATCH evidence record.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "Unregistered or URL-less sources do not satisfy provenance.",
      "failureCode": "SOURCE_REQUIREMENT_UNSATISFIED",
      "locatorRequirement": "SEPARATE_REQUIREMENT",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED",
        "CONTEXT_ONLY"
      ],
      "requirementId": "ECR-SOURCE-001",
      "requirementType": "SOURCE_PROVENANCE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every non-NO_MATCH record resolves to a registered source with a canonical URL.",
      "sourceTypeRequirement": "SOURCE_ID_AND_CANONICAL_URL_IN_SOURCE_REGISTRY",
      "subsetEvidenceRequirement": false
    },
    {
      "applicabilityRule": "Applies to pilot higher-order intersectionality objects with k >= 3.",
      "applicableObjectTypes": [
        "INTERSECTIONALITY_OBJECT"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "The existence of lower-order objects does not synthesize subset evidence.",
      "failureCode": "REQUIRED_SUBSET_EVIDENCE_MISSING",
      "locatorRequirement": "REQUIRED",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": "ENUMERATED_PROPER_SUBSET_COUNT",
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED"
      ],
      "requirementId": "ECR-SUBSET-001",
      "requirementType": "REQUIRED_SUBSET_EVIDENCE",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every enumerated required proper subset has its own qualifying evidence record.",
      "sourceTypeRequirement": "REGISTERED_PROVENANCE",
      "subsetEvidenceRequirement": true
    },
    {
      "applicabilityRule": "Applies whenever an assessed object has a bounded claim.",
      "applicableObjectTypes": [
        "CLAIM",
        "ISSUE",
        "KNOWLEDGE_OBJECT",
        "MECHANISM",
        "STAKEHOLDER_ASSERTION",
        "STAKEHOLDER_RELATIONSHIP",
        "INTERSECTIONALITY_OBJECT",
        "GRAPH_EDGE"
      ],
      "blockingBehavior": "BLOCK_WHEN_UNSATISFIED",
      "counterevidenceSearchRequirement": false,
      "explanation": "Evidence assigned to another claim cannot satisfy this object.",
      "failureCode": "CLAIM_EVIDENCE_TRACEABILITY_UNSATISFIED",
      "locatorRequirement": "ROLE_DEPENDENT",
      "mandatory": true,
      "mechanismRequirement": false,
      "minimumRequiredCount": 1,
      "qualifyingEvidenceCategories": [
        "CONFIRMATORY",
        "DISCONFIRMATORY",
        "MIXED",
        "CONTEXT_ONLY",
        "NO_MATCH"
      ],
      "requirementId": "ECR-TRACE-001",
      "requirementType": "CLAIM_EVIDENCE_TRACEABILITY",
      "requirementVersion": "7.17.1",
      "satisfactionRule": "Every evidence record names the assessed claim identifier.",
      "sourceTypeRequirement": "ROLE_DEPENDENT",
      "subsetEvidenceRequirement": false
    }
  ],
  "schemaVersion": "wsmusings.evidence-requirement-registry.v1",
  "supportedFutureObjectTypes": [
    "CLAIM",
    "ISSUE",
    "KNOWLEDGE_OBJECT",
    "MECHANISM",
    "STAKEHOLDER_ASSERTION",
    "STAKEHOLDER_RELATIONSHIP",
    "INTERSECTIONALITY_OBJECT",
    "GRAPH_EDGE"
  ]
}
