{
  "$note": "ACAM machine-readable conflicts declaration (A5): the question set, the bright-line prohibited-conflicts list (refusal, not disclosure), the engagement-level aggregation rules, and the duty-to-update mechanics as data. One release unit with acam/ACAM-CONFLICTS.md and the ACAM standard; versions together (ACAM-SPEC.md 17 V-1). Keys recursively sorted; ASCII only. Predicates reference recorded answer fields by question id.",
  "acam_version": "0.1.0-draft",
  "aggregation_rules": [
    {
      "enforcement": "two verifier passes; composite conformance corpus includes a clean-per-assessor, failing-in-aggregate specimen",
      "rule_id": "AGG-1",
      "statement": "Every bright line evaluates once per declarant AND once at engagement level over the union of declarations; the engagement fails if any evaluation fails."
    },
    {
      "enforcement": "pure arithmetic over recorded CONF-06 fields; verifier-computed, never authored",
      "rule_id": "AGG-2",
      "statement": "engagement_fee_concentration = sum of per-declarant CONF-06.percent. Worked example: 3 declarants at 25 each -> 75, >= the BL-3 threshold of 50, so the engagement is refused although no single declaration trips the line. Summation is a deliberate fail-closed proxy (different denominators overstate, never understate, engagement dependency).",
      "worked_example": {
        "declarant_percents": [
          25,
          25,
          25
        ],
        "engagement_fee_concentration": 75,
        "result": "BL-3 fires at engagement level",
        "threshold_percent": 50
      }
    },
    {
      "enforcement": "verifier set-union pass; post-match restructuring goes through the CO-6 withdrawal states",
      "rule_id": "AGG-3",
      "statement": "CONF-01/02/04/09 evaluate at engagement level over the union of declarants' answers, each item retaining its declarant of origin; a BL-2 or BL-5 match by any contributor fails the engagement."
    },
    {
      "enforcement": "CAP-23 evaluated over every declaration in the contribution manifest",
      "rule_id": "AGG-4",
      "statement": "CAP-23 applies per declarant: one contributor unanswered fails the composite."
    }
  ],
  "bright_line_semantics": {
    "enforcement": "verifier evaluates every in-scope predicate on every run; defective-dossier conformance corpus (B5) contains >=1 triggering specimen per rule",
    "statement": "Bright-line entries are grounds for refusal, not disclosure (ID-3): a declaration matching one fails validation rather than rendering as a disclosed conflict. No safeguards-and-proceed path exists for a match."
  },
  "bright_lines": [
    {
      "applies_to_basis": [
        "S",
        "F",
        "R"
      ],
      "consequence": "refusal: declaration fails validation",
      "name": "outcome-contingent-economics",
      "predicate": "CONF-03 = true, OR any CONF-09 item with contingent_on_outcome = true",
      "rule_id": "BL-1",
      "source": "design-of-record invariant 6"
    },
    {
      "applies_to_basis": [
        "F",
        "R"
      ],
      "consequence": "refusal: declaration fails validation",
      "name": "self-review",
      "note": "advised = disclosure + mandatory safeguards, not refusal (draft decision C-2); cannot apply under Tier S, where self-assessment is the disclosed design of the tier",
      "predicate": "any CONF-01 or CONF-02 item with involvement in {designed, implemented, operated} by the assessor of record, an affiliate, or a participating subcontractor",
      "rule_id": "BL-2"
    },
    {
      "applies_to_basis": [
        "F",
        "R"
      ],
      "consequence": "refusal: engagement fails validation",
      "name": "fee-concentration",
      "predicate": "engagement_fee_concentration >= threshold_percent, where engagement_fee_concentration = sum of per-declarant CONF-06.percent (AGG-2)",
      "rule_id": "BL-3",
      "threshold_note": "draft value, decision C-3; evaluated against the engagement-level aggregate, never only per-assessor",
      "threshold_percent": 50
    },
    {
      "applies_to_basis": [
        "F",
        "R"
      ],
      "consequence": "refusal: declaration fails validation",
      "name": "ownership-or-control",
      "predicate": "declarant and subject under common control, OR the declarant or its engagement personnel hold any direct equity or profit interest in the subject",
      "rule_id": "BL-4"
    },
    {
      "applies_to_basis": [
        "F",
        "R"
      ],
      "consequence": "refusal: declaration fails validation",
      "name": "reciprocal-assessment",
      "predicate": "the subject or its affiliate currently serves as assessor of record on any unexpired dossier of the declarant",
      "rule_id": "BL-5"
    },
    {
      "applies_to_basis": [
        "S",
        "F",
        "R"
      ],
      "consequence": "before signature: refusal at intake; after signature: revocation path (DU-4); mid-engagement review: unable-to-complete machinery",
      "name": "false-declaration",
      "predicate": "any statement in the conflicts declaration shown false (including omission past the DU-2 deadline, per DU-5)",
      "rule_id": "BL-6"
    }
  ],
  "declarants": {
    "enforcement": "schema requires one declaration per signer; composite partition check (CO-1) cross-references them",
    "statement": "One declaration per signing party: the assessor of record (Assurance Basis F), every contributor in a composite (CO-8), the organization itself under Tier S, and the Apeiris side of lane R per RC-5."
  },
  "design_of_record": "COVERAGE_ASSESSMENT_PLAN.md sections 6, 13, 14/B8",
  "draft_decisions": [
    {
      "id": "C-1",
      "question": "CONF-02 lookback is 24 months."
    },
    {
      "id": "C-2",
      "question": "advised involvement is disclosure + mandatory safeguards, not BL-2 refusal; designed/implemented/operated are refusal."
    },
    {
      "id": "C-3",
      "question": "BL-3 engagement-level fee-concentration threshold is 50 percent."
    },
    {
      "id": "C-4",
      "question": "DU-2 update deadline is 10 business days from knowledge."
    },
    {
      "id": "C-5",
      "question": "AGG-2 uses straight summation of per-assessor concentrations (conservative proxy) rather than a fee-weighted engagement denominator."
    }
  ],
  "duty_to_update": [
    {
      "enforcement": "window computed from recorded fields; verifier evaluates update timeliness against it",
      "rule_id": "DU-1",
      "statement": "The duty runs from dossier signature until dossier_expires; for review records, until record expiry or revocation."
    },
    {
      "enforcement": "update record carries event_date and known_date; late update flagged as exception class 12 (disclosure) in the review lane",
      "rule_id": "DU-2",
      "statement": "Any event that would change an answer to CONF-01..CONF-09 must be declared in a signed conflicts-update record within 10 business days of the declarant learning of it (draft value, decision C-4)."
    },
    {
      "enforcement": "schema: no mutable fields on the declaration; rendering conformance tests an update-stripped projection",
      "rule_id": "DU-3",
      "statement": "Updates are append-only sub-records referencing the original declaration by digest; nothing edits the signed answers in place; renderers show declaration and updates together."
    },
    {
      "enforcement": "verifier re-evaluates bright lines over declaration + updates on every run",
      "rule_id": "DU-4",
      "statement": "An update whose facts match a bright line makes the artifact revocation-eligible; for dossiers the verifier reports the match on every subsequent run (visible failure, never silent retraction)."
    },
    {
      "enforcement": "same predicate path as BL-6",
      "rule_id": "DU-5",
      "statement": "A conflict arisen in-window and undeclared past the DU-2 deadline is treated as BL-6 (false declaration by omission)."
    }
  ],
  "enums": {
    "declaration_boundary": [
      "assessor-only",
      "assessor-and-affiliates",
      "assessor-affiliates-and-subcontractors"
    ],
    "fee_concentration_basis": [
      "audited",
      "management-accounts",
      "estimate"
    ],
    "involvement": [
      "none",
      "advised",
      "designed",
      "implemented",
      "operated"
    ],
    "safeguard": [
      "team-separation",
      "cooling-off-period-observed",
      "fee-cap-applied",
      "secondary-review",
      "recusal-from-family",
      "disclosure-to-intended-users",
      "other-described",
      "none-required"
    ],
    "selection_payment": [
      "subject-selected-subject-paid",
      "subject-selected-third-party-paid",
      "third-party-selected-subject-paid",
      "third-party-selected-third-party-paid"
    ],
    "vendor_interest_type": [
      "equity",
      "reseller",
      "referral",
      "distribution",
      "other-financial"
    ]
  },
  "license": "CC BY 4.0",
  "non_clean_predicate": "CONF-01 or CONF-02 contains any item with involvement != none, or CONF-04 is non-empty, or CONF-08.dependent is true, or CONF-09 is non-empty",
  "pairing_rule": {
    "enforcement": "schema dependentRequired in both directions; verifier refuses to evaluate ID-1 bindings when the conflicts block is absent",
    "rule_id": "PAIR-1",
    "statement": "Identity binding (ID-1) and the conflicts declaration are one schema release and one validation unit; a dossier presenting identity-binding fields without a complete conflicts declaration fails validation. Verified identity without conflicts disclosure is worse than anonymity."
  },
  "question_rules": [
    {
      "enforcement": "verifier cross-check of CONF-05 against the composite contribution manifest (CO-5) and engagement staffing",
      "rule_id": "CQ-1",
      "statement": "A declaration_boundary narrower than the actual engagement participants is a validation failure, not a disclosure."
    },
    {
      "enforcement": "schema conditional requirement over non_clean_predicate",
      "rule_id": "CQ-2",
      "statement": "CONF-10 empty next to a non-clean disclosure fails validation."
    },
    {
      "enforcement": "schema const true",
      "rule_id": "CQ-3",
      "statement": "CONF-11 false or absent fails validation."
    },
    {
      "enforcement": "verifier output carries the declaration digest on the dossier root; rendering conformance tests a stripped projection",
      "rule_id": "CQ-4",
      "statement": "Answers travel inside the signed payload; a projection stripping the conflicts block while keeping verdicts is non-conforming."
    }
  ],
  "questions": [
    {
      "answer_type": "list",
      "item_shape": {
        "family_prefix": "string (one of the 72 canonical prefixes)",
        "involvement": "enum involvement"
      },
      "question": "Role involvement: for each in-scope control family, has the declarant advised on, designed, implemented, or operated any control in that family within the assessment window?",
      "question_id": "CONF-01",
      "required": true
    },
    {
      "answer_type": "list",
      "item_shape": {
        "family_prefix": "string",
        "involvement": "enum involvement"
      },
      "lookback_months": 24,
      "lookback_note": "draft value, decision C-1",
      "question": "Prior-period involvement: any CONF-01-class involvement in the lookback period preceding the assessment window?",
      "question_id": "CONF-02",
      "required": true
    },
    {
      "answer_type": "boolean",
      "question": "Fee contingency: does any fee, discount, credit, refund, or referral compensation of the declarant vary with any outcome of the assessment?",
      "question_id": "CONF-03",
      "required": true
    },
    {
      "answer_type": "list",
      "item_shape": {
        "description": "string",
        "interest_type": "enum vendor_interest_type",
        "vendor": "string"
      },
      "question": "Vendor interest: any financial, reseller, referral, or distribution interest in any vendor or product cited in the dossier?",
      "question_id": "CONF-04",
      "required": true
    },
    {
      "answer_type": "object",
      "item_shape": {
        "declaration_boundary": "enum declaration_boundary",
        "participants": "list of participating affiliates/subcontractors"
      },
      "question": "Declaration boundary: do these answers cover affiliates and subcontractors participating in the engagement?",
      "question_id": "CONF-05",
      "required": true
    },
    {
      "answer_type": "object",
      "item_shape": {
        "basis": "enum fee_concentration_basis",
        "percent": "number 0..100"
      },
      "question": "Fee concentration: fees from this client group as a share of the declarant's gross assessment revenue, trailing 12 months.",
      "question_id": "CONF-06",
      "required": true
    },
    {
      "answer_type": "object",
      "item_shape": {
        "payer_identity": "string, required when a third party pays",
        "selection_payment": "enum selection_payment"
      },
      "question": "Selection and payment: who selected the declarant and who pays?",
      "question_id": "CONF-07",
      "required": true
    },
    {
      "answer_type": "object",
      "item_shape": {
        "dependent": "boolean",
        "description": "string, required when true"
      },
      "question": "Assessor dependency on client product: do the declarant's own operations depend on the subject's products or services?",
      "question_id": "CONF-08",
      "required": true
    },
    {
      "answer_type": "list",
      "item_shape": {
        "arrangement": "string",
        "contingent_on_outcome": "boolean",
        "party": "string"
      },
      "question": "Partner compensation and reciprocal referrals: any referral fees, revenue shares, or reciprocal engagements between the declarant and the subject or the subject's advisors or cited vendors?",
      "question_id": "CONF-09",
      "required": true
    },
    {
      "answer_type": "list",
      "item_shape": {
        "description": "string, required for other-described",
        "safeguard": "enum safeguard"
      },
      "question": "Safeguards applied: which safeguards mitigate the disclosed items?",
      "question_id": "CONF-10",
      "required": true,
      "rule": "must be non-empty whenever the non_clean_predicate holds; must state none-required explicitly otherwise (CQ-2)"
    },
    {
      "answer_type": "boolean",
      "question": "Duty-to-update acknowledgment: the declarant acknowledges the post-signing duty to update (DU rules).",
      "question_id": "CONF-11",
      "required": true,
      "rule": "must be true (CQ-3); false or absent fails validation"
    }
  ],
  "spec": "acam/ACAM-CONFLICTS.md",
  "unanswered_consequence": {
    "cap_rule": "CAP-23",
    "statement": "Any question missing, null, or type-invalid is unanswered; unanswered implies the dossier fails validation. An empty list is a valid answer only where the answer type is a list. In composites, CAP-23 applies per declarant (AGG-4)."
  },
  "update_record": {
    "fields": [
      "declaration_digest",
      "question_id",
      "event_date",
      "known_date",
      "new_answer",
      "signature"
    ],
    "semantics": "append-only; DOM-3 discipline applied to conflicts",
    "type": "conflicts-update"
  }
}
