Compare commits

...

2 Commits

Author SHA1 Message Date
codex-bot 56cd0c5715 Document Canvas V2 deployment and verified test-canvas migration
Foundry Go checks / check (push) Successful in 2m27s
Foundry Go checks / check (pull_request) Successful in 2m39s
2026-11-06 18:59:08 +08:00
Zayden-Jung b4e537b4ad Merge pull request '实现 Canvas V2:真实子画布、异步 AI 与受管图片资产' (#12) from codex/canvas-v2 into main
Foundry Go checks / check (push) Successful in 3m25s
Deploy Foundry Core / deploy (push) Successful in 3m19s
Reviewed-on: #12
2026-11-06 10:48:54 +00:00
+48 -7
View File
@@ -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