{
  "releaseId": "prasad-digital-twin-r5-r51-living-twin-convergence",
  "principles": [
    {
      "id": "principle:public-evidence-first",
      "type": "ArchitecturePrinciple",
      "title": "Public evidence first",
      "state": "SUPPORTED",
      "evidence": [
        "evidence:architecture-intelligence",
        "evidence:adaptive-learn",
        "evidence:architecture-lab",
        "evidence:capai-agent-hub",
        "evidence:capai-ecc"
      ]
    },
    {
      "id": "principle:human-authority",
      "type": "ArchitecturePrinciple",
      "title": "Human authority remains final",
      "state": "SUPPORTED",
      "evidence": [
        "receipt:twin-boundary",
        "decision:read-only-first"
      ]
    },
    {
      "id": "principle:unknown-over-invention",
      "type": "ArchitecturePrinciple",
      "title": "UNKNOWN over invention",
      "state": "SUPPORTED",
      "evidence": [
        "decision:read-only-first"
      ]
    },
    {
      "id": "principle:deterministic-policy",
      "type": "ArchitecturePrinciple",
      "title": "Deterministic policy before synthesis",
      "state": "SUPPORTED",
      "evidence": [
        "evidence:architecture-intelligence"
      ]
    }
  ],
  "constraints": [
    {
      "id": "constraint:public-safe-only",
      "type": "Constraint",
      "title": "Public-safe only",
      "state": "SUPPORTED"
    },
    {
      "id": "constraint:no-private-client-data",
      "type": "Constraint",
      "title": "No private client data",
      "state": "SUPPORTED"
    },
    {
      "id": "constraint:no-live-sap",
      "type": "Constraint",
      "title": "No live SAP connection",
      "state": "SUPPORTED"
    },
    {
      "id": "constraint:no-public-writes",
      "type": "Constraint",
      "title": "No public write tools",
      "state": "SUPPORTED"
    },
    {
      "id": "constraint:no-model-authority",
      "type": "Constraint",
      "title": "No model authority",
      "state": "SUPPORTED"
    }
  ],
  "policies": [
    {
      "id": "policy:evidence-before-recommendation",
      "type": "DecisionPolicy",
      "title": "Evidence before recommendation",
      "weight": 5,
      "requiredEvidence": 1,
      "unknownBehavior": "Return UNKNOWN or PARTIAL."
    },
    {
      "id": "policy:read-only-first",
      "type": "DecisionPolicy",
      "title": "Read-only first",
      "weight": 4,
      "requiredConstraint": "constraint:no-public-writes",
      "unknownBehavior": "Prefer preview/proof path."
    },
    {
      "id": "policy:human-approval",
      "type": "DecisionPolicy",
      "title": "Human approval for consequential action",
      "weight": 4,
      "requiredPrinciple": "principle:human-authority",
      "unknownBehavior": "Keep as recommendation only."
    },
    {
      "id": "policy:research-not-pass",
      "type": "DecisionPolicy",
      "title": "Research is not pass",
      "weight": 3,
      "unknownBehavior": "Expose RESEARCH or PARTIAL rather than SUPPORTED."
    }
  ],
  "options": [
    {
      "id": "option:capella",
      "type": "DecisionOption",
      "title": "Capella",
      "evidence": [
        "evidence:abap4c-capella",
        "decision:read-only-first"
      ],
      "policyFit": [
        "policy:evidence-before-recommendation",
        "policy:read-only-first",
        "policy:human-approval"
      ]
    },
    {
      "id": "option:abap4c-architecture-1",
      "type": "DecisionOption",
      "title": "ABAP4C Architecture 1",
      "evidence": [
        "evidence:abap4c-architecture-1"
      ],
      "policyFit": [
        "policy:evidence-before-recommendation",
        "policy:research-not-pass"
      ]
    },
    {
      "id": "option:side-by-side-btp",
      "type": "DecisionOption",
      "title": "Side-by-side BTP",
      "evidence": [
        "evidence:adaptive-learn",
        "evidence:architecture-lab"
      ],
      "policyFit": [
        "policy:evidence-before-recommendation"
      ]
    }
  ],
  "decisionCases": [
    {
      "id": "case:promotion-readiness",
      "type": "DecisionCase",
      "title": "Promotion flagship: governed SAP AI architecture pattern",
      "question": "Should a governed SAP AI architecture use Capella, ABAP4C Architecture 1, or a side-by-side BTP pattern?",
      "constraints": [
        "SAP semantic authority required",
        "Clean Core required",
        "ABAP Cloud required"
      ],
      "options": [
        "Capella",
        "ABAP4C Architecture 1",
        "Side-by-side BTP"
      ],
      "expectedState": "PARTIAL",
      "sharePath": "/twin?mode=DECIDE&demo=promotion&assessment=ai-governance#interrogate"
    },
    {
      "id": "case:clean-core-assessment",
      "type": "DecisionCase",
      "title": "Clean Core assessment showcase",
      "question": "Assess public Clean Core reasoning and unknowns.",
      "constraints": [
        "Clean Core required",
        "SAP semantic authority required"
      ],
      "options": [
        "Architecture Intelligence",
        "Adaptive Learn"
      ],
      "expectedState": "PARTIAL",
      "sharePath": "/twin?mode=DECIDE&workflow=assessment&assessment=clean-core#interrogate"
    },
    {
      "id": "case:unknown-private-landscape",
      "type": "DecisionCase",
      "title": "UNKNOWN private landscape showcase",
      "question": "Can the Twin verify a private payroll landscape?",
      "constraints": [
        "No private client data"
      ],
      "options": [
        "Public evidence only",
        "Invented private claim"
      ],
      "expectedState": "UNKNOWN",
      "sharePath": "/twin?mode=DECIDE&demo=unknown&assessment=clean-core&context=private%20client%20payroll%20system#interrogate"
    },
    {
      "id": "case:counterfactual-btp-unavailable",
      "type": "DecisionCase",
      "title": "Counterfactual: BTP unavailable",
      "question": "What changes when BTP is unavailable?",
      "constraints": [
        "SAP semantic authority required",
        "BTP unavailable"
      ],
      "options": [
        "Capella",
        "ABAP4C Architecture 1",
        "Side-by-side BTP"
      ],
      "expectedState": "PARTIAL",
      "sharePath": "/twin?mode=DECIDE&demo=counterfactual&scenario=btp-unavailable#interrogate"
    },
    {
      "id": "case:critic-challenge",
      "type": "DecisionCase",
      "title": "Challenge/Critic showcase",
      "question": "Challenge the strongest recommendation.",
      "constraints": [
        "Generated reasoning is not evidence",
        "Human approval required"
      ],
      "options": [
        "Accept recommendation",
        "Request more evidence"
      ],
      "expectedState": "PARTIAL",
      "sharePath": "/twin?mode=ASK&q=Challenge%20this%20recommendation#interrogate"
    },
    {
      "id": "case:fidelity-compare",
      "type": "DecisionCase",
      "title": "Compare Twin with Prasad",
      "question": "Where does the Twin align with authored public positions?",
      "constraints": [
        "Human gold required"
      ],
      "options": [
        "Use authored artifact",
        "Use ambiguous inference"
      ],
      "expectedState": "PARTIAL",
      "sharePath": "/twin?mode=VERIFY&verify=fidelity#interrogate"
    }
  ],
  "counterfactualScenarios": [
    {
      "id": "scenario:btp-unavailable",
      "type": "CounterfactualScenario",
      "title": "BTP unavailable",
      "changes": [
        "BTP unavailable"
      ],
      "expectedDelta": "Side-by-side BTP weakens; Capella usually remains stronger if SAP/ABAP evidence is required."
    },
    {
      "id": "scenario:low-operational-complexity",
      "type": "CounterfactualScenario",
      "title": "Low operational complexity",
      "changes": [
        "Low operational complexity"
      ],
      "expectedDelta": "Control-plane-heavy options need additional operational proof."
    },
    {
      "id": "scenario:external-api-required",
      "type": "CounterfactualScenario",
      "title": "External API required",
      "changes": [
        "External API exposure required"
      ],
      "expectedDelta": "Integration/API evidence becomes more important; missing proof remains UNKNOWN."
    }
  ],
  "publicOnly": true,
  "readOnly": true
}