{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-TEC-08",
  "proposedName": "Test Environment",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "OPEN-QUESTION",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "A governed test environment remains identifiable across test runs and subject releases while its reproducible configuration and baseline evolve through controlled revisions.",
    "versionIdentity": "Changes to runtime topology, services, dependencies, data fixtures, configuration, tooling or isolation controls create immutable environment-baseline versions.",
    "independentLifecycle": [
      "planned",
      "provisioned",
      "qualified",
      "available",
      "degraded",
      "suspended",
      "retired"
    ],
    "mastership": "test infrastructure or environment-management authority"
  },
  "boundary": {
    "owns": [
      "persistent test-environment identity",
      "purpose and permitted test classes",
      "environment topology and resource boundary",
      "versioned configuration and dependency baseline",
      "fixture and seed-data bindings",
      "toolchain and harness bindings",
      "isolation, access and reset controls",
      "qualification, availability and retirement history"
    ],
    "references": [
      {
        "target": "WM-SFT-015",
        "purpose": "Test specification, run, result adjudication and verification evidence"
      },
      {
        "target": "WM-SFT-014",
        "purpose": "Defect master and classification"
      },
      {
        "target": "WM-REC-006",
        "purpose": "Requirement and acceptance-criterion revision"
      },
      {
        "target": "WM-ACT-006",
        "purpose": "Remediation work"
      },
      {
        "target": "WM-SFT-008",
        "purpose": "Tested build, release or artifact identity"
      }
    ],
    "excludes": [
      "test specification, run, observation, verdict or evidence identity",
      "defect, requirement, task, build or release identity",
      "production runtime identity or deployment outcome",
      "individual fixture content or dataset mastership",
      "test-result classification or product-quality conclusion",
      "access authorization beyond environment policy binding"
    ]
  },
  "invariants": [
    "Environment identity remains separate from production deployment and runtime identity.",
    "Configuration, dependency, fixture, toolchain or isolation changes create a new immutable baseline.",
    "A test environment never owns test specification, run, verdict, defect or release identity.",
    "Environment qualification is scoped to declared test classes and never proves product quality.",
    "Environment failure is an attributable adjudication supported by environment evidence.",
    "A zero exit code, empty failure list or absence of defects never implies a passed test.",
    "Flaky classification requires an attempt set with identical definition, parameters, subject digest and relevant environment baseline.",
    "Environment degradation never silently rewrites prior run results.",
    "Fixture limitations and representativeness remain explicit in every affected run.",
    "Access, isolation and reset controls are versioned and auditable.",
    "Retired baselines remain resolvable for historical evidence and rerun analysis.",
    "Until identity grain is resolved, TestRun carries an immutable EnvironmentPin value and no mastered Test Environment reference is required.",
    "Fixture bindings declare synthetic, anonymised or production-derived origin; production-derived personal data requires basis and retention class."
  ],
  "holds": [
    "No registry namespace, identifier, parent or NEW MODEL decision is assigned.",
    "Four identity/mastership questions remain unresolved.",
    "Research material is not a specification or package-promotion claim.",
    "Canonical publication and live verification are held."
  ],
  "decisionDeferredReason": [
    "Identity grain: snapshot digest or named pool plus as-of is unresolved.",
    "Mutable baseline versus immutable snapshot and recalibration is unresolved.",
    "Environment-failure attachment to run, environment or both is unresolved.",
    "Shared fixtures versus ephemeral runner mastership is unresolved."
  ],
  "unresolvedProposals": {
    "TestEnvironment": {
      "identity": [
        "testEnvironmentId"
      ],
      "required": [
        "name",
        "purpose",
        "ownerRef",
        "status"
      ],
      "optional": [
        "successorRef",
        "retiredAt"
      ],
      "lifecycle": [
        "planned",
        "provisioned",
        "qualified",
        "available",
        "degraded",
        "suspended",
        "retired"
      ]
    },
    "EnvironmentBaseline": {
      "identity": [
        "testEnvironmentId",
        "baselineVersion"
      ],
      "required": [
        "topology",
        "configuration",
        "dependencyPins",
        "validFrom",
        "contentDigest",
        "status"
      ],
      "optional": [
        "fixtureRefs",
        "toolchainRefs",
        "isolationControls",
        "resetProcedureRef",
        "validTo",
        "supersedesVersion"
      ],
      "lifecycle": [
        "draft",
        "qualified",
        "effective",
        "superseded",
        "withdrawn"
      ]
    }
  },
  "openOverlapQuestions": [
    "Whether any subset maps to WM-SFT-010 runtime resources without making WM-SFT-010 the Test Environment master."
  ]
}
