{
  "format": "vercy-enterprise-profile-fixtures/v1",
  "profileName": "Product Landscape Meta-Model completion",
  "version": "0.2.0-candidate.3",
  "candidateRevision": 3,
  "cases": [
    {
      "id": "confirmed-impact-path",
      "kind": "positive",
      "input": "Four scoped pinned memberships and two declared evidenced dependencies.",
      "expect": "Canonical query returns confirmed paths and an evidence-backed bounded coverage statement."
    },
    {
      "id": "shared-platform-qualified-edge",
      "kind": "positive",
      "input": "P1 and P2 use F through current pins; P3 lacks a target pin.",
      "expect": "P1 and P2 are confirmed, P3 stays target-unpinned in qualified paths, and gap questions request the missing coordinate."
    },
    {
      "id": "unpinned-target-retained",
      "kind": "negative",
      "input": "A dependency target has no immutable content digest.",
      "expect": "The edge remains visible as target-unpinned, is excluded from confirmed paths and produces a gap question."
    },
    {
      "id": "scope-version-required",
      "kind": "negative",
      "input": "A membership or dependency omits scopeVersionId.",
      "expect": "The assertion is rejected and cannot enter traversal."
    },
    {
      "id": "overlapping-aismm-conflict",
      "kind": "negative",
      "input": "One product has overlapping memberships with differing AISMM digests.",
      "expect": "One unresolved conflict set cites both assertions and a resolution owner; no second product is created."
    },
    {
      "id": "product-version-conflict",
      "kind": "negative",
      "input": "One product has overlapping memberships with differing productVersionPin values.",
      "expect": "The overlap is unresolved rather than hidden by the natural key."
    },
    {
      "id": "alias-duplicate-product",
      "kind": "negative",
      "input": "Two namespaced references resolve by evidence to the same master record.",
      "expect": "The second membership is rejected as duplicate identity."
    },
    {
      "id": "missing-aismm-visible",
      "kind": "positive",
      "input": "An authoritative product has no AISMM context.",
      "expect": "Membership remains visible with aismmRefAbsenceReason and appears only in qualified paths."
    },
    {
      "id": "pin-state-derived",
      "kind": "positive",
      "input": "A newer target digest appears after an edge was recorded.",
      "expect": "Stored edge bytes remain unchanged and a later query derives pinned-stale."
    },
    {
      "id": "pin-change-successor",
      "kind": "positive",
      "input": "A dependency moves to a new target digest.",
      "expect": "A successor with supersedesDependencyId is created and the predecessor remains reconstructible."
    },
    {
      "id": "successor-cycle",
      "kind": "negative",
      "input": "Successor references form a cycle.",
      "expect": "The cycle is rejected."
    },
    {
      "id": "ceased-withdrawal",
      "kind": "positive",
      "input": "A valid dependency ceases at t2.",
      "expect": "It appears in historical queries before t2 and remains in the audit trail."
    },
    {
      "id": "erroneous-retraction",
      "kind": "negative",
      "input": "An edge is retracted as erroneous.",
      "expect": "It is excluded from world-time truth but retained with retraction evidence in record-time audit."
    },
    {
      "id": "complete-with-open-gap",
      "kind": "negative",
      "input": "Coverage says complete while a stale source or open boundary exists.",
      "expect": "The statement is rejected."
    },
    {
      "id": "unknown-boundary-empty",
      "kind": "negative",
      "input": "unknownBoundary is absent or empty.",
      "expect": "Coverage is forced to unknown."
    },
    {
      "id": "empty-zero-closed",
      "kind": "positive",
      "input": "A current enumerated complete source set yields no observed edges.",
      "expect": "Coverage is zero observed; no zero-impact claim is made."
    },
    {
      "id": "empty-unknown-open",
      "kind": "negative",
      "input": "An incompletely covered source set yields no observed edges.",
      "expect": "Coverage is unknown, including for 0.1.0-legacy."
    },
    {
      "id": "missing-assertion-kind",
      "kind": "negative",
      "input": "A dependency omits assertionKind.",
      "expect": "The assertion is rejected."
    },
    {
      "id": "inferred-high-confidence",
      "kind": "negative",
      "input": "An inferred edge has confidence 0.99.",
      "expect": "It remains qualified and never becomes confirmed."
    },
    {
      "id": "scenario-edge",
      "kind": "negative",
      "input": "A future edge exists only in a scenario.",
      "expect": "It remains qualified unless scenario mode is explicit and is never current authoritative state."
    },
    {
      "id": "bitemporal-replay",
      "kind": "positive",
      "input": "A backdated edge is recorded after an earlier result.",
      "expect": "Replaying the same asOf and asAt reproduces the earlier digest; advancing asAt exposes the edge."
    },
    {
      "id": "cycle-visit-once",
      "kind": "positive",
      "input": "A-B-C-A exists under visit-once.",
      "expect": "Traversal terminates deterministically and records the cycle-policy exclusion."
    },
    {
      "id": "missing-traversal-parameter",
      "kind": "negative",
      "input": "A result omits depthLimit or cyclePolicy.",
      "expect": "The result is invalid."
    },
    {
      "id": "canonical-digest-order",
      "kind": "positive",
      "input": "Two implementations receive identical unordered logical inputs.",
      "expect": "After lexical UTF-8 ordering and RFC 8785 canonicalization they produce the same SHA-256 digest."
    },
    {
      "id": "source-digest-unverified",
      "kind": "negative",
      "input": "The claimed source digest cannot be reproduced from a specified snapshot procedure.",
      "expect": "The pin remains unverified-claimed and cannot support release provenance."
    },
    {
      "id": "strictest-access-ceiling",
      "kind": "positive",
      "input": "A path contains evidence with stricter access than the landscape.",
      "expect": "effectiveAccessCeiling equals the strictest contributing policy."
    },
    {
      "id": "existence-suppressed",
      "kind": "negative",
      "input": "The requester cannot know an edge exists.",
      "expect": "No endpoint identifier is disclosed; only suppressedEdgeCount is returned and coverage is not complete."
    },
    {
      "id": "entitlement-digest-scope",
      "kind": "positive",
      "input": "One query runs under two entitlement profiles.",
      "expect": "Each profile has a stable digest and no equality is claimed across profiles."
    },
    {
      "id": "closed-relation-vocabulary",
      "kind": "negative",
      "input": "An edge uses uses-platform instead of an evidenced relation type.",
      "expect": "The edge is rejected pending a registry-controlled vocabulary extension."
    },
    {
      "id": "replacement-lineage",
      "kind": "positive",
      "input": "A product replaces another through plmm.08.",
      "expect": "A replaces edge is accepted and remains historically traversable."
    },
    {
      "id": "held-service-graph-required",
      "kind": "negative",
      "input": "vr.wm-xct-039 is declared required while held.",
      "expect": "The composition is rejected; only optional reference use is allowed."
    },
    {
      "id": "declared-empty-bundle",
      "kind": "positive",
      "input": "A layer has no findings, questions, artifacts, CRUD or roles.",
      "expect": "It renders as declared-empty and emits no structural-completeness claim."
    },
    {
      "id": "repo-draft-label",
      "kind": "negative",
      "input": "Repository v0.1.0 draft is used to assign a runtime version.",
      "expect": "The assignment is rejected."
    },
    {
      "id": "publication-open-holds",
      "kind": "negative",
      "input": "Publication is attempted while fixturesExecuted=false or a hold is open.",
      "expect": "The publication gate refuses the release."
    },
    {
      "id": "relation-target-runtime-id",
      "kind": "negative",
      "input": "A relation target uses modelId WM-XCT-039.",
      "expect": "The relation is rejected; runtime id vr.wm-xct-039 is required."
    },
    {
      "id": "copy-product-internals",
      "kind": "negative",
      "input": "The landscape copies components, SBOMs, APIs or owners.",
      "expect": "The duplicated product internals are rejected."
    },
    {
      "id": "runtime-instance-as-product",
      "kind": "negative",
      "input": "A regional runtime instance is registered as a SoftwareProduct.",
      "expect": "The identity split is rejected and the runtime stays external."
    }
  ]
}
