SaaS upgrade path

Read-only presentation. Writer: witnessops-console.

Contract

{
  "schema": "witnessops.operator_data_contract.v1",
  "writer": "witnessops-console",
  "readers": [
    "witnessops-forge",
    "witnessops-saas"
  ],
  "var_layout": {
    "engagements": "engagements/<id>.json",
    "verify_runs": "verify-runs/<uuid>.json",
    "hunt_snapshots": "hunt-snapshots/<engagement_id>/latest.json"
  },
  "evd": "engagement.evd_path on disk -- not copied into var/",
  "public_verify_authority": "https://witnessops.com/api/verify",
  "public_mesh_gate": "https://witnessops.com/api/mesh-gate"
}

API: /api/forge/upgrade-status

Phases