☰ Contents
AISA v2.0 / Technical documentation / sign-out-document.schema.json

sign-out-document.schema.json

JSON · 26 lines · 2,989 bytes · wiki path 10 Architecture/contracts/drafts/sign-out-document.schema.json · download the raw file · cited from Contracts

Same folder: branch-set.schema.json · brief.schema.json · configuration-summary.schema.json · cross-repo-shape.schema.json · experience-entry.schema.json · handover-packet.schema.json · normalised-arrival.schema.json · route-packet.schema.json · skill-manifest.schema.json · solution-packet.schema.json · stage-contract.schema.json

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://aisa.ablera.com/contracts/drafts/sign-out-document.schema.json",
  "title": "Sign-out document — DRAFT inter-stage contract (Configuration)",
  "x-status": "draft",
  "description": "Configuration Module § 1b: every phase ends with a sign-out document the next phase reads instead of the transcript. Six sections. Required core only; a stage may add sections per case (D139).",
  "type": "object", "additionalProperties": true,
  "required": ["phase", "case_id", "product_code", "working_environment", "tested", "what_next_phase_needs", "open_items", "artefacts", "signed_by"],
  "properties": {
    "phase": { "type": "string", "enum": ["S1", "phase1", "phase2A", "phase2B", "joint_proof", "deployment_set"] },
    "case_id": { "type": "string" },
    "product_code": { "type": "string" },
    "working_environment": { "type": "string" },
    "tested": { "type": "object", "required": ["skill", "passed", "failed", "proof_level"], "properties": {
      "skill": { "type": "string", "description": "getRates test · policy test · offer test · route / label / endpoint check" },
      "passed": { "type": "integer", "minimum": 0 }, "failed": { "type": "integer", "minimum": 0 },
      "proof_level": { "type": "string", "enum": ["structural", "priced", "reachable", "quoted", "issued"] },
      "eval_run_id": { "type": "string" } } },
    "what_next_phase_needs": { "type": "array", "items": { "type": "object", "required": ["item", "value_ref"], "properties": { "item": { "type": "string" }, "value_ref": { "type": "string" } } }, "description": "the identifiers and versions the next phase keys on — product code, cover codes, version_id, returned ids" },
    "deployed_on_working_env": { "type": "array", "items": { "type": "string" }, "description": "phase1: the rating version ids deployed on the working environment only (D113)" },
    "open_items": { "type": "array", "items": { "type": "object", "required": ["what", "blocking"], "properties": { "what": { "type": "string" }, "blocking": { "type": "boolean" }, "missing_id": { "type": "string" } } } },
    "artefacts": { "type": "array", "items": { "type": "object", "required": ["kind", "paper_ref", "hash"], "properties": { "kind": { "type": "string" }, "paper_ref": { "type": "string" }, "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" }, "revert_ref": { "type": "string", "description": "D120: every deployment artefact carries its revert, emitted in the same step" } } } },
    "signed_by": { "type": "object", "required": ["actor_kind", "actor_id", "gate_decision_id", "on"], "properties": { "actor_kind": { "type": "string", "enum": ["person", "policy"] }, "actor_id": { "type": "string" }, "gate_decision_id": { "type": "string" }, "on": { "type": "string", "format": "date-time" } } },
    "supersedes": { "type": "string", "description": "a re-issued sign-out names the one it replaces; dependent assertions re-run" }
  }
}