{
  "schemaVersion": 1,
  "analysisId": "forge-release-postmortem-2026-08-08-fence-56",
  "cutoff": "2026-08-08T22:44:57.030Z",
  "scope": "All terminal Forge production-controller attempts from the first persisted v2 release through fence 56.",
  "methodology": {
    "source": "Read-only reconstruction from the production release ledger, merge queue, phase history, receipts, and workflow records.",
    "aggregation": "Attempt durations are summed independently and are not critical-path wall time. Overlapping attempts remain separate.",
    "exclusions": "Pre-enqueue branch CI is incomplete. Message-level timestamps inside long agent turns were unavailable."
  },
  "summary": {
    "terminalAttempts": 54,
    "deployed": 17,
    "rolledBack": 31,
    "failedBeforePromotion": 3,
    "cancelled": 1,
    "supersededBeforeFence": 2,
    "successRatePct": 31.5,
    "aggregateAttemptMinutes": 819.4,
    "queueMinutes": 238.6,
    "leaseWaitMinutes": 58.2,
    "activeControllerMinutes": 484.1,
    "supersededUnfencedWaitMinutes": 38.5,
    "partialReceiptsBeforeNonSuccess": 76,
    "wideAttemptsAtLeastEightComponents": 13,
    "wideDeployed": 0,
    "narrowAttemptsAtMostFourComponents": 34,
    "narrowDeployed": 16,
    "latestEraFence44To56": {
      "attempts": 13,
      "deployed": 7,
      "narrowAttemptsAtMostFourComponents": 8,
      "narrowDeployed": 7
    }
  },
  "attemptColumns": [
    "fence",
    "state",
    "queueSeconds",
    "leaseSeconds",
    "activeSeconds",
    "affectedComponents",
    "receipts",
    "terminalCause"
  ],
  "releaseAttempts": [
    [
      5,
      "deployed",
      2699.3,
      7,
      2389.9,
      1,
      1,
      ""
    ],
    [
      6,
      "deployed",
      186.8,
      5,
      342.9,
      1,
      1,
      ""
    ],
    [
      7,
      "deployed",
      79,
      7.1,
      343.8,
      1,
      1,
      ""
    ],
    [
      8,
      "rolled_back",
      994,
      7.4,
      169.7,
      4,
      0,
      "repository: missing exact validation receipt"
    ],
    [
      9,
      "rolled_back",
      203,
      0.9,
      103.1,
      3,
      0,
      "runner: deployment-policy 403 on Workflow read"
    ],
    [
      10,
      "rolled_back",
      410.9,
      0.9,
      1036,
      1,
      0,
      "edge: staged-version canary rejected; provider not mutated"
    ],
    [
      11,
      "rolled_back",
      313.9,
      698.2,
      199,
      1,
      0,
      "runner: shallow checkout missing base Git object"
    ],
    [
      12,
      "rolled_back",
      358.1,
      1,
      658.3,
      3,
      0,
      "runner: checkout/install job failed without durable error"
    ],
    [
      13,
      "rolled_back",
      47.3,
      0.8,
      96.5,
      3,
      0,
      "runner: deployment-policy 403 on R2 cache read"
    ],
    [
      14,
      "rolled_back",
      170.3,
      0.8,
      95.3,
      1,
      0,
      "runner: deployment-policy 403 on R2 cache read"
    ],
    [
      15,
      "deployed",
      114.6,
      1.1,
      8.6,
      0,
      0,
      ""
    ],
    [
      16,
      "rolled_back",
      62.7,
      1,
      101.1,
      1,
      0,
      "runner: deployment-policy 403 on R2 cache read"
    ],
    [
      17,
      "deployed",
      41.8,
      0.9,
      405.7,
      1,
      1,
      ""
    ],
    [
      18,
      "failed",
      196.7,
      0.9,
      2063.2,
      0,
      0,
      "validation: signed evidence lacked immutable changed-file impact"
    ],
    [
      0,
      "superseded",
      433.8,
      0,
      0,
      0,
      0,
      "superseded before acquiring a fence"
    ],
    [
      0,
      "superseded",
      226.9,
      0,
      0,
      0,
      0,
      "superseded before acquiring a fence"
    ],
    [
      19,
      "deployed",
      563.6,
      401.3,
      8.6,
      0,
      0,
      ""
    ],
    [
      20,
      "failed",
      273.9,
      0.8,
      2.2,
      0,
      0,
      "validation: signed evidence lacked immutable changed-file impact"
    ],
    [
      21,
      "rolled_back",
      138.9,
      0.8,
      88.2,
      2,
      0,
      "repository: deployment-policy 403 on Workflow read"
    ],
    [
      22,
      "failed",
      5.7,
      0.8,
      2.1,
      0,
      0,
      "validation: signed evidence lacked immutable changed-file impact"
    ],
    [
      23,
      "rolled_back",
      41.9,
      0.8,
      108.6,
      1,
      0,
      "repository: deployment-policy 403 on Worker version list"
    ],
    [
      24,
      "rolled_back",
      114.2,
      0.9,
      109.9,
      1,
      0,
      "runner: rollback blocked by deployment-policy 403"
    ],
    [
      25,
      "deployed",
      239.7,
      0.9,
      409.9,
      1,
      1,
      ""
    ],
    [
      26,
      "rolled_back",
      155,
      0.8,
      116.3,
      1,
      0,
      "runner: rollback blocked by deployment-policy 403"
    ],
    [
      27,
      "rolled_back",
      257.8,
      0.8,
      191,
      3,
      0,
      "runner: release and provider rollback both blocked by policy 403"
    ],
    [
      28,
      "rolled_back",
      46.9,
      0.8,
      204.1,
      2,
      1,
      "deploy-control: deployment-policy 403 on R2 assets read"
    ],
    [
      29,
      "rolled_back",
      122.7,
      0.8,
      251.3,
      1,
      0,
      "runner: trigger deployment calls failed under policy"
    ],
    [
      30,
      "deployed",
      268.7,
      0.8,
      8,
      0,
      0,
      ""
    ],
    [
      31,
      "cancelled",
      360.8,
      0.8,
      964.8,
      2,
      1,
      "authorized descendant made edge delivery ineligible; provider not mutated"
    ],
    [
      32,
      "deployed",
      549.1,
      653.5,
      459.7,
      3,
      3,
      ""
    ],
    [
      33,
      "deployed",
      103.8,
      0.8,
      362.5,
      3,
      3,
      ""
    ],
    [
      34,
      "rolled_back",
      5.9,
      0.8,
      723.4,
      11,
      5,
      "wiki-worker: deployment-policy 403 on Worker service read"
    ],
    [
      35,
      "rolled_back",
      225.4,
      0.8,
      723,
      11,
      5,
      "wiki-worker: deployment-policy 403 on Workflow read"
    ],
    [
      36,
      "rolled_back",
      150.1,
      1,
      568.2,
      11,
      4,
      "runner: Durable Object reset during self-update"
    ],
    [
      37,
      "rolled_back",
      254.2,
      0.8,
      1192,
      11,
      8,
      "sites-edge: health verification returned 520"
    ],
    [
      38,
      "rolled_back",
      289.5,
      0.9,
      1213.4,
      11,
      8,
      "sites-edge: health verification returned 520"
    ],
    [
      39,
      "rolled_back",
      295.4,
      0.8,
      465.7,
      11,
      3,
      "deploy-runtime: npm ECONNRESET during install"
    ],
    [
      40,
      "rolled_back",
      252.6,
      0.8,
      1130.6,
      11,
      8,
      "sites-edge: deployment-policy 403 on zero-traffic stage"
    ],
    [
      41,
      "rolled_back",
      259,
      1.1,
      1673,
      11,
      8,
      "sites-edge: health verification returned 520"
    ],
    [
      42,
      "rolled_back",
      300.7,
      0.8,
      429.2,
      11,
      3,
      "deploy-runtime: npm ECONNRESET during install"
    ],
    [
      43,
      "rolled_back",
      109,
      0.9,
      1815.5,
      11,
      8,
      "sites-edge: canary preview returned 404 after fixed delay"
    ],
    [
      44,
      "deployed",
      47,
      906.5,
      310.7,
      3,
      3,
      ""
    ],
    [
      45,
      "rolled_back",
      85,
      0.8,
      691.6,
      6,
      3,
      "sites-edge: health verification returned 520"
    ],
    [
      46,
      "rolled_back",
      389.4,
      0.8,
      811.9,
      4,
      2,
      "slack-agent: health verification returned 520"
    ],
    [
      47,
      "deployed",
      93.9,
      0.8,
      823.9,
      3,
      3,
      ""
    ],
    [
      48,
      "deployed",
      0.5,
      0.8,
      125.2,
      1,
      1,
      ""
    ],
    [
      49,
      "deployed",
      367.6,
      0.8,
      493.5,
      1,
      1,
      ""
    ],
    [
      50,
      "deployed",
      0.5,
      0.8,
      566.8,
      4,
      4,
      ""
    ],
    [
      51,
      "rolled_back",
      103.6,
      0.8,
      2031.5,
      1,
      0,
      "edge: runner stayed alive 30 minutes after build/cache completion"
    ],
    [
      52,
      "deployed",
      414,
      766.2,
      611.2,
      5,
      5,
      ""
    ],
    [
      53,
      "deployed",
      0.8,
      0.9,
      271.2,
      2,
      2,
      ""
    ],
    [
      54,
      "rolled_back",
      316.1,
      0.8,
      727.5,
      11,
      5,
      "wiki-worker: deployment-policy 403 on service read"
    ],
    [
      55,
      "rolled_back",
      349.6,
      0.8,
      306.2,
      12,
      4,
      "content-control: first version uploaded with versions upload instead of bootstrap deploy"
    ],
    [
      56,
      "rolled_back",
      226.6,
      0.9,
      43.1,
      8,
      0,
      "deploy-runtime: workflow cancelled by user pause"
    ]
  ],
  "agentTurnColumns": [
    "durationSeconds",
    "label",
    "scopeExpansion",
    "notableInterruptions"
  ],
  "agentTurns": [
    [
      26580,
      "7h23: restore all accounts",
      "Account recovery expanded into D1 time travel, identity override, Sites/onboarding/blog reconciliation, release-v2 work, and cross-task orchestration",
      "Concurrent feature handoffs; benchmark/drain; user called out human release coordination; JFDI authority; invalid SHA correction; repeated production repairs"
    ],
    [
      6939,
      "1h56: go for it now",
      "Batch 1 release became runner/repository policy repair and break-glass reconciliation",
      "Controller stuck; scoped session friction; repeated policy gaps"
    ],
    [
      25044,
      "6h57: finish all five batches",
      "Five planned batches plus live production adoption, landing coordination, retries, and newly discovered release fixes",
      "User went to sleep and delegated orchestration; concurrent landing/SSR tasks; pause-and-recap request arrived inside the turn"
    ],
    [
      5727,
      "1h35: implement eight process improvements",
      "Eight separate release-system changes were implemented and deployed in one authority window",
      "Multiple live failures were patched during the same rollout; stale queue runs and self-update restarts"
    ],
    [
      2379,
      "40m: future-only cleanup",
      "CLI/docs deletion plus provider rollout",
      "Waiting blog task reported stuck validation during cleanup"
    ],
    [
      10413,
      "2h53: ‘ok do 1/2:3’",
      "Ambiguous shorthand was interpreted as shared-D1 split, physical API package decomposition, and repository/content-control extraction",
      "SSR coordination; broad runtime fan-out; three failed controller releases; user pause cancelled fence 56"
    ],
    [
      238,
      "4m reset",
      "Everything paused and baseline reset to b770b663",
      "Explicit stop to architecture expansion and release repair"
    ]
  ],
  "failureFamilies": [
    {
      "family": "runner lifecycle and self-update",
      "terminalAttempts": 11,
      "examples": [
        "Durable Object reset while deploying itself",
        "shallow checkout missing base object",
        "post-build process never quiesced",
        "runner binding/provider-policy reads blocked"
      ]
    },
    {
      "family": "Sites/edge canary and staging",
      "terminalAttempts": 7,
      "examples": [
        "520 health response",
        "404 immutable preview",
        "zero-traffic staging blocked",
        "30-minute runner finalization timeout"
      ]
    },
    {
      "family": "repository deployment policy",
      "terminalAttempts": 3,
      "examples": [
        "Workflow read blocked",
        "Worker version list blocked",
        "validation receipt absent"
      ]
    },
    {
      "family": "wiki deployment policy",
      "terminalAttempts": 3,
      "examples": [
        "Worker service read blocked",
        "Workflow read blocked"
      ]
    },
    {
      "family": "validation evidence",
      "terminalAttempts": 3,
      "examples": [
        "signed evidence lacked immutable changed-file impact"
      ]
    },
    {
      "family": "deploy-runtime install/network",
      "terminalAttempts": 3,
      "examples": [
        "npm ECONNRESET twice",
        "user-cancelled workflow once"
      ]
    },
    {
      "family": "other lifecycle",
      "terminalAttempts": 7,
      "examples": [
        "superseded before fence",
        "descendant cancellation",
        "Slack 520",
        "content-control bootstrap error",
        "deploy-control R2 policy"
      ]
    }
  ]
}
