diff --git a/docs/evidence/live-acceptance.json b/docs/evidence/live-acceptance.json
index be0196c..a7e55b0 100644
--- a/docs/evidence/live-acceptance.json
+++ b/docs/evidence/live-acceptance.json
@@ -1,34 +1,34 @@
{
"schemaVersion": "ifd-live-acceptance/v1",
"acceptance": "BUILD-04",
- "recorded_at": "2026-11-12T16:41:09.549681+00:00",
+ "recorded_at": "2026-11-13T04:34:45.969186+00:00",
"deployment": {
- "commit": "3c257da34faf637a4c8c70cb2e3799cb54e11347",
- "worker_version": "3264d4eb-3eea-4260-adc2-1ec99fa97fc5"
+ "commit": "553a41ff8ceee658779196f2856b4cebc3ae241f",
+ "worker_version": "42d1aede-d6f5-4e0b-a226-32617cab2c9e"
},
- "integration_digest": "fb79ea2cd3da575fb310ca6ee8c5964dcd5d119addde6106fefd23cb4162bc6a",
+ "integration_digest": "3f5c27cd714b6f1ba0c85c7056419c4e6b62ee8481cc12be0b17cd8441e33845",
"outcomes": {
"generation_through_mcp": {
"passed": true,
- "detail": "v046-acceptance-20261112T163555Z leg 1, v046-acceptance-20261112T163555Z leg 2"
+ "detail": "v047-acceptance-20261113T0435Z leg 1, v047-acceptance-20261113T0435Z leg 2"
},
"neo_response": {
"passed": true,
- "detail": "v046-acceptance-20261112T163555Z leg 1 (A20N), v046-acceptance-20261112T163555Z leg 2 (A20N)"
+ "detail": "v047-acceptance-20261113T0435Z leg 1 (A21N), v047-acceptance-20261113T0435Z leg 2 (A21N)"
},
"two_legs_retained": {
"passed": true,
- "detail": "v046-acceptance-20261112T163555Z legs 1 and 2"
+ "detail": "v047-acceptance-20261113T0435Z legs 1 and 2"
},
"authentication_and_resumption": {
"passed": true,
- "detail": "approval wait, resume and signed-in generation: v046-acceptance-20261112T163555Z"
+ "detail": "approval wait, resume and signed-in generation: v047-acceptance-20261113T0435Z"
}
},
"cases": [
{
- "thread": "v046-acceptance-20261112T163555Z",
- "trip": "v046-acceptance-20261112T163555Z",
+ "thread": "trip-a674affc1b",
+ "trip": "v047-acceptance-20261113T0435Z",
"interrupts": 2,
"resumes": 4,
"legs": [
@@ -38,21 +38,21 @@
"requested": {
"origin": "KIAD",
"destination": "KEWR",
- "aircraft": "A20N",
+ "aircraft": "A21N",
"departure": "2026-11-13T14:00:00Z"
},
"generation": {
"status": "generated",
- "clicked_at": "2026-11-12T16:37:56.277914+00:00",
+ "clicked_at": "2026-11-13T04:33:08.752596+00:00",
"browser_session": true
},
"snapshot": {
- "sha256": "0f5ba22385abb04bb1c4a677946648ebaf98165a70b3fc5395b9e2237439f0bb",
- "retrieved_at": "2026-11-12T16:38:18.968770+00:00",
- "generated_at": "2026-11-12T16:37:58Z",
+ "sha256": "a63e3d4603943fc117c08da55c0dc8a6c86472eead1a71866862cf0fc89a169d",
+ "retrieved_at": "2026-11-13T04:33:21.323954+00:00",
+ "generated_at": "2026-11-13T04:33:09Z",
"origin": "KIAD",
"destination": "KEWR",
- "aircraft": "A20N",
+ "aircraft": "A21N",
"takeoff_status": "available"
}
},
@@ -61,22 +61,22 @@
"revision": 1,
"requested": {
"origin": "KEWR",
- "destination": "KIAD",
- "aircraft": "A20N",
- "departure": "2026-11-13T18:00:00Z"
+ "destination": "EIDW",
+ "aircraft": "A21N",
+ "departure": "2026-11-13T23:15:00Z"
},
"generation": {
"status": "generated",
- "clicked_at": "2026-11-12T16:39:47.012214+00:00",
+ "clicked_at": "2026-11-13T04:33:55.305297+00:00",
"browser_session": true
},
"snapshot": {
- "sha256": "93e37e0765072a8cb8c9b2b8592a56bd745a2b30592255f2b625c64661432366",
- "retrieved_at": "2026-11-12T16:40:09.454528+00:00",
- "generated_at": "2026-11-12T16:39:48Z",
+ "sha256": "3ca1d8c02210ae5e03228c3080237c58544031f86f5c5270b3be4247bc2a391c",
+ "retrieved_at": "2026-11-13T04:34:10.114476+00:00",
+ "generated_at": "2026-11-13T04:33:56Z",
"origin": "KEWR",
- "destination": "KIAD",
- "aircraft": "A20N",
+ "destination": "EIDW",
+ "aircraft": "A21N",
"takeoff_status": "available"
}
}
diff --git a/docs/evidence/v047-release.md b/docs/evidence/v047-release.md
new file mode 100644
index 0000000..b319ab5
--- /dev/null
+++ b/docs/evidence/v047-release.md
@@ -0,0 +1,63 @@
+# v0.4.7 Route Finder release
+
+Observed November 13, 2026 UTC (November 12 in New York). [PR #27](https://github.com/IntelIP/InfiniteFlightAgent/pull/27)
+is merged and [v0.4.7](https://github.com/IntelIP/InfiniteFlightAgent/releases/tag/v0.4.7)
+is deployed at 100%. With no agreed route, SimBrief generation fills the form and clicks
+Generate Flight directly, keeping SimBrief's own route suggestion; Route Finder is never
+clicked. Route verification ignores the explicit `DCT` tokens the OFP writes between fixes.
+The README refresh ([PR #25](https://github.com/IntelIP/InfiniteFlightAgent/pull/25)) ships
+in the same release.
+
+## Incident
+
+Trip `KEWR-EIDW-20261112` (private B752, no route) failed twice on v0.4.6 (2026-11-13
+03:48 and 03:51 UTC) with `generate_in_simbrief` → `TimeoutError`, `clicked=false`.
+Browserbase network logs for sessions `6c4ccc33-3807-4035-8b74-50c3964ff7d5` and
+`e386b26c-b5f8-4f4d-9ad4-d3cde006d19b` show the form filled correctly, then the Route Finder
+request to `api.simbrief.com/v2/routes/generate` received no response before the 30-second
+`jQuery.active` wait expired, so Generate Flight was never reached. The agent called the tool
+as instructed; the instructions were not the cause.
+
+## Release identity and gates
+
+- PR squash merge and release source/tag: `553a41ff8ceee658779196f2856b4cebc3ae241f`.
+- [Release workflow](https://github.com/IntelIP/InfiniteFlightAgent/actions/runs/43365552719): passed guard, source CI, upload, owner-authorized production approval, promotion, trigger deployment and GitHub release publication.
+- Production Worker: `42d1aede-d6f5-4e0b-a226-32617cab2c9e`, at 100%.
+- Immutable image: `sha256:0ec30d9ff5256ea8a3dc737ac3d9e86c0b4ce2853f7593f1cf5d83972cef2389`.
+- Rollback Worker: `2226a90f-baba-4123-9022-d1ac8e137890` (v0.4.6).
+- Integration digest: `3f5c27cd714b6f1ba0c85c7056419c4e6b62ee8481cc12be0b17cd8441e33845`.
+- Instructions SHA-256 (unchanged from v0.4.6): `5023dc1800980e37735d2176066f0c9743303d1933880fb59acbdd0305eca51d`.
+
+## Local verification before merge
+
+- Live browser check of KEWR–EIDW (B752, no route): `generated` in 35 seconds with route
+ `MERIT HFD PUT BOS TUSKY FORTE NICSO NATS BEXET OLAPO OLAP4L`.
+- Local end-to-end agent run of the same leg first exposed the `DCT` token readback mismatch
+ (`plan_mismatch`); after the fix it completed with a briefing in 82 seconds.
+- 449 tests passed with three Postgres-only skips; Ruff check and format clean.
+
+## Production live acceptance
+
+Unlike v0.4.6, acceptance ran on the promoted production Worker rather than a temporary
+exact-image Worker before promotion. The first `plan_flight` call timed out client-side while
+the new container cold-started (startup completed 04:32:05 UTC); no trip was saved and the
+retry succeeded.
+
+Conversation `trip-a674affc1b`, trip `v047-acceptance-20261113T0435Z`: private standard A21N,
+N321HD, four passengers, KGS, automatic routes and runways.
+
+| Leg | Departure UTC, November 13, 2026 | Retained route | Browser seconds |
+| --- | --- | --- | ---: |
+| 1: KIAD–KEWR | 14:00 | `JCOBY4 SWANN PHLBO4` | 36.8 |
+| 2: KEWR–EIDW | 23:15 | `DCT MERIT DCT HFD DCT PUT DCT BOS DCT TUSKY DCT FORTE DCT NICSO NATS BEXET DCT OLAPO OLAP4L` | 58.7 |
+
+Each leg was approved separately and generated/finalized once, with takeoff performance and a
+retained briefing; leg 2's SimBrief message is `ETOPS FUEL REQUIRED`. Both browser sessions
+were released. All four [database-derived BUILD-04 outcomes](live-acceptance.json) pass, and
+product validation reports `passed`.
+
+## Limitations
+
+Removing the pre-Generate DCT stop means a short leg can retain a SimBrief-chosen direct
+route; the briefing shows the retained route. Route counts do not establish navigation
+validity or simulator import. Thrust remains a simulation-grade estimate.
diff --git a/docs/implementation/deployment.md b/docs/implementation/deployment.md
index ded00f1..e2ed26d 100644
--- a/docs/implementation/deployment.md
+++ b/docs/implementation/deployment.md
@@ -1,8 +1,29 @@
# Cloudflare deployment
+
+
+## Current release: v0.4.7
+
+Observed November 13, 2026 UTC: [PR #27](https://github.com/IntelIP/InfiniteFlightAgent/pull/27)
+is merged and [v0.4.7](https://github.com/IntelIP/InfiniteFlightAgent/releases/tag/v0.4.7)
+is deployed at 100%. The [Release workflow](https://github.com/IntelIP/InfiniteFlightAgent/actions/runs/43365552719)
+passed exact-source CI, upload, owner-authorized production approval, promotion, trigger
+deployment and release publication. The two-leg acceptance ran on the promoted production
+Worker.
+
+- Release source and PR merge: `553a41ff8ceee658779196f2856b4cebc3ae241f`.
+- Production Worker: `42d1aede-d6f5-4e0b-a226-32617cab2c9e`.
+- Immutable image: `sha256:0ec30d9ff5256ea8a3dc737ac3d9e86c0b4ce2853f7593f1cf5d83972cef2389`.
+- Rollback Worker: `2226a90f-baba-4123-9022-d1ac8e137890` (v0.4.6).
+
+The [release report](../evidence/v047-release.md) owns the incident, identities, local and
+production evidence, and limitations. All four
+[database-derived BUILD-04 outcomes](../evidence/live-acceptance.json) pass for this release
+integration. Two sequential browser sessions used 95.5 seconds; zero active browsers remained.
+
-## Current release: v0.4.6
+## Previous release: v0.4.6
Observed November 12, 2026 UTC: [PR #24](https://github.com/IntelIP/InfiniteFlightAgent/pull/24)
is merged and [v0.4.6](https://github.com/IntelIP/InfiniteFlightAgent/releases/tag/v0.4.6)