{
  "format": "vercy-enterprise-allocation-fixtures/v1",
  "candidateName": "Investment",
  "cases": [
    {
      "id": "instrument-replacement",
      "kind": "positive",
      "input": "Convertible note N becomes preferred shares after conversion.",
      "expect": "Investment identity persists while predecessor and successor positions retain lineage.",
      "target": "investment",
      "violates": null,
      "closesDefect": 22
    },
    {
      "id": "undrawn-commitment",
      "kind": "positive",
      "input": "An approved investment has a commitment but no funded position.",
      "expect": "The investment remains identifiable without inventing a holding.",
      "target": "investment",
      "violates": null,
      "closesDefect": 22
    },
    {
      "id": "portfolio-row-mints-investment",
      "kind": "negative",
      "input": "Every listed position automatically creates an Investment root.",
      "expect": "Creation is rejected without independent mandate and lifecycle.",
      "target": "investment",
      "violates": "Creation is rejected without independent mandate and lifecycle.",
      "closesDefect": 22,
      "expectedCode": "PORTFOLIO_ROW_MINTS_INVESTMENT"
    },
    {
      "id": "commitment-is-position",
      "kind": "negative",
      "input": "An undrawn commitment is counted as current owned quantity.",
      "expect": "The assertion is rejected.",
      "target": "investment",
      "violates": "The assertion is rejected.",
      "closesDefect": 22,
      "expectedCode": "COMMITMENT_IS_POSITION"
    },
    {
      "id": "valuation-is-holding",
      "kind": "negative",
      "input": "A valuation amount overwrites position quantity and cost.",
      "expect": "The substitution is rejected.",
      "target": "investment",
      "violates": "The substitution is rejected.",
      "closesDefect": 22,
      "expectedCode": "VALUATION_IS_HOLDING"
    },
    {
      "id": "exit-deletes-history",
      "kind": "negative",
      "input": "Closing the final position deletes the investment record.",
      "expect": "Deletion is rejected; exited lineage remains resolvable.",
      "target": "investment",
      "violates": "Deletion is rejected; exited lineage remains resolvable.",
      "closesDefect": 22,
      "expectedCode": "EXIT_DELETES_HISTORY"
    },
    {
      "id": "conversion-preserves-investment-identity",
      "target": "investment",
      "kind": "positive",
      "input": "INV-1's note position converts to preferred shares on 2026-08-15.",
      "expect": "INV-1's identity and revision history persist; a participation revision records the new instrument version and position references with effectiveFrom; prior revisions remain resolvable.",
      "violates": null,
      "closesDefect": 9
    },
    {
      "id": "investment-exited-exact",
      "target": "investment",
      "kind": "positive",
      "input": "Every position of INV-1 is derecognized on 2026-09-30 with no retained interest or obligation and the governance record open.",
      "expect": "Status is exactly exited; retained is not asserted; all revisions remain resolvable.",
      "violates": null,
      "closesDefect": 11
    },
    {
      "id": "investment-retained-exact",
      "target": "investment",
      "kind": "positive",
      "input": "Every position of INV-1 is derecognized on 2026-09-30 and an escrow and indemnity obligation remains outstanding.",
      "expect": "Status is exactly retained; exited is not asserted.",
      "violates": null,
      "closesDefect": 11
    },
    {
      "id": "investment-exited-and-retained",
      "target": "investment",
      "kind": "negative",
      "input": "INV-1 is recorded as both exited and retained at 2026-09-30.",
      "expect": "Rejected. The two states are mutually exclusive at any instant.",
      "violates": "Lifecycle state disjointness",
      "closesDefect": 11,
      "expectedCode": "INVESTMENT_EXITED_AND_RETAINED"
    },
    {
      "id": "investment-partially-exited-exact",
      "target": "investment",
      "kind": "positive",
      "input": "One of INV-1's two positions is derecognized on 2026-09-30; the other remains outstanding.",
      "expect": "Status is exactly partially-exited.",
      "violates": null,
      "closesDefect": 11
    },
    {
      "id": "investment-closed-then-appended",
      "target": "investment",
      "kind": "negative",
      "input": "A participation revision is appended to INV-1 after status closed.",
      "expect": "Rejected. closed is terminal and reachable only from exited or retained.",
      "violates": "Terminal state",
      "closesDefect": 11,
      "expectedCode": "INVESTMENT_CLOSED_THEN_APPENDED"
    },
    {
      "id": "mandate-inline-accepted",
      "target": "investment",
      "kind": "positive",
      "input": "INV-1 carries no mandateRef and an inline mandateAssertion with a WM-ORG-018 authority reference, mandate statement, effectiveFrom and evidence digest.",
      "expect": "Accepted while no mandate master is allocated, with the migration hold recorded.",
      "violates": null,
      "closesDefect": 12
    },
    {
      "id": "mandate-ref-unallocated",
      "target": "investment",
      "kind": "negative",
      "input": "INV-1 carries a mandateRef to a mandate master that is not allocated in this dossier.",
      "expect": "Rejected. A reference to an unallocated master is not satisfiable; inline mandateAssertion is required.",
      "violates": "No binding to unallocated masters",
      "closesDefect": 12,
      "expectedCode": "MANDATE_REF_UNALLOCATED"
    },
    {
      "id": "exposure-subject-discriminated",
      "target": "investment",
      "kind": "positive",
      "input": "INV-2 is a direct real-asset participation with subjectKind underlying-asset.",
      "expect": "Accepted as identifiable with no security, register, custody account or investee organization fabricated; the unbound underlying-asset master hold is recorded.",
      "violates": null,
      "closesDefect": 13
    },
    {
      "id": "exposure-subject-undiscriminated",
      "target": "investment",
      "kind": "negative",
      "input": "INV-2 records a single subject reference with no subjectKind.",
      "expect": "Rejected. subjectKind is mandatory.",
      "violates": "Polymorphic reference requires a discriminator",
      "closesDefect": 13,
      "expectedCode": "EXPOSURE_SUBJECT_UNDISCRIMINATED"
    },
    {
      "id": "exposure-read-as-investee",
      "target": "investment",
      "kind": "negative",
      "input": "INV-2's underlying-asset subject is entered into an organizational control or consolidation denominator.",
      "expect": "Rejected. Only subjectKind investee-organization with a WM-ORG-001 reference may participate in a relationship, control or consolidation assertion.",
      "violates": "No unsafe inference from exposure to organization",
      "closesDefect": 13,
      "expectedCode": "EXPOSURE_READ_AS_INVESTEE"
    },
    {
      "id": "investment-restates-position-lineage",
      "target": "investment",
      "kind": "negative",
      "input": "A participation revision restates predecessor and successor position lineage with values differing from WM-ECO-038.",
      "expect": "Rejected. Investment masters only the effective-dated linkage set and never restates, derives or supersedes externally mastered lineage.",
      "violates": "Lineage remains externally mastered",
      "closesDefect": 14,
      "expectedCode": "INVESTMENT_RESTATES_POSITION_LINEAGE"
    },
    {
      "id": "portfolio-membership-mints-investment",
      "target": "investment",
      "kind": "negative",
      "input": "A listed-equity portfolio row is used to create an Investment root with no mandate, stage or governed participation.",
      "expect": "Rejected. Portfolio membership is a grouping over holdings and never identifies an Investment.",
      "violates": "Participation identity requires governed mandate and lifecycle",
      "closesDefect": 22,
      "expectedCode": "PORTFOLIO_MEMBERSHIP_MINTS_INVESTMENT"
    }
  ],
  "canonicalPublishable": false,
  "holds": [
    "Expectations are reviewable-draft adjudications over non-canonical bases and assert no conformance, installability or standards alignment."
  ]
}
