{
  "format": "vercy-model-allocation-candidate/v1",
  "contourId": "EM-AI-02",
  "proposedName": "Reusable Training Recipe",
  "modelId": null,
  "registryId": null,
  "allocationState": "unassigned",
  "decision": "CONDITIONAL NEW MODEL — NOT ALLOCATED",
  "canonicalPublishable": false,
  "identityTest": {
    "stableIdentity": "A recipe is independently identifiable only when a governed reusable training specification persists across multiple execution runs and resolved configurations.",
    "versionIdentity": "Changes to objective, method, required inputs, configuration schema or approval basis create immutable recipe revisions with explicit effective periods.",
    "independentLifecycle": "revision-level; see objects.TrainingRecipeRevision.lifecycle",
    "mastership": null,
    "mastershipHold": "No frozen method-governance authority is identified in EM-AI-02; mastership may not be asserted before one exists."
  },
  "boundary": {
    "owns": [
      "stable reusable recipe identity",
      "immutable approved recipe revisions",
      "required input roles and configuration schema",
      "effective periods and governance approvals",
      "declared reproducibility intent and known limitations"
    ],
    "references": [
      {
        "target": "WM-AI-006",
        "purpose": "Training runs that pin a recipe revision and resolved effective configuration"
      },
      {
        "target": "WM-SFT-004",
        "purpose": "Produced model artifacts and derivation lineage"
      },
      {
        "target": "WM-AI-007",
        "purpose": "AI registry entries and discoverability"
      },
      {
        "target": "WM-DAT-001",
        "purpose": "Version-qualified training and evaluation datasets"
      },
      {
        "target": "WM-AI-005",
        "purpose": "Configuration values without transferring run ownership"
      },
      {
        "target": "WM-FLW-015",
        "purpose": "Observed compute and resource consumption"
      }
    ],
    "excludes": [
      "training-run execution identity",
      "resolved run configuration",
      "model artifact payload or digest identity",
      "dataset identity or protected content",
      "compute reservation or consumption",
      "deployment and endpoint lifecycle"
    ]
  },
  "objects": {
    "TrainingRecipe": {
      "identity": [
        "trainingRecipeId"
      ],
      "required": [
        "name",
        "ownerRef",
        "status"
      ],
      "optional": [
        "currentRevisionRef",
        "successorRef"
      ],
      "conditionalRequirements": {
        "currentRevisionRef": "required when any revision status is effective"
      }
    },
    "TrainingRecipeRevision": {
      "identity": [
        "trainingRecipeId",
        "revision"
      ],
      "required": [
        "objective",
        "method",
        "requiredInputRoles",
        "configurationSchema",
        "contentDigest"
      ],
      "optional": [
        "effectiveFrom",
        "effectiveTo",
        "supersedesRevision",
        "successorRef",
        "knownLimitations"
      ],
      "lifecycle": [
        "draft",
        "approved",
        "effective",
        "suspended",
        "superseded",
        "retired"
      ],
      "conditionalRequirements": {
        "effectiveFrom": "required from status effective onward",
        "effectiveTo": "required when status is superseded or retired",
        "successorRef": "required when status is superseded"
      }
    }
  },
  "invariants": [
    "The candidate has no present independent identity and no assigned identifier in this increment.",
    "No object may reference a Reusable Training Recipe until registry allocation and all conditionsUnmet are resolved.",
    "A recipe receives independent identity only after distinct governance, approval, reuse and named mastership are evidenced.",
    "Every run pins one immutable resolved effective-configuration digest whether or not it cites a future recipe revision.",
    "Two executions of one future recipe remain two independently identified training runs.",
    "Recipe identity never inherits execution outcomes, checkpoints, metrics or resource actuals.",
    "Digest verifies recipe content but does not replace governed recipe identity.",
    "Training-run configuration remains run-owned even when derived from a recipe.",
    "Base model, tokenizer, dataset snapshots, code, dependencies, seeds and environment remain version-qualified external or run bindings.",
    "Dataset rights and purpose restrictions propagate through derivation and never merge at a shared endpoint.",
    "Checkpoint, final artifact, release, deployment and endpoint remain distinct identities.",
    "Requested, granted and observed compute remain distinct externally mastered assertions.",
    "Reproducibility claims state pinned scope, nondeterminism and known limitations.",
    "Recipe revision changes never rewrite completed runs or produced artifacts.",
    "Protected data, weights and confidential configuration values stay outside the public catalogue.",
    "Retired recipe identifiers and revisions remain resolvable and are never recycled."
  ],
  "holds": [
    "Registry namespace and identifier allocation are pending and no identifier may be guessed.",
    "Independent Grok review complete; recorded in the EM-AI-02 provider comparison.",
    "Frozen semantic audit complete; recorded in this contour's frozen audit.",
    "Candidate conditions remain unmet and present independent identity is false.",
    "No frozen method-governance authority is identified.",
    "Required base relations, endpoint/deployment/evaluation authority and rights-at-bind enforcement remain unresolved.",
    "Canonical base corrections, immutable pins, crosswalks and fixtures remain publication gates.",
    "No installability or publication-readiness claim is made."
  ],
  "candidateRevision": 2,
  "status": "held",
  "installable": false,
  "presentIndependentIdentity": false,
  "conditionsUnmet": [
    "independent governance and approval path distinct from WM-AI-005 and from run-pinned effective configuration",
    "demonstrated reuse across two or more executions",
    "named method-governance mastership authority"
  ]
}
