From 56cd0c5715cae83971b5a036a298b87fc4810025 Mon Sep 17 00:00:00 2001 From: Codex Bot Date: Fri, 6 Nov 2026 18:59:08 +0800 Subject: [PATCH] Document Canvas V2 deployment and verified test-canvas migration --- README.md | 55 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index a435072..eecadda 100644 --- a/README.md +++ b/README.md @@ -350,19 +350,60 @@ On 2026-11-06, the isolated real check succeeded with text model `gpt-6.1-sol`. The image decoded as PNG, 1254×1254, 857,723 bytes. These are verification observations, not a hardcoded catalog or a production deployment claim; temporary run/asset records were cleaned up. Always query the live catalog. +The isolated text run was `a38ea762-d3bf-41c2-a43a-679e5785f3d7`; the image run +was `6c0beaa0-d182-45b5-9075-110fcc800218` and its authenticated reread asset was +`bf2733bc-8aca-4bca-97dc-3cfa52d48270`, SHA-256 +`2ffda6b1603fd0bab27f63479d7f2ad316b65f663afc57ba3f8fefa92a8edce4`. +These cleaned-up isolated IDs are audit observations, not live production resources. For production, the worker can load operator-controlled `codex/canvas.env` with `FOUNDRY_CANVAS_IMAGE_MODELS` containing verified backend names. Replace the worker with the reviewed Linux build through the normal deployment process, apply the numbered migrations and confirm capabilities before migrating a real canvas. -The user-selected migration target is the board addressed by workspace slug -`workspace-8d775c90-74c9-4109-a1ad-6d0ad3a00ac7` and board slug -`canvas-a9f9a985-e99a-43eb-b088-7edc9301452f`. Production migration remains pending -manual PR merge/deployment. Resolve canonical IDs, take a read-only preflight, -execute only its current plan, and record before/after versions, frame/child IDs, -counts and authenticated V2 rereads. Do not migrate other account resources or let -a legacy client overwrite the migrated board. +Production deployment of merge commit `b4e537b4adedeb524971cbbdd3f52c61257b10da` +succeeded on the confirmed ECS runner on 2026-11-06. Main checks +[run 912](https://gitea.entroia.com/Zayden-Jung/foundry-core/actions/runs/912) +and deployment +[run 913](https://gitea.entroia.com/Zayden-Jung/foundry-core/actions/runs/913) +both succeeded. The base URL is `https://api.foundry.entroia.com`. +The deployed capabilities endpoint reported contract `canvas-v2-2026-11-06` +with both text and image available; the worker uses the backend verified above. + +Only the user-selected existing test canvas was migrated through the production +HTTPS API, using a temporary operator session with an absolute three-minute +expiry and the existing account's editor/admin permissions. Each preflight or +verification session was revoked immediately afterwards; no credential was +printed or persisted. The dry-run reported no issues, one legacy frame and two +explicit members. The version-bound migration committed atomically: + +| Item | Verified value | +| --- | --- | +| Project | `endoleap` | +| Canonical workspace | `8d775c90-74c9-4109-a1ad-6d0ad3a00ac7` | +| Canonical parent board | `a9f9a985-e99a-43eb-b088-7edc9301452f` | +| Parent version/schema | 209 / V1 → 210 / V2 | +| Frame | `f2a00495-3740-43a6-aa52-611e4dd8520f` | +| Canonical child board | `9c9bd83b-2444-41f8-8e0e-bfd6d8873577` | +| Child version | 1 / V2 | +| Transaction | `4a6e6fee-683e-4025-8ef8-47092a80331b` | +| Undo expiry | `2026-11-13T10:56:40.241092Z` | +| Nodes | 11 preserved: parent 9, child 2 | +| Edges | 2 preserved in parent: 1 mapped boundary edge, 1 unchanged parent edge | + +Authenticated V2 rereads matched the committed snapshots. The two explicit +members retained their content, image references, dimensions and styles, with +positions converted to child coordinates. The boundary edge retained its ID, +style and path, and references a stable port targeting the original node/handle. +Retrying the same operation returned the same transaction; a fresh dry-run +reported zero additional children. A legacy GET returned +409 `canvas_schema_upgrade_required`. No other canvas was migrated. + +The source snapshot, plan, complete transaction response, reread snapshots and +summary are retained with mode 0600 under +`/opt/endoleap-infra/foundry/canvas-v2-migration-a9f9a985-e99a-43eb-b088-7edc9301452f` +on the ECS host, in addition to the database receipt. The frontend V2 integration +remains a separate task; use a V2-aware client for this migrated test canvas. #### Reproducible session API examples -- 2.52.0