{
  "name": "Kernex Deterministic Core Object Schema",
  "version": "0.1.0",
  "principle": "Same intent + same profile + same ontology version + same constraints = same decomposition, same graph, same DISC output, same audit hash.",
  "objects": {
    "IntentObject": {
      "required": [
        "run_id",
        "raw_intent",
        "normalized_intent",
        "stakeholder",
        "domain",
        "mission",
        "constraints",
        "language",
        "ontology_version"
      ],
      "purpose": "Immutable input object representing human intent before deterministic processing."
    },
    "DecompositionObject": {
      "required": [
        "root_domain",
        "subdomains",
        "entities",
        "actors",
        "events",
        "states",
        "constraints",
        "risks",
        "controls"
      ],
      "purpose": "Recursive decomposition of the intent into computable domain structure."
    },
    "RelationshipGraph": {
      "required": [
        "nodes",
        "edges",
        "responsibilities",
        "dependencies",
        "feedback_loops",
        "evidence_links"
      ],
      "purpose": "Deterministic relationship intelligence between domain objects."
    },
    "DISCOutput": {
      "D": "Domain structure",
      "I": "Intelligence graph",
      "S": "System blueprint",
      "C": "Controls, compliance, certification, computable execution"
    },
    "OntologySelection": {
      "required": [
        "ontology_id",
        "ontology_name",
        "ontology_version",
        "selection_reason",
        "compatibility_score"
      ],
      "purpose": "Selected ontology that governs generated output."
    },
    "AuditObject": {
      "required": [
        "run_id",
        "input_hash",
        "ontology_hash",
        "output_hash",
        "reproducibility_status",
        "timestamp"
      ],
      "purpose": "Proof that a run can be reproduced and verified."
    }
  },
  "api_contracts": [
    "POST /api/intent/capture",
    "POST /api/decompose",
    "POST /api/relationships/build",
    "POST /api/disc/compile",
    "POST /api/ontology/select",
    "POST /api/workplace/provision",
    "GET /api/audit/{run_id}"
  ]
}