AI agent skill · by @T8mars
Zhenzhen Canvas
Create, change, remove, extend, remake, compare, continue, recover, and package images, videos, audio, scripts, Story productions, storyboards, product ads, TVCs, MVs, short dramas, assets, and editing workflows in 贞贞无限画布 through the zcanvas CLI. Use when Codex or another local Agent is asked to make or modify creative work, continue the last production, retry only failed work, diagnose a canvas/run, manage or deliver project assets, or visibly hand the current canvas to Chrome. The Skill turns one natural-language request into an editable plan, preserves accepted work and continuity, requires preview and approval before writes or generation, and verifies persisted results.
Archived 2026-10-23 · Source updated 2026-10-11 · License: MIT. Check the original repository for the latest version.
SKILL.md instructions
# 贞贞无限画布
> 2026-09-29 v3.2.1 已从固定源码/Tag `2dc205dfe6dc743195eeb5aa57db27c0da1fa29f` 完成 [Windows/macOS 同源 Latest 发布](https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.2.1):schema32 同库旧备份需用户在只读画布明确确认后恢复,故障证据保留、ACK 不回退;六资产及两个更新清单完整回下载通过。Mac 仍是未公证技术预览;受影响用户旧库、安装升级和 F8–F10 证据按 `owner-approved-post-release-v3.2.1` 后补,不记通过。精确事实见 `docs/release-v3.2.1.md`。
> 2026-09-23 v3.2.0 formal release completed: fixed source/tag `dfb388c2d2dbae4df3186ea268f69cca96d793ac` is the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.2.0>. The unique Windows chain completed the 2,985-module build, encryption, runtimes, native rebuild, NSIS, post-build, provenance, sealed recovery, publication and full remote download. Same-tag real Apple Silicon workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/35751218655> completed ad-hoc-signed DMG/ZIP/updater packaging, append-only upload and runner verification; an independent Mac full download and a final Windows full download also passed with all six assets present. Qwen Image Global 2.1, Animate Motion Transfer and all four credential-free workflows are therefore released. Mac remains an unnotarized technical preview; affected-user installation and F8–F10 evidence remain deferred under `owner-approved-post-release-v3.2.0` and are not passed. Exact asset digests are maintained in `docs/release-v3.2.0.md`.
> 2026-09-22 v3.2.0 发布能力:贞贞平价 AI 小屋新增 `qwen-image-global-2.1` 图像节点独立 Tab 与 `animate-motion-transfer` 视频节点独立 Tab。Qwen 只提交官方 Prompt、0–10 张有序参考图、1K/2K/4K、八种比例和可选非负安全整数 Seed;Animate 必须且只能接收 1 张角色图与 1 个动作视频,不发 Prompt、Seed 或音频,并保留官方帧率、帧数、姿态、镜头、遮罩、表情和胸部动作参数。两者都复用共享 15 分钟媒体边界、受理后原任务恢复和受信 Provider 结果落盘,禁止对受理不明或下载失败的付费任务重发。可复用工作流与真实 API 边界见 `docs/qwen21-animate-motion-transfer.md`。
> 2026-09-09 v3.1.5 formal release completed: fixed source/tag `d3d16054f049bfa01aa64e1432c5d382cc806f59` is the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.1.5>. It publishes Zhenzhen AI Workshop GPT Image 2.5 Flare/Sunburst six-model support, Budget AI House Image G v2.5 Lowprice/Flare/Sunburst, case-sensitive `MiniMax-H3` V2 with four credential-free workflows, and Vosr2 image/video upscaling while preserving every v3.1.4-and-earlier node, model, workflow, Provider contract, default, and saved canvas. Focused/adjacent model suites passed `120/120`, Electron ABI `27/27`, Electron/updater/macOS/runtime/release contracts `40/40`, followed by TypeScript, Node syntax, `4,484` bilingual keys, `39 actions / 294 runtime / 83/83 nodes`, public/RH/Music3 checks, and a 2,952-module production build. The single Windows formal chain completed encryption of 172 backend sources plus four private files, both runtimes, native rebuild, NSIS, seven-file `app.asar` startup contract, provenance, sealed recovery, upload, and full remote download; the legacy bundled 7za large-archive multithreading defect was handled through the dependency-supported `USE_SYSTEM_7ZA` path with installed 7-Zip 24.06, with source/archive CRC and post-build runtime digests verified. Real macOS arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/34371680596> completed same-source native dependencies, ad-hoc signing, DMG/ZIP/updater build, append-only upload, and runner download verification; an independent local verifier downloaded all three Mac assets again, and the final Windows verifier confirmed its three assets with all six present. Windows EXE is 1,375,574,801 bytes / `250ff3fe7ab9060312056917dbde7e08da0989447990bb08644aa158f2d38bc1`, blockmap 1,434,584 bytes / `c56ab3fce2803c7b4246b73cab8cd27ddda0534cb6907209b36082b664d48557`, and `latest.yml` 362 bytes / `04f1c4e9c6b0f17d1d898f19408375fcc91d81648170bc9138b55e3da6ff417d`; Mac DMG is 514,103,818 bytes / `456fc655cbf3c1e44edfff370ae2b921b12096c82cb0812a8f9525e36c9cc448`, ZIP 506,148,221 bytes / `e2f906018576e187daa9d27e71dc2ed2683142e36219916c89aca9a09ba3983e`, and `latest-mac.yml` 536 bytes / `ee34fb2ea78fde8a5faff29f897a31d4b705140c01255ec78e8fa56209233b77`. Affected-user installation, multi-device collaboration, F8-F10, human natural-language review, device-level screen-reader/touch/zoom, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.1.5` and are not passed.
> 2026-09-09 current v3.1.5 formal release authorization: after the earlier pause, the owner explicitly requested updating `SKILL.md` and `features.json`, pushing the new GitHub version, running the single formal Electron package through this Skill, and publishing a new Release. Fixed scope includes Zhenzhen AI Workshop GPT Image 2.5 Flare/Sunburst six-model support, Budget AI House `MiniMax-H3` V2 plus four credential-free workflows, Vosr2 image/video upscaling, and Image G v2.5 `lowprice` / `flare` / `sunburst`, while preserving every v3.1.4-and-earlier capability, default, and saved canvas. The fixed source must pass focused regression, Electron ABI, TypeScript, bilingual catalog, capability synchronization, public/private build, encryption, both runtimes, native rebuild, `app.asar` startup contracts, NSIS, provenance, and sealed recovery before it is pushed to `origin/main`. Windows and real macOS arm64 must come from the same immutable `v3.1.5` tag, enter one non-draft/non-prerelease Latest Release, and pass full remote download verification for both updater manifests and all six assets. Affected-user installation, multi-device collaboration, F8-F10, human natural-language review, device-level screen-reader/touch/zoom, and installed-upgrade evidence may remain deferred under `owner-approved-post-release-v3.1.5`, but are not passed.
> 2026-09-09 release-pause history: the owner previously stopped v3.1.5 before its production build, which revoked the earlier authorization at that time. The owner's later explicit continue-and-publish request now controls; this stopped state is historical only.
> 2026-09-09 Budget AI House Image G v2.5 support is implemented and live-verified in the canonical core, but remains unreleased. Under the existing Image node GPT2 tab and `gpt-image-2` group it adds `zhenzhen-image-g-v2.5-lowprice`, `zhenzhen-image-g-v2.5-flare`, and `zhenzhen-image-g-v2.5-sunburst` without changing Zhenzhen AI Workshop GPT Image 2 / GPT Image 2.5, defaults, or saved canvases. The implementation follows the 2026-09-09 `https://api.seedance.nz/docs/llms.txt` and reference project `F:\AI-T8-video-onekey\ComfyUI\custom_nodes\ComfyUI_Seedance` at `f617c5e7cee5dfbbfbab07b06032b8ef45843284`: submit only through `POST /v1/image/generations`, query through `GET /v1/image/generations/{id}`, and upload local references through `/v1/files/upload`. Lowprice fixes `n=1`, allows at most 15 references, a 1–5000-character prompt, 1k/2k/4k, its documented ratios, and `nsfw_check`. Flare/Sunburst allow `n=1–4`, at most 16 references, 1k/2k/4k, fixed/preserve-reference/constrained-custom sizing, six qualities, PNG/JPEG/WebP, compression, background, and moderation. Frontend and backend reject invalid sizes, transparent JPEG, invalid counts, and excessive references; recovery only queries the original task and never replays an ambiguous paid POST. One authorized live submission per model returned HTTP 200: Lowprice T2I produced a 1254×1254 PNG, Flare T2I produced a 1024×1024 PNG, and Sunburst I2I using the persisted Lowprice result produced a 1024×1024 PNG. All outputs were downloaded, decoded, and hashed; sanitized evidence is `output/zhenzhen-image-g25-live-20260909T113653Z/report.json`. Focused and adjacent tests pass 106/106, the corrected generated-catalog semantics pass 5/5, Electron-ABI RunIntent/recovery tests pass 27/27, followed by TypeScript, Node syntax, 4,484 bilingual keys, capability synchronization at 39 actions / 294 runtime entries / 83 of 83 nodes / zero public gaps, public-source checks, and a 2,952-module production build. No credential, task ID, signed URL, or raw Provider response is persisted. Electron packaging, commit, push, tag, and release were not performed.
> 2026-09-09 v3.1.5 authorization history: the earlier stop-release instruction revoked the first authorization, and the owner's later explicit continue-and-publish request established the current authorization recorded above. The stopped state remains historical only.
> 2026-09-09 Seedance.nz Vosr2 image/video upscaling is implemented and live-verified in the canonical core, but remains unreleased. The existing Image node now has a dedicated `Vosr2` tab for `vosr2-image-upscale`; it requires exactly one image, sends only `model + images[1]` to `POST /v1/image/generations`, polls the same resource by ID, and exposes no prompt or size controls because output is fixed at 4K. The existing Video node adds a `Vosr2` option for `vosr2-video-upscale`; it requires exactly one video, sends only `model + metadata.video_url` to `POST /v1/video/generations`, polls the same resource by ID, and exposes no prompt, duration, or resolution controls because output is fixed at 2K. Local media is first uploaded through `/v1/files/upload`; completed output is immediately persisted locally, restart recovery queries the original task, and paid generation POSTs are never replayed. One authorized live request per model succeeded: image output is 4096×2304 PNG; video output is 2560×1472 H.264/yuv420p at 1 second and passed full-stream FFmpeg decoding. Sanitized evidence is `output/vosr2-live-20260909T095609Z/report.json`; no credential, task ID, signed URL, or raw Provider response is persisted. Focused and adjacent model tests pass 17/17, Electron-ABI restart recovery 10/10, and run-authority regression 17/17, followed by TypeScript, Node syntax, bilingual-key, capability synchronization at 39 actions / 291 runtime entries / 83 of 83 nodes, and a 2,952-module production build. Electron packaging, commit, push, tag, and release were not performed.
> 2026-09-09 Zhenzhen AI Workshop GPT Image 2.5 six-model support is implemented and live-verified in the canonical core, but remains unreleased. The existing Image node's GPT2 tab now exposes `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2k`, `gpt-image-2.5-flare-4k`, `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2k`, and `gpt-image-2.5-sunburst-4k` without changing legacy GPT Image 2 defaults or transport. The implementation follows `F:\AI-T8-video-onekey\ComfyUI\custom_nodes\Comfyui-zhenzhen\gpt_image_25_nodes.py`: requests without references use synchronous JSON `/v1/images/generations`; requests with references use synchronous multipart `/v1/images/edits`; neither `async=true` nor a blank-image placeholder is used. It supports 1–10 outputs, up to 14 ordered reference images, `auto/low/medium/high/xhigh/max` quality, `auto/opaque` background, `auto/low` moderation, the verified presets, and custom dimensions under the same edge, aspect-ratio, and pixel-count constraints, enforced fail-closed in both frontend and backend. Standalone development receives the real 15-minute slow-header window while packaged Electron keeps the Chromium system-network path, and paid POST requests are never replayed automatically. All six models completed one real low-quality text generation each, plus one real 14-reference edit; all seven HTTP 200 results downloaded, decoded, and visually inspected as 1024×1024 PNG files. Sanitized evidence is `output/gpt-image-25-live-20260909T090142Z/report.json`. Focused and adjacent tests pass 16/16, followed by TypeScript, Node syntax, 4,464 bilingual keys, capability synchronization at 39 actions / 289 runtime entries / 83 of 83 nodes, and a 2,952-module production build. No credential, task ID, signed URL, or raw Provider response is persisted. Electron packaging, commit, push, tag, and release were not performed.
> 2026-09-06 Budget AI House `MiniMax-H3` V2 video support is implemented and live-verified in the canonical core, but remains unreleased. The existing Video node's Hailuo tab exposes the exact case-sensitive `MiniMax-H3` as an independent option without changing defaults or migrating saved canvases. It uses only the documented `POST /v2/video_generation` and `GET /v2/query/video_generation/{task_id}` endpoints, reads completion from `task.content.url`, supports required prompts, 480P/768P, 4-15 seconds without drive audio and 4-60 seconds with drive audio, explicit first/last frames, up to 9 reference images, 3 reference videos with start offsets, 3 reference audios, one drive audio, and all five documented audio-control modes. Seed remains cache-only. Ambiguous submissions are never replayed; a 408/5xx is recoverable only when the response supplies `X-Task-Id`, and persisted recovery retains the exact model discriminator. Four credential-free workflows cover text, keyframes, multimodal references, and drive audio. One authorized 480P/4-second/16:9 live request completed; the downloaded 1,222,551-byte H.264 MP4 is 864×480 and about 4.458 seconds and passed FFprobe plus a full FFmpeg video-stream decode. Sanitized evidence is `output/minimax-h3-v2-live-20260906/report.json`. Focused and adjacent tests pass 103/103, followed by TypeScript, Node syntax, 4,454 bilingual keys, capability synchronization at 39 actions / 283 runtime entries / 83 of 83 nodes, and a 2,952-module production build. No credential, task ID, or signed URL is persisted. Electron packaging, commit, push, tag, and release were not performed.
> 2026-09-04 v3.1.4 formal release completed: fixed source/tag `eaaad33456582adf9fc26714c0aaa69b7a13b0ff` is the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.1.4>. It publishes Creator Agent explicit per-scene creation, long-script continuity, authoritative startup readiness, bounded low-resource polling, and Budget AI House Hailuo `hailuo-h3-max-turbo-t2v` / `hailuo-h3-max-turbo-i2v` plus two credential-free workflows while preserving MiniMax Music3, Localization Master, Veo Omni 1.1, all prior models/workflows/providers/defaults, and old canvases. Serial gates passed Creator `185/185`, startup/projectRuntime `19/19`, ProjectDatabase writer/lifecycle `84/84`, Hailuo/generation routes `11/11`, and Electron/updater/macOS/runtime/release contracts `36/36`, followed by TypeScript, `39 actions / 282 runtime / 83/83 nodes`, 4,437 bilingual keys, public/RH/Music3/dependency checks, and a 2,952-module production build. Windows completed encryption of 172 backend sources plus four private files, both runtimes, native rebuild, NSIS, seven-file `app.asar` startup contract, provenance, sealed recovery, upload, and full remote download. Real macOS arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/33855661758> completed same-source native dependencies, ad-hoc signing, DMG/ZIP/updater build, append-only upload, and runner download verification; an independent local verifier downloaded all three Mac assets again, followed by another full Windows verification with all six assets present. Windows EXE is 1,340,099,930 bytes / `73eb75a00a259033207c644147477a3abbdb54a5c131419f21bdbe70dd0754e4`, blockmap 1,395,270 bytes / `3085f6ead82bbaeb6577af22110626e84a71ca552652da4685c3db391a4c05d7`, and `latest.yml` 362 bytes / `ef9db20eae5099dc94fb94e588eedd2bc7e12399c6c89ee2141f3e650bbde071`; Mac DMG is 514,089,332 bytes / `41ccb1cb369014df9c666428a038e1fda0cfb3d43133d766697d5150dd50d280`, ZIP 506,099,328 bytes / `2b367577c0aba884d18b01314cd876f15e5af183f115936a81b98e243ae0ffaf`, and `latest-mac.yml` 536 bytes / `2b9d48fc75f18adc32b3a44e97695b979223f7e2d1e92583ef01bda68f243d84`. Affected-user installation, multi-device collaboration, F8-F10, natural-language human review, device-level screen-reader/touch/zoom, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.1.4` and are not passed.
> 2026-09-04 v3.1.4 formal release authorization: publish Creator Agent explicit per-scene creation, long-script scene continuity, authoritative startup readiness and bounded low-resource polling, plus Budget AI House Hailuo `hailuo-h3-max-turbo-t2v` / `hailuo-h3-max-turbo-i2v` and two credential-free workflows from the canonical core. Short ideas and complete scripts may explicitly enter the real-LLM per-scene path; stable scene/part identity, character/location/relationship/exit-state continuity, whole-work style, exact retry and one-scene advancement must not regress. Startup interaction must remain bound to the shared project runtime, current document revision, ReactFlow and renderer-interactive receipt; all 5,000 canvases remain preserved with 50-item paging, while idle/background polling stays bounded. Preserve MiniMax Music3, Localization Master, Veo Omni 1.1, all prior models/workflows/providers/defaults and old canvases. Advance `3.1.3` to `3.1.4`; push one fixed source to `origin/main`, then build Windows and real macOS arm64 from the same immutable `v3.1.4` tag into one non-draft, non-prerelease Latest Release. Only affected-user installation, multi-device collaboration, F8-F10, natural-language human review, device-level screen-reader/touch/zoom and installed-upgrade evidence may remain deferred under `owner-approved-post-release-v3.1.4`; tests, TypeScript, i18n, capability sync, public/private builds, encryption, both runtimes, native rebuild, `app.asar` startup contracts, NSIS, provenance, sealed recovery, fixed tag/target, both updater manifests and remote full-download integrity may not be deferred.
> 2026-09-02 v3.1.3 formal release completed: fixed source/tag `ed7e9e71c0b45e732eac89fcc6e4324ac5a7a1e9` is the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.1.3>. It publishes the Creator Agent authoritative startup-readiness gate, wide natural conversation and continuous drafting, conversation-scoped drafts, bounded PDF/text grounding, focused API settings, the canvas-stable startup poster carousel with exact per-version seven-day suppression, and Budget AI House Hailuo `hailuo-h3-max-t2v` / `hailuo-h3-max-i2v` plus credential-free workflows, while preserving MiniMax Music3, Localization Master, Veo Omni 1.1, prior models, workflows, providers, defaults, and old canvases. The low-resource Windows chain completed the 2,949-module build, 170 backend-source plus four private-file encryption, both sidecar runtimes, native rebuild, NSIS, seven-file `app.asar` startup contract, provenance, sealed recovery, upload, and full remote download; recovery was cleared. Real macOS arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/33611804369> completed same-source private restoration, ad-hoc signing, DMG/ZIP/updater build, append-only upload, and runner download verification; an independent local verifier downloaded all three Mac assets again, followed by another full Windows three-asset verification with all six assets present. Windows EXE is 1,377,933,066 bytes / `ed7495cec5a502b287fed1cfb3653cfeb18dfe1862498780c76c4acd50a21dc7`, blockmap 1,437,328 bytes / `9275a2058ed179f6fde7f0583259cdba98e22c17f91af68be7139f4408f6454e`, and `latest.yml` 362 bytes / `fd38baa7e2bcdb769a70f6f7676c99df845d0153a7b8d6afdfb35b35a6b85b4f`; Mac DMG is 513,796,205 bytes / `4ee4b765b40345ca3c614143994c9570bbf4465e1c0928e561575636d729a1f1`, ZIP 505,761,814 bytes / `90896bead53370b1bba40afcf46893e49ea2d7f21a858b0289b7a562b8955800`, and `latest-mac.yml` 536 bytes / `2a2097edc23f7743bc2568c5d3c6dd0c775533823044894570e4bd935e707310`. Affected-user installation, multi-device collaboration, F8-F10, natural-language human review, device-level screen-reader/touch/zoom, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.1.3` and are not passed.
> 2026-08-30 v3.1.1 formal release completed: fixed source/tag `6188f7547062e9c01578994fb5247f8e30f3f208` is the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.1.1>. It publishes Creator Agent work objects, direct Localization Master, and Veo-tab `zhenzhen-video-g-omni-1.1-flash-lowprice` with four exact modes and four credential-free workflows. The one paid Veo verification produced a 1,113,661-byte H.264 1280x720 MP4 of 4.01 seconds and passed full decode. After the real v3.1.0 Mac workflow exposed the duplicate localization-manifest `EEXIST`, v3.1.1 removed the second mapping and passed focused regression. Windows completed build, encryption, both runtimes, native rebuild, NSIS, app.asar contracts, provenance, sealed recovery, upload, and full remote download. Real macOS arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/33286855296> completed the same-source ad-hoc-signed DMG/ZIP/updater build, append-only upload, and runner full download; an independent local verifier fully downloaded all three Mac assets again. Windows EXE is 1,321,222,616 bytes / `12d45cc3bf390f69325d0a69af5a38a5c57a6ab3c30ca967453d2ff032667f17`, blockmap 1,376,749 bytes / `da933e86432d7d09e81785f862d5db2f59a9f0969dee30144bcd7822cb89daaf`, and `latest.yml` 362 bytes / `8e767d8794efafcd9c3bec3599554baf796f4b4508add1d9e905220d178f2c65`; Mac DMG is 493,680,189 bytes / `f5358085dc70fb8516aa6930dcde7b8cb6851afc0decb5f906bddf1c41c43962`, ZIP 486,361,409 bytes / `96b1c1fcff69bfe625eabdcbca58e6534adf4e9fe554bdc57b8edad10f5973b5`, and `latest-mac.yml` 536 bytes / `47084088199a3aea1dd9da3bf509b5fb3e6034ed6e13e89097e8c0af14d0fd31`. Affected-user installation, multi-device collaboration, F8-F10, human listening review, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.1.1` and are not passed.
> 2026-08-30 v3.1.1 cross-platform hotfix release authorization: the v3.1.0 Windows formal chain completed, but the real macOS arm64 build correctly failed when `auxiliary-models.json` was mapped twice to `backend-enc/tools/localizationRuntime` and electron-builder rejected the second hard link with `EEXIST`. The public v3.1.0 tag must not move and must not be described as a complete dual-platform release. v3.1.1 removes only that duplicate resource source, adds cross-platform packaging regression coverage, and fully carries Creator Agent work objects, Localization Master, the four-mode/four-workflow Veo Omni 1.1 model, MiniMax Music3, the default Budget AI House 2.1 model, old canvases, and all prior capabilities. Windows and real macOS arm64 must be rebuilt from one fixed v3.1.1 source/tag and enter one non-draft, non-prerelease Latest Release with full remote download verification. Only affected-user installation, multi-device collaboration, F8-F10, human listening review, and installed-upgrade evidence may remain deferred under `owner-approved-post-release-v3.1.1`; no technical gate may be deferred.
> 2026-08-30 v3.1.0 formal release authorization: publish Creator Agent “作品化”, direct Localization Master, and the Veo-tab model `zhenzhen-video-g-omni-1.1-flash-lowprice` from the canonical core without changing the default `seedance-nz` / `bytedance/doubao-seed-2.1-pro`, any saved-canvas field, existing Provider contract, prior model, workflow, MiniMax Music3 resource, or v3.0.9-and-earlier capability. Formal Creator turns require completed and receipted real LLM calls; Localization Master retains the fixed, license-gated IndexTTS 2.5 five-language offline runtime and user-run boundary; Veo Omni 1.1 follows the official `/v1/videos` contract for text, one-frame, three-reference-image, and one-reference-video modes and ships four credential-free workflows. The model completed exactly one 4-second/720p/16:9 live submission, downloaded a 1,113,661-byte H.264 1280x720 MP4 of 4.01 seconds, and passed FFprobe plus full FFmpeg decode. The version advances from `3.0.9` to `3.1.0` under decimal display ordering. The fixed release source must be pushed to `origin/main`; Windows and real macOS arm64 artifacts must derive from one immutable `v3.1.0` tag and enter one non-draft, non-prerelease Latest Release. Affected-user installation, multi-device collaboration, F8-F10, human listening review, and installed-upgrade evidence may be deferred only under `owner-approved-post-release-v3.1.0`; tests, TypeScript, i18n, capability sync, public/private builds, encryption, runtimes, native rebuild, `app.asar` startup contracts, NSIS, provenance, sealed recovery, fixed tag/target, both updater manifests, and remote asset-integrity gates may not be deferred.
> 2026-08-29 Creator Agent “作品化” development is implemented in the canonical core and remains unreleased. Formal create/rewrite/continue/review/optimize turns require a completed online LLM call and persist strict, versioned Creator Work artifacts, field diffs/locks, input/model/prompt/call receipts, and exactly three suggestions bound to the current work digest. Quick/standard/quality use 1/2/3 approved LLM calls; creator control edits use zero calls. Image/video work requires a compatible model plus validated visible observations, and audio work requires revision/hash-bound Whisper evidence. Tool proposals remain capability-bound, previewed, explicitly approved, and write execution/verification evidence back to the same work binding. Raw structured Provider JSON is buffered until schema, media-grounding, and quality validation; stopping before a valid envelope produces no unsafe partial transcript. Eight focused suites pass 158/158 (UI 46/46), followed by TypeScript, i18n, capability sync, a 2,951-module production web build, and real Chromium acceptance against a controlled local Provider: work V1, nine structured documents, three work-bound suggestions, two Quick calls, unchanged Canvas revision, and zero browser errors. The overloaded development run observed the first DOM result at 5669.7ms, so it is not claimed as a sub-two-second UI result. No paid Provider, production Canvas write, Electron build/package, commit, push, tag, or release was used.
> 2026-08-28 direct Localization Master development is implemented and verified but not released. Core node `localization-master` keeps the default LLM at Zhenzhen Budget AI House `bytedance/doubao-seed-2.1-pro`, while exposing the workshop and every enabled extended LLM. It covers script/SRT/VTT parsing, Whisper transcription, contextual batched translation, glossary/protected terms, per-line review, authorized role voices, fixed IndexTTS 2.5 five-language dubbing, physical subtitle output, video audio replacement, QC, and delivery manifests. TTS runs through a Canvas-managed Python Worker with `requiresComfyUI=false`; 8188, `/prompt`, `/queue`, ComfyUI providers/WebSockets, and starting ComfyUI are forbidden. The first roughly 5.5 GB model install requires explicit license acceptance and pinned-file validation. Focused tests pass 7/7; direct API persistence/license gates, TypeScript, 4,323 bilingual keys, capability sync at 83/83 nodes with zero gaps, the 2,951-module production build, and real Chromium light/dark/English-state checks pass, and the temporary canvas was removed. Full model download, real five-language inference, paid LLM translation, Electron packaging, commit, push, and release were not run and must not be claimed as passed.
> 2026-08-27 v3.0.9 release completed: fixed source/tag `d6ed9c0bb0445d99823a5811935c8d4e2d1359d0` is published as the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.0.9>. Canonical-core development no longer forces a directory or branch switch solely because an attached branch name contains `release`; the Windows launcher limits cleanup to provable project-local 11422/18766 listeners and T8 development process trees and now resolves `$PSScriptRoot` only after PowerShell parameter binding. The Auto/Performance control is the final toolbar item after Terminal, opens downward, closes on outside click/Escape, compacts on narrow screens, and remains theme/reduced-motion aware. Windows completed the single-core/BelowNormal/zero-compression formal chain, 2,948-module build, 160 encrypted backend sources plus four private files, both runtimes, native rebuild, NSIS, 7/7 `app.asar` startup contract, provenance, sealed recovery, upload, and full download. Real `macos-15` arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/33084748534> completed same-source private restoration, ad-hoc signing, DMG/ZIP/updater manifest, append-only upload, and runner download verification; an independent local verifier fully downloaded all three Mac assets again. Windows installer is 1,354,465,393 bytes / SHA-256 `261da569f2c539c9e059e439af9696132cca3feb90a08cdc735a9f8d48d5e62d`, blockmap 1,412,817 bytes / `3a3c71c99148d5cd6c8de4152a0758556abc6067391c4c160e9667c02145b749`, and `latest.yml` 362 bytes / `138b36c3ac7659f76d175410b85c1647ac91629e71847cebbd148a9056196e5c`; Mac DMG is 468,399,962 bytes / `64dc6a724b71dd5906c79ca64db554074f783db58b5e6e54f696078a2a3a1fb3`, ZIP 461,304,305 bytes / `98fdf87857f4192fcc3e99725b0426603425251ce1b41739e8f85223f4a74be2`, and `latest-mac.yml` 536 bytes / `a4dd8699441bd0a6f0f1a68d6c451dc848eceddd136a7e8eb29d2de50da953f3`. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.0.9`; deferral is not a pass.
> 2026-08-27 v3.0.9 formal release authorization: the fixed scope is canonical-core development startup stability and the Canvas toolbar performance control. Development in the canonical core path must not force a directory or branch switch merely because the attached branch name contains `release`; detached HEAD still fails closed. The Windows launcher safely clears only the intended local 11422/18766 listeners and identifiable prior T8 development process trees, ignores remote connections, `TIME_WAIT`, and PID 0, and must not start a partial stack after cleanup failure. The Auto/Performance control moves into the final toolbar slot immediately after Terminal instead of floating over the Canvas; its panel opens below the trigger, closes on outside click or Escape, compacts on narrow viewports, remains readable in light/dark themes, and honors reduced motion. The release increments to `3.0.9` / `v3.0.9` without rewriting v3.0.8; Windows and real macOS arm64 artifacts must come from one fixed source/tag and enter one Latest Release. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence may be deferred only under `owner-approved-post-release-v3.0.9`; tests, builds, encryption, runtimes, the `app.asar` startup contract, NSIS, provenance, sealed recovery, fixed tag/target, both updater manifests, and remote asset-integrity gates may not be deferred.
> 2026-08-27 v3.0.8 release completed: fixed source/tag `5ad4408a9eefbc4c6bf32606a86ad8167e84f528` is published as the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.0.8>. The core `volcengine-assets` node now keeps up to 15 selected items in one bounded horizontal preview tray with per-item removal and clear-all, no longer creates one generic auto-Output node per asset, safely removes only provably unused legacy auto outputs, and supports local image/video/audio import through an enabled existing cloud-upload relay before the existing Volcengine `CreateAsset` call. Persistence keeps only the relay target ID and stable `asset://` references; local paths, relay credentials, temporary public URLs, signed previews, and complete upstream responses remain excluded. Windows completed the core-directory single-core/BelowNormal/zero-compression formal chain, 160 encrypted backend sources plus four private files, both runtime archives, native rebuild, NSIS, 7/7 `app.asar` startup contract, provenance, sealed recovery, upload, complete prepublish download, final target/Latest verification, and recovery cleanup. Real `macos-15` arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/33050616302> completed same-source private restoration, native dependencies, ad-hoc-signed DMG/ZIP/updater manifest, append-only upload, and runner download verification; an additional independent local full download verified all three Mac assets. Windows installer is 1,354,463,465 bytes / SHA-256 `18d50bcef887a0c1ae4459dbe91841ec19395a9b96b46148ba0acce84bb1f999`, blockmap 1,413,574 bytes / `cba423e4ee5aace84122e56228c62f93747558f481a34064491fa5055fd824f1`, and `latest.yml` 362 bytes / `1dcca85d8daf4e4ba29785b2346e5d8a59398e02771768709a95e9d45a07451b`; Mac DMG is 468,423,467 bytes / `ecb51699973761f40e2615e2eaa8443edf69c6bc5f5c4269faaf113af79b21a2`, ZIP 461,302,294 bytes / `c7fdc3912928a4e7794b2e14580ef9da6d0c594f2e29db4eea726412ee6420aa`, and `latest-mac.yml` 536 bytes / `b3bac7017e33bd4c0e1672a7bf6d5b7576a226167ef0d50b00d4b4a8d7beacf9`. Tag, Release target, six GitHub digests/sizes, both updater manifests, workflow source and Latest all agree. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.0.8`; deferral is not a pass.
> 2026-08-27 v3.0.8 formal release authorization: the fixed scope is the core `volcengine-assets` selection and local-import experience. All selected items stay in one bounded in-node horizontal preview tray with per-item removal and clear-all; signed preview URLs remain memory-only. The node is excluded from generic auto-Output materialization. A stale auto output may be removed only when its generated ID/edge, single incoming edge, no outgoing edge, and never-moved state all prove that it is unused; moved or downstream-connected outputs must survive. Local image/video/audio import reuses controlled `/api/files/upload`, an enabled API Settings cloud-upload target, and the existing Volcengine `CreateAsset` call. Persistence stores only the relay target ID and stable `asset://` references—never local paths, relay credentials, temporary public URLs, or signed previews. The release increments to `3.0.8` / `v3.0.8` without rewriting v3.0.7; Windows and real macOS arm64 artifacts must come from one fixed source/tag and enter one Latest Release. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence may be deferred only under `owner-approved-post-release-v3.0.8`; tests, builds, encryption, runtimes, `app.asar` startup contract, NSIS, provenance, sealed recovery, fixed tag/target, update manifests, and remote asset-integrity gates may not be deferred.
> 2026-08-27 v3.0.7 release completed: fixed source/tag `05b9086e57334b6b46fcf5256b87466353ab0e67` is published as the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.0.7>. The core `volcengine-assets` implementation now preserves legacy `Processing / Active / Failed` status across migration and reload, retains at most 15 safe selections, and emits only Active records; the incomplete PR frontend, explicit Chromium-forbidden `Host`, arbitrary CommonJS host, and sensitive persistence remain excluded. Windows completed the core-directory single-core/BelowNormal/zero-compression formal chain, native rebuild, NSIS, 7/7 `app.asar` startup contract, provenance, sealed recovery, upload, and complete three-asset download. Real `macos-15` arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/32993331496> completed same-source private restoration, ad-hoc-signed DMG/ZIP/updater manifest, upload, runner download verification, and an additional independent local full download. Windows installer is 1,354,459,972 bytes / SHA-256 `264aa349b1448471cb645c2cac7611b1ba6defbf65b4cb9b593c48049a8d14a6`, blockmap 1,413,207 bytes / `2adb9d26747e44dfab349663fab5a242c4f4729909c1a5f44dc53e9aa0035759`, and `latest.yml` 362 bytes / `627dd9137977c7b66a8ee0f67c30c56abcb26212cfe9b4f4b8fd5ed33cc6a90f`; Mac DMG is 468,381,079 bytes / `62d131e7db9f83e22e38ac0be0b5854da5d06da45e539524f7023268e18f4b7a`, ZIP 461,299,243 bytes / `2f6a1e523d53550a0fe82352c68050d64f8f169f85663c86aab05b59a229beb1`, and `latest-mac.yml` 536 bytes / `2370e49e15d4145764c0391a732477b3d681c31ef35b369abbbf5628cafbdd9f`. Tag, Release target, six GitHub digests/sizes, both updater manifests, and Latest all agree. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.0.7`; deferral is not a pass.
> 2026-08-27 v3.0.7 release authorization: complete the strict GitHub PR #28 data-contract audit in the core directory. The PR cannot be merged verbatim because its frontend imports an absent `src/components/nodes/VolcAssetNode`, while its signer explicitly emits Chromium-forbidden `Host`; the built-in `volcengine-assets` remains the only registered node. v3.0.7 must preserve legacy `Processing / Active / Failed` selection status across migration and reload, retain at most 15 safe `asset://` references, and emit only Active items through image/video/audio ports. Keep all v3.0.6 import persistence/recovery/security boundaries and every earlier default/capability unchanged. Windows and real `macos-15` arm64 artifacts must come from the same fixed commit/tag and the same Latest Release. Only affected-user install, multi-device collaboration, F8-F10, and installed-upgrade evidence may be deferred under `owner-approved-post-release-v3.0.7`; no technical gate may be deferred.
> 2026-08-27 v3.0.6 release completed: fixed source/tag `47c3d4aa10825d409deb98bcc266cf50fb437c80` is published as the non-draft, non-prerelease GitHub Latest at <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.0.6>. The existing built-in `volcengine-assets` node safely absorbs the persistent import-job and recovery behavior requested through GitHub PR #28: at most 100 sanitized jobs, no source URL/AK/SK/signed preview/full Provider response/local path persistence, unfinished-job-only polling at 2.5 seconds for at most 20 attempts, manual refresh, and legacy `volc-asset` migration without a duplicate node. The PR's arbitrary writable-directory CommonJS loader, outbound `Host` header, and path/response disclosure remain excluded. Windows completed the core-directory single-core/BelowNormal/zero-compression-level formal chain, 7/7 `app.asar` startup contract, provenance, sealed recovery, upload and complete three-asset download; real `macos-15` arm64 workflow <https://github.com/T8mars/T8-penguin-canvas/actions/runs/32987354091> completed the same-source ad-hoc-signed technical-preview DMG/ZIP/update manifest and complete three-asset download. The six GitHub assets, both updater manifests, Tag/target and Latest state are verified. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.0.6`; deferral is not a pass.
> 2026-08-23 v3.0.0 release completed: fixed source commit `92ca7a4ee8748f46fdfb1b624bff26acda6b18dd` was published at `2026-08-22T17:51:47Z` as the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.0.0>. The release ships the official Dreamina CLI v1.4.17 compatibility refresh and Seedance 2.5 text, image, first/last-frame, multimodal, and audio-only external-Provider workflows while preserving every existing default, node identity, saved-canvas field, MiniMax Music3 resource, and v2.9.9-and-earlier capability. Fixed-source verification passed focused and adjacent regression 62/62, release contracts 26/26, TypeScript, the 2,906-module private build, capability synchronization at 31 actions / 269 runtime entries / 81 of 81 nodes / zero public gaps, public/RH/MiniMax Music3 integrity checks, backend and local-private encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, complete prepublish and independent postpublish downloads of installer/blockmap/latest.yml, final Tag/target and Latest verification, and recovery cleanup. Electron Builder's system-7za retry used an external byte-identical alias of installed 7-Zip 24.06 after the host exposed `7z.exe` but not the expected `7za.exe`; no tracked source, dependency, compression setting, artifact, or release gate was changed. Installer `T8-PenguinCanvas-Setup-3.0.0.exe` is 1,317,121,080 bytes with SHA-256 `16adbf4c67d5a296e213dfac7147cfb3d5c4414348a3566469b1d071d0505777`; blockmap is 1,371,933 bytes with SHA-256 `6b67af9b7646bdf2c7fbee59ab2ce8027997572e5b05fe9720eddad592a5d2d3`; `latest.yml` is 362 bytes with SHA-256 `618dd9832f181c9bdcc661cd5e4d374a5bef66f9e56ce5822f3f2f5efd6ebfde`. Repository-level immutable releases remain disabled, so publisher-level exact ownership and no-overwrite gates remain the enforced boundary. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v3.0.0`; deferral is not a pass.
> 2026-08-23 v3.0.0 release authorization: publish the official Dreamina CLI v1.4.17 compatibility refresh and Seedance 2.5 external-Provider capability without changing any existing default Provider, default model, node identity, saved-canvas field, workflow, or v2.9.9-and-earlier behavior. The exact new video model is `seedance2.5`, with text-to-video, image-to-video, first/last-frame, and multimodal modes; output is 4-30 seconds at 480P/720P/1080P. Multimodal accepts at most 30 images, 10 videos, 10 audios, and 50 total references, permits audio-only input and an empty Prompt, while fixed intelligent multi-frame remains a separate non-Seedance-2.5 model. Seedream 5.0 Pro exposes 1.5K/2K/4K rather than 1K, and Dreamina image-to-image preserves 1-10 ordered references. The fixed-source formal flow must run from pushed `origin/main`, pass focused and adjacent regression, TypeScript, capability synchronization, private build, local-private fail-closed checks, backend encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full downloads of installer/blockmap/latest.yml, fixed Tag/target, Latest, and recovery cleanup. No technical failure is deferrable. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v3.0.0`; deferral is not a pass.
> 2026-08-23 Dreamina CLI v1.4.17 / Seedance 2.5 release capability: implementation is bound to the official Lark guide, the installed official v1.4.17 Skill, and the actual v1.4.17 command help rather than an older CLI or Web UI guess. The active Web advanced-member account was re-authorized to the CLI and both surfaces reported the same usable entitlement and 3,644 credits before the paid test. Exactly one minimum 4-second / 480P / 16:9 Seedance 2.5 task completed, consumed 48 credits, downloaded a 1,315,371-byte MP4, and passed FFprobe plus full H.264/AAC decode. Five credential-free workflows cover text, image, first/last-frame, multimodal, and audio-only modes. Existing defaults remain unchanged.
> 2026-08-22 v2.9.9 release completed: fixed source commit `a68afa5a3fcd9275a6d0d802d82286496daeffd6` was published at `2026-08-22T10:59:03Z` as the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.9>. The release adds the stable extensible `3D` node with its first `Hunyuan 3D` tab, text/image Hunyuan 3D v3.1 models and validated local GLB materialization; the dedicated Grok segmentation/region-edit node; and the low-price Omni Grok Video four-mode option, while preserving every prior default and saved-canvas contract. Fixed-source verification passed focused and adjacent regression 137/137, TypeScript, the 2,891-module private build, capability synchronization at 31 actions / 269 runtime entries / 81 of 81 nodes / zero public gaps, backend and local-private encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, complete prepublish and independent postpublish downloads of installer/blockmap/latest.yml, final Latest verification, and recovery cleanup. The NSIS retry used the dependency-supported `USE_SYSTEM_7ZA=true` path with installed 7-Zip 24.06 after bundled 21.07 terminated with Windows access-violation code `0xC0000005`; no tracked source, shared dependency, compression setting, or release gate was changed. Installer `T8-PenguinCanvas-Setup-2.9.9.exe` is 1,317,093,618 bytes with SHA-256 `8254c55d6da7293acc62b5d4a9da64fc31ad650a7a4c5de34a6ed0aa9560446c`; blockmap is 1,371,975 bytes with SHA-256 `4119d6f2fbddc2c5ac7df723d7b3e6bed9522adc72874e92e4ad496c097ce276`; `latest.yml` is 362 bytes with SHA-256 `e10fd8516d95b888a78855f56e3a5c54839ccb70b64db0ecd92268114d1f1214`. Repository-level immutable releases remain disabled, so publisher-level exact ownership and no-overwrite gates remain the enforced boundary. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.9`; deferral is not a pass.
> 2026-08-22 v2.9.9 release authorization: publish the Hunyuan 3D, Grok segmentation/region-edit, and low-price Omni video capability without changing any existing default Provider, default model, saved canvas field, node identity, workflow, or v2.9.8-and-earlier behavior. The stable core node `3D` owns an extensible tab registry whose first tab is exactly `Hunyuan 3D`; its two models must materialize a validated local GLB before completion and continue into the existing interactive preview/download node. The dedicated Grok two-stage node and the Grok Video low-price four-mode option remain bound to the verified official contracts. The fixed-source formal flow must run on pushed `origin/main`, use `T8-penguin-canvas-release-v2.9.9`, and pass focused regression, TypeScript, capability synchronization, private build, local-private fail-closed checks, backend encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full downloads of installer/blockmap/latest.yml, fixed Tag/target, Latest, and recovery cleanup. No technical failure is deferrable. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.9.9`; deferral is not a pass.
> 2026-08-22 Hunyuan/Grok development capability: core node `3D` now owns an extensible tab registry whose first tab is exactly `Hunyuan 3D`; it supports `hunyuan3d-v3.1-text-to-3d` and `hunyuan3d-v3.1-image-to-3d`, ordered 1-8 view images, 10k-1.5m face counts, PBR, and Normal/Geometry/Sketch generation. A successful Provider response is not terminal until the highest-confidence GLB has been downloaded, validated, and persisted locally; the resulting `model3d` output uses the existing interactive preview/download node. The dedicated `grok-image-tools` node provides the two-stage `zhenzhen-image-gk-v2-segment` and `zhenzhen-image-gk-v2-region-edit` object workflow, and the Grok Video tab adds `zhenzhen-video-g-omni-flash-lowprice` with exact text/frame/reference-images/reference-video modes. Eight credential-free workflows are saved. Focused and adjacent regression passes 137/137, TypeScript and capability synchronization pass at 31 actions / 269 runtime entries / 81 of 81 nodes / zero public gaps. Live serial evidence covers Sharp-decoded source and region-edit JPEGs, a fully FFmpeg-decoded 1280x720 four-second H.264 low-price Omni video, a 31,198,488-byte image-to-3D GLB, and a 29,156,812-byte text-to-3D GLB; both GLB v2 outputs passed magic and declared-length validation and their temporary recovery state was removed. An isolated real UI run added both new nodes, switched Hunyuan models and Grok operations, selected the low-price Omni model through the unchanged `贞贞的平价AI小屋` source, verified all four modes and exact option lists, and recorded zero browser console errors. This capability is packaged and released in v2.9.9.
> 2026-08-21 v2.9.8 release authorization: publish the Grok Image `zhenzhen-image-gk-v2-edit` expansion and the Lyria-tab Flow Music capability without changing any existing default Provider, default model, saved canvas field, node identity, workflow, or v2.9.7-and-earlier behavior. Grok edit accepts 1-3 ordered images, `n=1..10`, official aspect ratios, and 1K/2K. Flow Music keeps the fixed request model `flowmusic` while exposing nine documented operations: video clip, upload audio, stems, replace, lyrics, generation, extend, download audio, and cover. Results are materialized as audio, text, video, or ZIP without truncating ordered output, and native `clip_id` lineage persists across connected nodes. The fixed-source formal flow must run on pushed `origin/main`, use `T8-penguin-canvas-release-v2.9.8`, and pass focused regression, TypeScript, capability synchronization, private build, local-private fail-closed checks, backend encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full downloads of installer/blockmap/latest.yml, fixed Tag/target, Latest, and recovery cleanup. No technical failure is deferrable. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.9.8`; deferral is not a pass.
> 2026-08-21 Grok v2 Edit and Lyria/Flow Music capability: the implementation is bound to the current `https://api.seedance.nz/docs/llms.txt` contract and `ComfyUI_Seedance@9247b9ceb2c31f7ccd43b26743469a1c03dbc075`. Ten credential-free workflows cover the image model and all nine music operations. Real serial verification passed 10/10: Grok produced a decoded 1024x1024 JPEG; generated, uploaded, extended, replaced, covered, and downloaded audio fully decoded; lyrics returned 351 characters; stems returned a validated 12,104,463-byte ZIP; and video clip returned a fully decoded 720x1280 H.264/AAC MP4. The sanitized report is `output/grok-flowmusic-live-20260821/report.json` and contains no key, task ID, or signed remote URL. Public M4A upload was observed to return a usable clip ID; creative follow-up operations use the native clip ID from Flow Music generation. Existing MiniMax Music3, FlashVSR, Seedance 2.5 `native1080p`, canvas-catalog recovery, all 79 nodes, and every prior release capability remain included.
> 2026-08-20 v2.9.7 release completed: fixed source commit `494d5c4d88ee356150a3a5dfa66e77d83ec6edec` was published at `2026-08-20T04:53:29Z` as the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.7>. The release fixes the v2.9.2-v2.9.6 canvas-catalog metadata writer defect and accepts only its exact read-only legacy startup signature while preserving fail-closed rejection for nonmatching canonical corruption. Fixed-source verification passed canvas-catalog regression 10/10, typed canonical regression 2/2, project-database base regression 39/39, collaboration deferral gate 4/4, Electron/update/runtime contracts 20/20, TypeScript, the 2,904-module private build, capability synchronization at 31 actions / 253 runtime entries / 79 of 79 nodes / zero public gaps, MiniMax Music3 integrity at 1,022 files, encryption of 157 backend sources plus four local-private files, both runtime archives with full 7-Zip verification, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, complete prepublish downloads of all three GitHub assets, final Latest/digest/size verification, and recovery cleanup. Installer `T8-PenguinCanvas-Setup-2.9.7.exe` is 1,354,129,105 bytes with SHA-256 `e90973df761bb83a0006cff146433cea0ce929b6966457b9a4e274895f6dbc66`; blockmap is 1,413,441 bytes with SHA-256 `aea0604cc63a05cc642c3db6a65fd9769594125e5a5cf2dbcbcf4838bac943c6`; `latest.yml` is 362 bytes with SHA-256 `af306513d085c917a7bd78c38054ef08aa2627a14cd31eba0e6f4555319b28c2`. Repository-level immutable releases remain disabled, so publisher-level exact ownership and no-overwrite gates remain the enforced boundary. Affected-user installation, multi-device collaboration, F8-F10, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.7`; deferral is not a pass.
> 2026-08-20 v2.9.7 release authorization: fix the v2.9.2-v2.9.6 canvas-catalog metadata writer defect that could advance `canvas_documents.updated_at` without persisting the matching snapshot JSON `updatedAt`, causing a later cold start to fail the typed canonical JSON invariant after an upgrade. Future catalog renames must persist both timestamps atomically. Startup compatibility is limited to the exact legacy signature: SQL time newer than a valid JSON time, a valid non-empty catalog name, and `nodeCount === nodes.length`; it remains read-only during startup, uses the SQL row time as the already-authoritative runtime value, and preserves fail-closed rejection for all nonmatching canonical corruption. The formal flow must use fixed source on `origin/main`, the `T8-penguin-canvas-release-v2.9.7` release worktree, local-private fail-closed packaging, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, complete GitHub downloads of installer/blockmap/latest.yml, Latest, and recovery cleanup. No technical failure is deferrable. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.9.7`; deferral is not a pass.
> 2026-08-18 v2.9.6 release completed: fixed source commit `dce1adf081893f290b65c3be1f14b0f150e46a1f` was published at `2026-08-18T14:21:09Z` as the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.6>. The release corrects the public model/display name to `FlashVSR_video_upscale` / `FlashVSR 视频超分`, retains `FashVSR_video_upscale` only as a v2.9.5 saved-canvas compatibility alias, and preserves the stable node type, recovery kind, routes, task identity, defaults, Seedance 2.5 `native1080p`, MiniMax Music3, and all earlier capabilities. The fixed-source flow passed the FlashVSR/Seedance/capability matrix 26/26, Electron/evidence contracts 22/22, MiniMax Music3 regression 17/17, TypeScript, private Vite build at 2,904 modules, capability synchronization at 31 actions / 253 runtime entries / 79 of 79 nodes / zero public gaps, MiniMax Music3 integrity at 1,022 files / 18 indexes / 1,000 templates, encryption of 157 backend sources plus four local-private files, both runtime archives with full 7-Zip verification, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, complete prepublish downloads of all three GitHub assets, final Latest/digest/size verification, and recovery cleanup. Installer `T8-PenguinCanvas-Setup-2.9.6.exe` is 1,354,114,810 bytes with SHA-256 `bc2670b47d3065e4be6a95a01ff0063b491ed7481897ffd6276ac3e882d58c04`; blockmap is 1,413,270 bytes with SHA-256 `ee1647565e22aa9cc68479908e9a84054e3a305f5042f410afd9a6cc8d9f8b49`; `latest.yml` is 362 bytes with SHA-256 `03b998ab76ee7fbe4eee649567522f269ccb974b283c098117605cefaf070c6b`. Repository-level immutable releases remain disabled, so publisher-level exact ownership and no-overwrite gates remain the enforced boundary. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.6`; deferral is not a pass.
> 2026-08-18 v2.9.6 release authorization: correct the public model and display name to exact FlashVSR_video_upscale / FlashVSR 视频超分 while retaining FashVSR_video_upscale only as a published-v2.9.5 saved-canvas compatibility alias. The stable node type, recovery kind, routes, task identity, default channel, Seedance 2.5 native1080p support, and all earlier capabilities remain unchanged. A real new-spelling task completed once from 854x480 H.264 / 3.208008 seconds to 1920x1024 H.264 / 3.208333 seconds, with download, FFprobe, and full decode passing; no credential is persisted. MiniMax Music3 remains fully included as the v2.9.3-released capability with its node, workflow, pinned official Skill snapshot, 1,022 upstream files, 18 indexes, and 1,000 templates. The formal flow must use fixed source on origin/main, the T8-penguin-canvas-release-v2.9.6 release worktree, local-private fail-closed packaging, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, complete GitHub downloads of installer/blockmap/latest.yml, Latest, and recovery cleanup. No technical failure is deferrable. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under owner-approved-post-release-v2.9.6; deferral is not a pass.
> 2026-08-18 v2.9.5 release completed: fixed source commit `969682d425e66fb50f3452ece139aa1959e005e1` was published at `2026-08-18T06:03:06Z` as the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.5>. The fixed-source flow passed focused/adjacent regression 76/76, release/Electron contracts 18/18, TypeScript, the 2,904-module private build, capability sync at 31 actions / 253 runtime entries / 79 of 79 nodes / zero public gaps, MiniMax Music3 integrity at 1,022 files / 18 indexes / 1,000 templates, encryption of 157 backend sources plus four local-private files, both runtime archives with SHA-256/CRC/entry verification, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact Tag/target, full prepublish downloads, Latest, recovery cleanup, and an independent postpublish full download of all three public assets. Installer `T8-PenguinCanvas-Setup-2.9.5.exe` is 1,354,124,051 bytes with SHA-256 `e4990b34d24fd6806fd492ff1fd2026c123614f5f5af28c10d47e4dfe1b957cb`; blockmap is 1,413,024 bytes with SHA-256 `9696aedbab25d8e0824226b46c1a3142e219d7d0bc237986b73cac268d0dfed6`; `latest.yml` is 362 bytes with SHA-256 `afa845f034fae4a5464f7bfe33fc6d12e0be51d3eb4885b325fd53573781eb99`. MiniMax Music3 remains included as the previously released v2.9.3 capability. Affected-user installation, multi-device collaboration and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.5`; deferral is not a pass.
> 2026-08-18 v2.9.5 release authorization: add the isolated `fashvsr-video-upscale` node for exact model `FashVSR_video_upscale`, and expose official `native1080p` on all six Seedance 2.5 domestic/global Standard T2V/I2V/Multi models. FashVSR accepts exactly one 480P video lasting 3–15 seconds, validates with bundled FFprobe before paid submission, sends only `model` plus `metadata.video_url`, resumes only the accepted task, and persists a locally verified result before completion. One real task completed from 854x480 H.264 / 3.208008 seconds to 1920x1024 H.264 / 3.208333 seconds with download, FFprobe and full decode passing. Seedance 2.5 `native1080p` is documentation-verified only under the owner's cost boundary. MiniMax Music3 is not pending: it was formally released in v2.9.3 and must remain fully included with its node, workflow, pinned official Skill snapshot, 1,022 upstream files, 18 family indexes and 1,000 templates. No existing default, model, node, workflow, Provider protocol, saved canvas, v2.9.4 fix or earlier capability may be rolled back. The only permitted formal flow uses a fixed source commit already pushed to `origin/main`, the `T8-penguin-canvas-release-v2.9.5` worktree, and every technical Electron/NSIS, encryption, runtime, provenance, GitHub ownership/download, fixed Tag/target, Latest and recovery gate. Affected-user installation, multi-device collaboration and installed-upgrade evidence are deferred under `owner-approved-post-release-v2.9.5`; deferral is not a pass.
> 2026-08-15 v2.9.3 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, automatic-update identity, and the generated capability surfaces are synchronized to v2.9.3. The scope adds the complete `minimax-music3-prompt-enhancer` node on top of every v2.9.2 capability: lyrics generation/preservation/scoped editing/instrumental modes, progressive-disclosure MiniMax Music 3 caption planning, persistent stage attempts, all enabled Canvas LLM channels, the unchanged default `seedance-nz` / `bytedance/doubao-seed-2.1-pro`, one credential-free workflow, and the pinned official `MiniMax-AI/MiniMax-Music3@91410fb657c007ae57c60df8240f5ece5be089c7` Skill snapshot. The project owner explicitly authorizes this pinned official resource snapshot to be distributed in the installer; provenance and hashes are recorded without inventing an upstream license claim. No existing node, model, default channel, saved canvas, workflow, Provider protocol, or v2.9.2-and-earlier capability may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.9.3` on `codex/release-v2.9.3`, and must pass resource integrity, TypeScript, focused and adjacent regression, capability sync, public/private builds, local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full GitHub downloads of all three automatic-update assets, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.9.3`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-15 MiniMax Music 3 prompt-enhancer release capability: the new `minimax-music3-prompt-enhancer` is a text-only pre-production node that emits final lyrics, a Music 3 Caption, an official payload, and a bounded evidence report; it does not generate audio. AUTO, generate, byte-for-byte preserve, scoped edit, and instrumental modes cover full-song and selected-section work. Official-full mode loads only the genre router, at most two family indexes, and at most three of the 1,000 templates; it never sends the entire library in one request. Private semantic mode prevents raw lyric lines from entering the caption stage, unsafe tags and secret-like input fail closed, and each Provider stage uses a durable child attempt/submission ledger so an ambiguous paid submission is never replayed automatically. The fixed official snapshot contains 1,022 files, 18 family indexes, and 1,000 templates with normalized tree SHA-256 `d836359b48a4bc3381f8d9eb370ff90dd82cb5ad9aa4e3ba0ed80da2c25b2553`. Resource integrity plus Music3/ports/run entry/RunIntent/capability regression passes 42/42, and generated coverage is 31 actions / 250 runtime entries / 78 of 78 nodes / zero public gaps. Electron packaging, publishing, installed-upgrade, and affected-user evidence remain pending until the formal release flow completes.
> 2026-08-15 v2.9.2 release: fixed source commit `94ce2523b6b486c86bcee63d19d68754e451cbd0` was published at `2026-08-14T18:34:43Z` through the recoverable Electron/NSIS automatic-update flow and is the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.2>. The fixed-source gates include the affected 178-test matrix (171 passed, 7 skipped), TypeScript, the 2,899-module production build, feature sync at 31 actions / 250 runtime entries / 77 of 77 nodes / zero public gaps, worktree/development/diff checks, local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, Latest, and recovery cleanup. The existing watermark runtime ZIP64 archive was rebuilt from the same 47,734 source files and fully CRC-tested with official system 7-Zip 24.06 after bundled 7-Zip 21.07 falsely rejected the otherwise valid ZIP64; the packaged archive was byte-identical to that verified source. Independent postpublish verification downloaded all three public assets again and matched actual bytes, SHA-256, installer SHA-512, `latest.yml`, and GitHub digest metadata. Installer `T8-PenguinCanvas-Setup-2.9.2.exe` is 1,314,962,979 bytes with SHA-256 `2e37993266078f235dec0232c2a5ead98bfd829e86ef5a46a09f2cf926bd7724`; blockmap is 1,369,869 bytes with SHA-256 `757c12dc519ead259f43ddc1e6b75a43cd8df6dc4648e0fcb5733ea436c54c08`; `latest.yml` is 362 bytes with SHA-256 `d9e9effa5ddd17ba4de233e92530fbfd47591497e566c00cff9c4b7c86fe3b4c`. GitHub repository-level immutable releases remain disabled, so the publisher-level exact-ownership and no-overwrite gates remain the enforced boundary. Music3 experimental code and unlicensed upstream templates remain excluded. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.2`; deferral is not a pass.
> 2026-08-14 v2.9.2 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.9.2. The scope is limited to Electron/backend startup decoupling, 50-item cursor-paged and virtualized canvas catalog, progressive damaged-index recovery, canonical canvas hydration and per-canvas viewport LRU, double-buffered on-demand theme CSS, shared 4/1/1 media scheduling, and canvasId + entityUid + revision-CAS isolation for background runs; no existing node, model, default channel, saved canvas, workflow, Provider protocol, or v2.9.1-and-earlier capability may be rolled back. The only permitted formal flow starts from one source commit already pushed to origin/main, uses T8-penguin-canvas-release-v2.9.2 on codex/release-v2.9.2, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full GitHub downloads of all three automatic-update assets, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under owner-approved-post-release-v2.9.2; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-14 startup and canvas performance release capability: frontend performance, load-failure protection, viewport, theme, media, and cross-canvas background-run matrices pass 88/88, with an independent safety matrix at 59/59 and backend/catalog/lifecycle at 44/44. Database method classification is complete at 460/460, which proves classification completeness only and does not claim the entire writer policy is compliant. An isolated development Chrome run with 5,000 canvases reached interaction in 959.1 ms cold and 464.9 ms on reload, mounted 14 sidebar rows, and recorded zero application network, HTTP, console, or page errors; these measurements are development evidence, not an Electron installation or all-user guarantee. Music3 experimental code and the upstream MiniMax Music3 resource library are intentionally excluded from v2.9.2 because the public upstream repository declares no license metadata; no unlicensed upstream templates are redistributed.
> 2026-08-14 v2.9.1 release: fixed source commit `b7e0807dab3bea3944feeed2c7f7896d610c46da` was published at `2026-08-13T19:51:35Z` through the recoverable Electron/NSIS automatic-update flow and is the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.1>. The fixed-source gates include focused and adjacent regression 85/85, Evidence/Capability 14/14, Electron/update contracts 23/23, adjacent packaging 24/24, TypeScript, public/private builds, public/RH/JSON/capability gates, local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, Latest, and recovery cleanup. The first formal attempt stopped before provenance or upload when the existing `remove-ai-watermarks-runtime.zip` failed CRC; the archive was rebuilt from the same fixed source as a valid ZIP64 archive and fully checked with digest-verified official 7-Zip 26.02 before the final unique asset set was generated in the same unsealed recovery record. No failed gate was deferred or reported as passed. Independent postpublish verification again downloaded all three public assets and matched actual bytes, SHA-256, and GitHub digests. Installer `T8-PenguinCanvas-Setup-2.9.1.exe` is 1,364,794,815 bytes with SHA-256 `354a186710ca7bfef1274f5837b6e17747cff3e980e8eae0e7fc9b0da66a1591`; blockmap is 1,422,590 bytes with SHA-256 `132b83ef6eb1600065d953f3de1c913a9639373c83cf7a0e4199d4ff23866aff`; `latest.yml` is 362 bytes with SHA-256 `df12efffb63c20032e98f1db697183b1c3155a509d31b9a992162df51a962ced`. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.1`; deferral is not a pass.
> 2026-08-14 v2.9.1 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.9.1. The scope is limited to the Hailuo-tab models `minimax-h3-ow-ref2va-audio-drive-fast`, `minimax-h3-ow-fl2va-audio-drive-fast`, and `minimax-h3-ow-t2v-fast`, three credential-free workflows, and their Provider/proxy/capability integration; no existing default model, default channel, saved parameter, Provider protocol, node, workflow, or prior capability may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.9.1` on `codex/release-v2.9.1`, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full GitHub downloads of all three automatic-update assets, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.9.1`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-14 MiniMax H3 OW Fast expansion (released in v2.9.1, 3/3 live-verified): the official `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Thu, 13 Aug 2026 17:24:14 GMT`, SHA-256 `69cfc3bc22504b57b88119dc8d50fca52288a8ccc73a6dba72f5230b2d3b32c0`) and reference `ComfyUI_Seedance@97e358773ff44b3e4e49bd1ffd9e4f95765a2918` add `minimax-h3-ow-ref2va-audio-drive-fast`, `minimax-h3-ow-fl2va-audio-drive-fast`, and `minimax-h3-ow-t2v-fast` to the existing Hailuo tab. Both Audio Drive modes require exactly one image and one audio input, reject video, allow an optional prompt, and send exactly one uploaded URL as `metadata.audio_urls[0]`; T2V Fast requires a prompt and rejects every reference medium. All three use 5/10/15 seconds, 480p/720p, and the eight documented ratios. Frontend and Provider validate the same contract before paid submission, and three credential-free workflows are saved. Focused and adjacent regression passes 85/85 together with TypeScript, the 2,863-module production build, public/RH gates, and capability synchronization at 31 actions / 250 runtime entries / 77 of 77 nodes / zero public gaps. Each model was submitted exactly once in live verification, reached succeeded, downloaded, and ffprobe-decoded as an H.264 MP4; the sanitized report is `output/minimax-h3-ow-fast-refresh-live-20260814/report.json`. Credentials were process-only, and source, settings, workflows, and report contain no key, task ID, signed URL, or raw response; private recovery state was removed after success. Existing defaults, old models, saved canvas values, and provider boundaries remain unchanged. This capability is included in the v2.9.1 release above.
> 2026-08-12 v2.9.0 release: fixed source commit `d5e351e51db66885daa0166f88506d3fd1433a8d` was published at `2026-08-12T07:37:09Z` through the recoverable Electron/NSIS automatic-update flow and is the non-draft, non-prerelease GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.9.0>. It includes `zhenzhen-image-gk-v2`, the three Wan Image models, the eight Qwen3-TTS/MiniMax/Mureka audio models, twelve credential-free workflows, and their Provider/proxy/complete ordered-output/capability integration without rolling back any default channel, default model, saved field, Provider protocol, node, workflow, or prior capability. Fixed-source regression passed 84/84 plus Electron/Release/Evidence 29/29, TypeScript, Node syntax, public/private builds, public/RH/JSON/capability gates, local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, Latest, and recovery cleanup. Independent postpublish verification again downloaded all three public assets and matched actual bytes to GitHub digests. Installer `T8-PenguinCanvas-Setup-2.9.0.exe` is 1,317,631,265 bytes with SHA-256 `c0c79fb8daa50d3c2ee9bf4ed53ca5110edf7c30b6299cd647473c98d97072e7`; blockmap is 1,373,368 bytes with SHA-256 `6051db0bd18eaa12dd12c1d21f43ab55f36c4e164914b18426a2a3a6ed7cbed2`; `latest.yml` is 362 bytes with SHA-256 `6e9e1c34b9e97b440b7de2a6b6633df0c0f02c97c976c373e81a755ebffbbace`. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.9.0`; deferral is not a pass.
> 2026-08-12 affordable-house image/audio capability: the current `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Tue, 11 Aug 2026 21:03:05 GMT`, SHA-256 `9088f0a28ff140b2bc754b7938c8bb8d7155ace5a861b24ffc8d40fb0a7ea84c`) and reference `ComfyUI_Seedance@38041c0492` add Grok `zhenzhen-image-gk-v2`, Wan Image `wan-2.7-global-t2i` / `wan-2.7-global-i2i` / `wan-2.7-global-i2i-pro`, Qwen3 TTS, MiniMax Music/Speech/Voice Clone, and Mureka V8/V9 BGM. Mureka `n=1-3` outputs are preserved and materialized in original order without sorting, deduplication, or truncation. Twelve credential-free workflows are saved, while existing credentials, default channel, default model, historical nodes, and old canvas data remain unchanged. Focused plus adjacent regression passes 84/84 together with TypeScript, Node syntax, the production builds, public/RH/JSON gates, and capability synchronization at 31 actions / 247 runtime entries / 77 of 77 nodes / zero public gaps. All twelve models were submitted exactly once in live verification and reached succeeded; thirteen media outputs were downloaded and decoded, including two ordered Mureka V9 results. The sanitized report is `output/latest-image-audio-live-20260812/report.json`. Credentials were process-only, and source, workflows, settings, and report contain no API key, task ID, signed URL, or raw response. This capability is included in the v2.9.0 release above.
> 2026-08-11 v2.8.9 release: fixed source commit `4cf9e77fcdbe4dcd63bc8d21bf0c7a306665f9c0` was published through the recoverable Electron/NSIS automatic-update flow at `2026-08-10T19:54:02Z` and is GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.8.9>. It adds Dola Seedream 5.0 Pro layer decomposition to the existing Seedream layer tab, with one credential-free workflow and complete ordered multi-image output, without changing the domestic default model, default channel, saved fields, Provider protocol, historical nodes, workflows, or prior capabilities. Development regression passed 71/71 plus 181/181 adjacent cases; fixed-source release regression passed 248/248 together with TypeScript, Node syntax, public/private builds, public/RH/JSON/capability gates, and 77/77 node accounting. The single formal flow passed local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, non-draft/non-prerelease status, Latest, and recovery cleanup; an independent postpublish full download again verified actual bytes and GitHub digest metadata. Installer `T8-PenguinCanvas-Setup-2.8.9.exe` is 1,317,607,280 bytes with SHA-256 `b362b2c647dfc74dd64bca6979eef853723329908d16fb138a429cbabcb319dd`; blockmap is 1,372,712 bytes with SHA-256 `a9fcf011034295815125eba0a96b3d9d05e9bbb233c76176923c4af59b993ed2`; `latest.yml` is 362 bytes with SHA-256 `829334c153eeb3fc28f9e8351fd992f338f15c826759b3c9a419bc4778ea6c0e`. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.9` and must not be reported as passed.
> 2026-08-11 v2.8.9 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.8.9. The scope is limited to the Dola Seedream 5.0 Pro layer-decomposition model immediately below, its credential-free workflow, and Provider/proxy/complete ordered-output/capability integration; no existing domestic default model, default channel, saved field, Provider protocol, node, workflow, or prior release capability may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.8.9` on `codex/release-v2.8.9`, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full GitHub downloads of all three automatic-update assets, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.8.9`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-11 Dola Seedream 5.0 Pro layer-decomposition development capability: the current `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Sun, 10 Aug 2026 17:55:29 GMT`, SHA-256 `99c2172dbb40f09fa0f31e99fd3f53e2ff798d6bd10d7372df252f6b155e7029`) and reference `ComfyUI_Seedance@d1dab6b4f1b62768a29ff6d155daf46d82afe863` add the exact `dola-seedream-5.0-pro-layer-decomposition` option to the existing Seedream layer-decomposition tab. Domestic `seedream-v5-pro-layer-decomposition` remains the default. Both use one image, an optional prompt of at most 2000 characters, auto/1k/1.5k/2k, PNG/JPEG, and the documented `/v1/image/generations` submit/query contract. Every returned `content.image_urls` entry and supported Provider-array fallback is preserved in original order without sorting, deduplication, or truncation, and every item must download and decode before completion. One credential-free Dola workflow is saved. Focused regression passes 71/71 and adjacent Provider/RunIntent/download regression passes 181/181 together with TypeScript, the 2,863-module production build, public/RH/JSON gates, and capability synchronization at 31 actions / 245 runtime entries / 77 of 77 nodes / zero public gaps. Exactly one live Dola task completed and returned seven ordered PNGs; all 7/7 were downloaded, decoded, and visually inspected as one 1024x1024 RGB base plus six differently sized alpha layers. The sanitized report is `output/dola-seedream-layer-live-20260811/report.json`. Credentials were process-only, and source, workflow, settings, and report contain no API key, task ID, signed URL, or raw response. No Electron package, commit, push, or release was performed.
> 2026-08-11 v2.8.8 release: fixed source commit `58c2867741fc7d0e071823de4d64d794329b7e5a` was published through the recoverable Electron/NSIS automatic-update flow at `2026-08-10T18:03:33Z` and is GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.8.8>. It adds the standalone MiniMax H3 official prompt enhancer with the exact text, image, and multimodal Context IR models and three credential-free workflows without changing any existing default channel, default model, saved field, Provider protocol, node, workflow, or prior capability. Fixed-source release regression 43/43, adjacent Provider/RunIntent/recovery regression 148/148, TypeScript, Node syntax, public/private builds, public/RH/JSON/capability gates, and 77/77 node accounting passed. The single formal flow passed local-private sidecars, encryption of 155 backend sources plus four local-private files, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, stable status, Latest, and recovery cleanup; an independent postpublish full download again verified actual bytes and GitHub digest metadata. Installer `T8-PenguinCanvas-Setup-2.8.8.exe` is 1,317,615,787 bytes with SHA-256 `ecb7e2f030d6872a4f9661248506f03a3ea925ae33a3c8bd5e6916ed19b191ff`; blockmap is 1,373,637 bytes with SHA-256 `f2af243bfc2ef281b4041f9360497cd67778d0462c75491c9bd7e8c08cd782dc`; `latest.yml` is 362 bytes with SHA-256 `f9f79de838d3f17320a4f7da5fd6518cf9571c75682228885770e84aec3424d0`. Affected-user installation, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.8` and must not be reported as passed.
> 2026-08-11 v2.8.8 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.8.8. The scope is limited to the standalone MiniMax H3 official prompt enhancer immediately below, its exact three Context IR models, three credential-free workflows, Provider/proxy/run-resume integration, and generated capability surfaces; no existing default channel, default model, saved field, Provider protocol, node, workflow, or prior release capability may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.8.8` on `codex/release-v2.8.8`, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full GitHub downloads of all three automatic-update assets, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.8.8`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-11 MiniMax H3 official prompt enhancer development capability: the official `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Sun, 09 Aug 2026 23:40:34 GMT`, SHA-256 `97926f8eea2a0a1c92bef88fe57e7e855419544ddc6589584749b89b8e22b37d`) and reference `ComfyUI_Seedance@06fbe1e4c8b8b8f5bbac4121185da1c301962ed6` define the new standalone `minimax-h3-official-prompt-enhancer` node with exact text, image, and multimodal Context IR models. All three submit and query `/v1/video/generations` and consume `result_text`. Text is prompt-only with a required fixed ratio; Image requires 1-2 ordered first/last images, omits ratio, and rejects video/audio; Multimodal requires at least one reference, accepts at most 9 images, 3 videos, and 3 audios, and allows omitted, adaptive, or fixed ratio. Prompt length is 1-7000 characters and duration is 4-15 seconds, with every boundary enforced before paid submission. Existing affordable-house credentials, defaults, channels, and historical nodes stay unchanged. Three credential-free workflows are saved. Focused tests pass 50/50 and adjacent Provider/authority/run-trace tests pass 79/79 together with TypeScript, Node syntax, the 2,863-module production build, public/RH gates, JSON, and capability synchronization at 31 actions / 243 runtime entries / 77 of 77 nodes / zero public gaps. Each model was submitted exactly once in live verification and reached succeeded with non-empty result text of 1897, 4443, and 2320 characters; the sanitized report is `output/minimax-h3-context-ir-live-20260811/report.json`. Credentials were process-only and the source, workflows, settings, and report contain no API key, task ID, signed URL, or raw response. No Electron package, commit, push, or release was performed.
> 2026-08-09 v2.8.7 release: fixed source commit `fd537fa5ea2fc5feb56d20264606d7e2e153fdc2` was published through the recoverable Electron/NSIS automatic-update flow at `2026-08-09T06:07:20Z` and is GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.8.7>. It adds exact `minimax-h3-ow-i2v-fast` and `minimax-h3-ow-r2v-fast` models plus two credential-free workflows to the existing Hailuo tab and refreshes domestic Hailuo H3 new/omitted resolution defaults and three workflows to 768P while preserving 2K and every old explicit saved value. Development regression 120/120, fixed-source feature regression 85/85, Electron/update contracts 23/23, collaboration deferral gate 4/4, TypeScript, public/RH/capability gates, five workflow JSON/key checks, and 76/76 node accounting passed. The single flow passed the 2,877-module private build, encrypted backend and local-private sidecars, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, exact draft ownership, full prepublish downloads, fixed Tag/target, non-draft/non-prerelease status, Latest, and recovery cleanup; an independent postpublish full download again verified actual bytes and GitHub digest metadata. Installer `T8-PenguinCanvas-Setup-2.8.7.exe` is 1,317,595,130 bytes with SHA-256 `680fdc7e2f48e7519f27bf8033938ed37d6923630bfea2f8a920634b038d235a`; blockmap is 1,372,744 bytes with SHA-256 `bf341dbfe0c781d39ec22b7b68911c71b3333e9750f73ae88f4fac6c77cfaff2`; `latest.yml` is 362 bytes with SHA-256 `77a66cef07b4cdd947e63c1bfb1d249d66634c8fb4541cc7f34ffebea8769292`. Affected-user installation, Fast I2V and quota-blocked domestic H3 Provider quality, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.7` and must not be reported as passed.
> 2026-08-09 v2.8.7 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.8.7. The scope is limited to the Hailuo-tab MiniMax H3 OW Fast I2V/R2V additions, their two credential-free workflows, and the domestic Hailuo H3 768P/2K default/workflow refresh immediately below; no existing defaults, saved explicit values, Provider protocols, nodes, or prior release capabilities may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.8.7` on `codex/release-v2.8.7`, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, full GitHub downloads of all three update artifacts, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, Fast I2V and quota-blocked domestic H3 Provider quality, multi-device collaboration, and installed-upgrade evidence are explicitly deferred under `owner-approved-post-release-v2.8.7`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-09 Hailuo H3 / MiniMax H3 OW Fast development capability: the current official `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Sat, 08 Aug 2026 22:43:40 GMT`, SHA-256 `7db04e5be7ec671b00774937cd0484ab7ce50c737b908f0358b3a6b2ef0560ce`) and `ComfyUI_Seedance@5f3eed32c8efc8ab0d76d380964d173cfbce9006` add exact `minimax-h3-ow-i2v-fast` and `minimax-h3-ow-r2v-fast` models to the existing Hailuo tab. Both use 5/10/15 seconds, 480p/720p, and the eight documented ratios. Fast I2V accepts exactly one first-frame image and an optional prompt; Fast R2V requires a prompt and preserves 1-9 ordered reference images. Video/audio references are rejected before paid submission. Domestic `hailuo-h3-t2v`, `hailuo-h3-i2v`, and `hailuo-h3-multi` expose both 768P and 2K and now use 768P for new selections, omitted request values, and refreshed workflows while preserving old canvases that explicitly saved 2K. Five credential-free workflows are saved. The model/UI/provider/workflow plus MV/Flux3 adjacent suite passes 120/120 together with TypeScript, production build, public, RH Toolbox, JSON, and capability synchronization gates (31 actions, 240 runtime entries, 76/76 nodes, zero public gaps). Live evidence is partial and must stay explicit: Fast R2V completed one real 480p/5-second task, was downloaded, and ffprobe-decoded as H.264 864x480 for 5.166667 seconds; Fast I2V returned HTTP 502 without a task ID and was not replayed; H3 T2V was rejected before task creation because roughly CNY 4.30 remained versus roughly CNY 10.97 required, so H3 I2V/Multi were not submitted. Credentials, task IDs, signed URLs, and raw responses are absent from source, workflows, settings, and sanitized reports. No package, commit, push, or release was performed.
> 2026-08-09 v2.8.6 release: fixed source commit `320adfed895ae728a373d172e6d374497e902675` was published through the recoverable Electron/NSIS automatic-update flow at `2026-08-08T21:49:48Z` and is GitHub Latest: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v2.8.6>. It adds the exact Seedream V5 Pro Layer Decomposition tab/workflow, ordered persistence of every returned base/layer image, and same-task completed-output download recovery for image, video, audio, Suno, and RunningHub without replaying paid generation POSTs or changing existing defaults. Seedream/adjacent tests 89/89, proxy/download safety 38/38, trusted output/materialization/collaboration gates 23/23, frontend recovery/RH 18/18, Electron networking 14/14, Chinese-path Electron 1/1, the evidence gate 4/4, TypeScript, public/RH/capability gates, and 76/76 node accounting passed. The final flow passed the 2,877-module private build, encryption of 155 backend sources plus four local-private files, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, full GitHub downloads, fixed Tag/target, non-draft/non-prerelease status, Latest, and recovery cleanup; an independent postpublish full download verified all bytes against GitHub digest metadata. The first preprocessing attempt stopped before NSIS when a development process held `better_sqlite3.node`; after stopping only project-root processes, the same recovery chain continued and produced one final artifact set. Installer `T8-PenguinCanvas-Setup-2.8.6.exe` is 1,317,591,958 bytes with SHA-256 `1f728fa0288880077889fb8d30b63957e8f97d016c72606e7952a6ef07ff54bd`; blockmap is 1,372,853 bytes with SHA-256 `324fe5e357b28b6d9357f803862ee198bbd86df228326dbfcf34b184dfd071d5`; `latest.yml` is 362 bytes with SHA-256 `33e91be08d378fe34d7b1e551f153d4900424239035780f5eee0c6fcd6809edf`. Affected-user installation, remaining Provider quality evidence, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.6` and must not be reported as passed.
> 2026-08-09 v2.8.6 release authorization: version metadata, README, Release notes, features, the collaboration-evidence deferral token, and automatic-update identity are synchronized to v2.8.6. The scope is limited to the Seedream V5 Pro Layer Decomposition and completed-output download recovery hardening records immediately below, their workflow, catalogs, implementation, and tests; no existing defaults, saved explicit values, Provider protocols, nodes, or prior release capabilities may be rolled back. The only permitted formal flow starts from one source commit already pushed to `origin/main`, uses `T8-penguin-canvas-release-v2.8.6` on `codex/release-v2.8.6`, and must pass local-private sidecars, encrypted backend, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, full GitHub downloads of all three update artifacts, fixed Tag/target, Latest, and recovery cleanup. No failed technical gate may be deferred. Affected-user installation, multi-device collaboration, installed-upgrade, and remaining Provider quality evidence is explicitly deferred under `owner-approved-post-release-v2.8.6`; deferral is not a pass. Final publication facts and artifact digests may be written only after the real release converges.
> 2026-08-09 completed-output download recovery hardening (implemented, unreleased): the former image materializer shared one 25-second budget across Chromium system networking, DNS-pinned fallback, and three retries, so a slow proxy/TUN/first-byte path could starve every later recovery; image, video, and audio also shared fixed 0/3000/3000ms delays. All completed image, video, audio, and Suno artifact downloads now continue the same task ID with read-only GET/query/download work only, use 0/500/1500ms fast retries, and switch from Chromium to a fresh independently DNS-pinned connection on connect timeout, stall, reset, or HTTP 408/425/429/5xx. The fallback route has its own bounded budget. Materialization scheduling is relaxed from 25 seconds to 5 minutes, each route attempt to 2 minutes, connection failover to 8 seconds, and no-progress idle detection to 30 seconds; exhausted recovery returns `materializing` with a 1000ms same-task retry hint and never replays a generation POST or causes duplicate generation/charges. Partial files are truncated before fallback. SSRF/private-address blocking, cross-origin secret stripping, actual-byte limits, media signatures, and persistence validation remain intact. Fault injection 16/16, Electron system networking 14/14, image/video/audio/RunningHub same-task recovery 3/3, frontend polling/stop/materializing 24/24, atomic persistence 3/3, Chinese-path Electron 1/1, TypeScript, the 2,862-module production build, and capability/RH/public gates pass; caller cancellation and HTTP 404 never fall back. No paid Provider call, package, commit, push, or release was performed.
> 2026-08-09 Seedream V5 Pro Layer Decomposition (implemented, live-verified 7/7, unreleased): the current `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Sat, 08 Aug 2026 18:46:26 GMT`, SHA-256 `aa4af95a5bc7ff30035cf8bfc4c3d9a582c335f102adb7dd6b8214395d3f3bc0`) and `ComfyUI_Seedance@4bb3131fbe3c157c4d87d52b2a54a2b5e28263c9` define a new isolated Image `Seedream分层` tab for exact model `seedream-v5-pro-layer-decomposition`. It requires exactly one image, permits an optional prompt of at most 2,000 characters, accepts only auto/1k/1.5k/2k and PNG/JPEG, and defaults to PNG for transparent layers. The backend accepts both the documented `content.image_urls` array and the live Provider's observed `data.upstream.response.results[]` array, prioritizes arrays over scalar fallbacks, and preserves order and duplicate slots. Base plus up to 16 layers are materialized one by one under stable task/output-index keys; any missing download prevents completion. The credential-free workflow is saved at `docs/workflows/seedream-v5-pro-layer-decomposition.json`. One accepted live task saw a read-only status HTTP 500 at 50%; the verifier resumed that same task without resubmission, then downloaded, SHA-256-bound, and Sharp-decoded all 7/7 returned PNGs: one 1024x1024 RGB base and six alpha-bearing layers. All seven were visually inspected. The sanitized report is `output/seedream-layer-live-20260809/report.json`; process-only credentials, task IDs, signed URLs, and raw responses remain absent from source, workflow, settings, and report, and private recovery state was removed after success. Electron packaging, commit, push, and release are outside this change.
> 2026-08-08 v2.8.5 release: fixed source commit `bbe4500407a45b66c8407180ffc142dcd1d4b962` was published through the single Electron/NSIS automatic-update flow at `2026-08-08T09:10:05Z` and is GitHub Latest. It adds the exact Hailuo H3 Global trio, the eight-model FLUX 3 Video tab, eleven credential-free workflows, and dedicated Flux3 submit/status/recovery routing without changing existing defaults or saved explicit values. Node 89/89, Electron recovery 9/9, the collaboration deferral gate 4/4, TypeScript, public/RH/capability gates, 76/76 synchronization, the 4,431-module private build, four local-private backend encryptions, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, GitHub digest/size, full draft-stage GitHub downloads, fixed Tag/target, stable status, Latest, and recovery cleanup passed. Installer `T8-PenguinCanvas-Setup-2.8.5.exe` is 1,317,585,429 bytes with SHA-256 `e47b6b2ccf99d772f0b5e2be02e8e055d5c49cbcf866e72b54b79abaf011a3d2`; blockmap is 1,373,164 bytes with SHA-256 `d4eb018cb972595d0acdce002547de414e256c455ff5e2990d41b716af7534f5`; `latest.yml` is 362 bytes with SHA-256 `9b31c8a4fe3021ca19a38779d3737332431049deb47c42952a2548bf3700afd6`. Affected-user installation, the four quota-blocked Global FLUX 3 live models and remaining full Provider quality matrix, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.5` and must not be reported as passed.
> 2026-08-08 Hailuo H3 Global and FLUX 3 Video (implemented, unreleased): the current `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Fri, 07 Aug 2026 22:00:18 GMT`, SHA-256 `c0bf2f908de13bbd7e0718da1c6550a48720254b13cd6541ccd5534a7e5d316b`) and `ComfyUI_Seedance@c821eeb34a19a812ba3821a1a8a8681df547567c` define three exact Global Hailuo H3 models in the existing Hailuo tab and a new eight-model Flux3 tab covering domestic/global T2V, I2V, V2V, and Draft Enhance. H3 uses 5–15 seconds and 768P/2K. Flux3 uses 5–20 seconds, HD/FHD, and the eight documented ratios; I2V accepts 1–10 images, V2V exactly one MP4, and Draft Enhance requires the opaque `draft_cache` returned by a completed same-route task submitted with `metadata.draft=true`. Optional draft, audio, and safety fields are sent only when explicit. Flux3 has dedicated submit/status/recovery routing while preserving every existing default, saved explicit value, provider boundary, and older Hailuo/Seedance behavior. Eleven credential-free per-model workflows are saved. Offline evidence passes Node 89/89, Electron recovery 9/9, TypeScript, public/RH/capability gates (31 actions / 236 runtime / 76-of-76 / zero public gaps), and the 2,862-module production build. Process-only live credentials completed 7/11 end to end: all three Global H3 modes and all four domestic Flux3 modes produced locally downloaded, SHA-256-bound, ffprobe-decodable videos; domestic T2V returned a real non-empty draft cache consumed by domestic Draft Enhance. The first remaining Global Flux3 submission was explicitly rejected before acceptance with `insufficient_user_quota` (about CNY 0.29 available versus CNY 3.50 preauthorization), so the four Global Flux3 models are not claimed as passed and no tasks were created for them. The sanitized report contains no key, task ID, signed URL, or raw response. Resume from Global T2V after funding without replaying the seven completed tasks. Electron packaging, commit, push, and release are outside this change.
> 2026-08-08 v2.8.4 release: fixed source commit `249e36285ea608686bc3a5975d1f5e887697f2ae` was published through the single Electron/NSIS automatic-update flow at `2026-08-07T21:28:29Z` and is GitHub Latest. It adds the standalone `seedance25` node, the Video `Seedance 2.5` tab, six exact domestic/global Standard T2V/I2V/Multi models, six credential-free workflows, and pre-paid-submit MIME/byte/FFprobe duration gates without changing existing Video defaults, Seedance 2.0, or explicit saved-canvas values. The 101/101 adjacent suite, 4/4 evidence-gate suite, TypeScript, public/RH/capability gates, 76/76 synchronization, 4,431-module private build, private-backend encryption, both runtime archives, Electron native rebuild, NSIS, post-build, provenance, sealed recovery, GitHub digest/size, full prepublish and independent postpublish downloads, fixed Tag target, stable status, Latest, and recovery cleanup passed. Installer `T8-PenguinCanvas-Setup-2.8.4.exe` is 1,238,238,783 bytes with SHA-256 `349a34fab69ce0f1906fee96ebb85a3288d24d25b35be963efaa452d53a888df`; blockmap is 1,291,109 bytes with SHA-256 `e7526a6da08a54acead4701e146a3787d2f3d1764908d0ad21dac13e72519e8f`; `latest.yml` is 362 bytes with SHA-256 `b06bae762c886aa83be6a0e7f96fadfcb1a2e016f6145363fee78783d10de5a9`. Affected-user installation, full provider-quality-matrix, multi-device collaboration, and installed-upgrade evidence remains deferred under `owner-approved-post-release-v2.8.4` and must not be reported as passed.
> 2026-08-08 Seedance 2.5 official-doc refresh (unreleased): the current `https://api.seedance.nz/docs/llms.txt` snapshot (Last-Modified `Fri, 07 Aug 2026 14:00:08 GMT`, SHA-256 `b90eeedbd956797d8cb8105b0038bc5fc30fb2cfdd26b4283034847b4b2cdbe7`) makes new standalone `seedance25` nodes, the Video `Seedance 2.5` tab, the generated-node schema, and all six saved workflows default to 5 seconds and 720p. Existing canvases with explicit saved values are not migrated. Keep the exact six Standard model IDs, 4–30 or smart `-1`, the non-native resolution set, the T2V/I2V/Multi payload split, and the 30-image/10-video/10-audio/50-total limits. Before any paid task submission, the Provider must enforce JPG/JPEG/PNG/WEBP images at no more than 30MB, MP4 videos and MP3/WAV audios at no more than 50MB, use bundled FFprobe to require every audio/video reference to be 2–30 seconds, and require their aggregate duration to be no more than 30 seconds. The Video surface must expose all 10 Seedance 2.5 audio references, not the legacy truncation of three. The adjacent contract suite passed 101/101 together with TypeScript, public-source validation, 31-action/225-runtime/76-of-76 capability synchronization, the 2,862-module production build, and a real local FFprobe pass over 2.2-second Chinese-filename MP4/WAV fixtures without a new paid Provider submission. The earlier six-model 6/6 live evidence remains valid only for end-to-end model reachability. Electron packaging, commit, push, and release remain outside this change.
> 2026-08-07 v2.8.3 release: the fixed-source MV Music Master desktop and automatic-update release was published at `2026-08-07T05:33:50Z` from commit `81a650176d801a91ee20f2dfd9f5255491d8e887` and is GitHub Latest. It adds the `mv-music-master` eight-stage workbench, 5.000–14.990-second sentence-safe segmentation, bounded visual-bible/per-segment Prompt generation, storyboard/video review and adoption, versioned EDL composition with exactly one complete original-song track, playback-bound QC, and formal delivery receipts. Real material SHA-256, approved Provider, canonical model and task type bind paid work; ambiguous submissions are not replayed automatically, STOP propagates through Provider/download/compose work, and stale upstream changes revoke downstream delivery. Defaults remain `seedance-nz` / `bytedance/doubao-seed-2.1-pro`. Electron native/database/FFmpeg 41/41, MV 36/36, Provider/media 79/79, capability/release 22/22, TypeScript, 75/75 capability synchronization, public/RH/database-writer gates, the 4430-module production build, private-backend encryption, two runtime archives, Electron/NSIS, post-build, provenance, sealed recovery, GitHub digest/size, full prepublish and independent postpublish downloads, fixed Tag, stable status, Latest, and recovery cleanup passed. Installer `T8-PenguinCanvas-Setup-2.8.3.exe` is 1,317,546,643 bytes with SHA-256 `a02140459368b4e827570284b72b9ab7e3156e3f526529885fe0ee56af63db15`; blockmap is 1,373,503 bytes with SHA-256 `3de4f12cdf52f547586da6c193eeb7eb7f178482c40e6bf17529b643dcc0a949`; `latest.yml` is 362 bytes with SHA-256 `8bdbf92524e39a5d26ac322b70b60cf156a25b39d8274cba246005fd5934dfc4`. Affected-user installs, the full live-provider quality matrix, multi-device collaboration, and installed-upgrade evidence remain deferred under `owner-approved-post-release-v2.8.3` and must not be reported as passed.
> 2026-08-06 v2.8.2 release: the fixed-source desktop and automatic-update release was published at `2026-08-06T09:22:24Z` from commit `435a8bee730bd7a21147f5d7ebc11ca5b0c41e91`. Electron 33 main-process `session.fetch` no longer crashes when a Provider or file service echoes a Chinese Windows username, userData/install path, or filename in a response header. The shared system-network bridge applies a reversible UTF-8-byte/latin1 representation only to Unicode response-header values for main-process requests with no WebContents; renderer requests, ASCII/latin1 headers, URLs, filesystem paths, bodies, Chromium system proxy/PAC/TUN/VPN/IPv4/IPv6 routing, and paid-write replay boundaries remain unchanged. Real Electron A/B plus packaged Chinese userData and Seedream I2I local-read/convert/save regression pass 23/23. The single Electron/NSIS flow, 4426-module production build, private-backend encryption, two runtime archives, post-build, provenance, sealed recovery, GitHub digest/size metadata, full prepublish and independent postpublish remote downloads, fixed Tag, stable non-draft/non-prerelease status, Latest reconciliation, and recovery cleanup passed. Installer `T8-PenguinCanvas-Setup-2.8.2.exe` is 1,317,462,098 bytes with SHA-256 `7f2804c22697bc3f58b46c13696c485bbd6f0b154d387c5247cb50ad96922abd`; blockmap is 1,373,311 bytes with SHA-256 `fb2ac48b18813b08c07cf308636ee5e497861e2fd68e56eb7556372cdd3dc53e`; `latest.yml` is 362 bytes with SHA-256 `3f85df3e8a4ac8617bf4edf5b160bd46570c6dfdb69e19728d2b19a16b8d8fa5`. Affected-user install, multi-device collaboration, and installed-upgrade evidence remains deferred under exact token `owner-approved-post-release-v2.8.2` and must not be claimed as passed.
> 2026-08-06 v2.8.1 release: the fixed-source desktop and automatic-update release was published at `2026-08-05T21:34:17Z` from commit `6e6be689df35edc14d407697ed56b8312aec22a4`. It includes Qwen Image 3.0, MiniMax H3 OW and 13 saved workflows, MiniMax H3 official-Skill and digital-human MV prompting updates, plus the side-effect-free RunningHub `app-info` two-site fallback without changing defaults or paid-submit replay boundaries. The single Electron/NSIS flow, 4426-module production build, private-backend encryption, runtime archives, post-build, provenance, sealed recovery, GitHub digest/size metadata, full prepublish and independent postpublish remote downloads, fixed Tag target, stable non-draft/non-prerelease status, Latest reconciliation, and recovery cleanup passed. Installer `T8-PenguinCanvas-Setup-2.8.1.exe` is 1,317,461,216 bytes with SHA-256 `ca5285af6da80c849ed73ffcf8e760ae3b4e44263a3af02c30a81d19c68e8e59`; blockmap is 1,373,047 bytes with SHA-256 `f87cd204c8d4d1726b7477d99d99d65f922615f72563c9c477d2815daba6f1b0`; `latest.yml` is 362 bytes with SHA-256 `4d50ebbdaca9b9ede21db42c37631dc763480a54aa09fdf8e81556d38d43fa80`. Affected-user install, multi-device collaboration, and installed-upgrade evidence remains deferred under exact token `owner-approved-post-release-v2.8.1` and must not be claimed as passed. The four source-stage records immediately below preserve their pre-release evidence boundaries and are superseded only for package/commit/push/release status by this release record.
> 2026-08-06 current development capability: the Image node adds a `Qwen Image` tab with all eight documented Qwen Image 3.0 domestic/global, standard/pro, T2I/I2I models. The backend keeps auto, ratio+1k/2k, and custom W*H sizing mutually exclusive, supports n=1-6, seed, negative prompt, and prompt extension, and requires 1-3 references only for I2I. The existing Hailuo tab adds `minimax-h3-ow-t2v`, `minimax-h3-ow-r2v`, and `minimax-h3-ow-i2v`, with exact 5/10/15-second, 480p/720p, eight-ratio, prompt, and one-image constraints from `https://api.seedance.nz/docs/llms.txt` and reference `ComfyUI_Seedance@3d1a539b45912c98ed1e735142d04beea26b411c`. Eleven model workflows and two real Loop-parallel companion workflows are saved; the latter reuse production preflight, cancellation, chain cloning, and aggregation rather than introducing a cosmetic scheduler. Focused protocol/catalog/workflow tests pass 10/10, adjacent regression passes 131/131, TypeScript, 74/74 capability synchronization with zero public gaps, and the 2857-module production frontend build pass. Process-only credentials completed real per-model submit, poll, download, and media validation for all 11 models: eight decodable 1024x1024 PNGs and three 864x480, approximately 5.167-second H.264 MP4s. Three upstream busy failures were explicitly rerun by the verifier; the product does not auto-replay paid submissions. A live Canvas imported both concurrent workflows and verified every Qwen/H3 model and parameter mode; the scratch canvas was removed. Credentials, task IDs, signed URLs, and raw Provider responses remain absent from source, workflows, settings, and the sanitized report. Electron, package, commit, push, and release remain unperformed.
> 2026-08-06 current development capability: `minimax-h3-prompt-enhancer` now aligns with reference implementation commit `e9c5a225ea05ad94933fa4d26f3fd7ac1f21c1e9` and folds the local `digital-human-mv-prompting` Skill (SKILL SHA-256 `44927bfbc9058ce0b874cd97817743c13d5f4812b2aa570a4620f3840e69ff48`) into the existing `MV / 歌词贴字` preset. The conditional module locks user lyrics and actual vocal sources, spatial typography and text-supplied rhythm, isolates character/scene/typography references, treats a portrait-derived digital person as a Subject unless the user explicitly requests a frame anchor, keeps full-song offsets outside H3 local timestamps, permits one `Audio source range` header only from explicit user text, uses `<Audio 1>: fully_copy` only for an explicitly declared unchanged complete selected soundtrack, and restates a self-contained opening plus usable handoff frame for each segment. AUTO does not activate for generic captions, titles, posters, portraits, or motion graphics. The UI exposes a dynamic MV brief and explicitly says the node cannot hear, transcribe, trim, upload, or verify audio. Defaults remain no preset, compatibility profile, `seedance-nz`, and `bytedance/doubao-seed-2.1-pro`; ports remain text/image/video to text and one run remains one LLM request. Focused H3 regression passes 11/11, adjacent regression passes 149/149, and TypeScript, JSON, public-check, RH Toolbox inventory, 74/74 capability synchronization, and the 2857-module production frontend build pass. A real local Canvas browser run selected the MV preset and verified the dynamic fields and boundary card are visible without overlap; it did not click RUN and deleted the scratch canvas. No live/paid Provider, Electron build, package, commit, push, or release has been performed.
> 2026-08-06 current development correction: RunningHub `app-info` is now explicitly treated as a side-effect-free lookup and exhausts both configured site candidates after any non-success Provider code (including the affected-user `332`) or per-site transport/parse failure. This does not add `332` to the paid submit/upload/query/cancel replay classifier; those paths retain their narrow identity/resource retry boundary to prevent duplicate charges. Ordinary RunningHub/wallet, RH Market custom apps, RH Tools, and the persistent RH Toolbox capability layer share the corrected route. A real Canvas browser run clicked the overseas `.ai` option, queried WebApp `2075149522166181890`, retained `intl`, returned four fields, and showed no lookup error; direct real local proxy queries against both selected sites returned HTTP 200 with four fields. The exact affected-user path is locked by a deterministic `.ai code=332 -> .cn success` route test while global paid replay still rejects `332`. Proxy security/redaction passes 37/37, RH/connection/execution adjacency passes 79/79, Chromium system-network bridging passes 11/11, and TypeScript, Node syntax, development worktree, and diff checks pass. No credential mutation, paid Provider action, Electron build, packaging, commit, push, or release has been performed.
> 2026-08-06 current development capability: Canvas node type `minimax-h3-prompt-enhancer` remains aligned with reference implementation commit `e9c5a225ea05ad94933fa4d26f3fd7ac1f21c1e9` and the MiniMax-AI/MiniMax-H3 official Skill frozen at `093f3129a3f7bd27c74928b1cd31a54fbdebe057`. It adds compatibility versus official strict all-English profiles plus none, AUTO, and all eight official scene-writing presets. Defaults remain compatibility, no preset, `seedance-nz`, and `bytedance/doubao-seed-2.1-pro`, so old canvases do not silently change language, Provider, model, or request count. Strict mode forces English explanatory fields and prose while preserving source dialogue, lyrics, brand/UI copy, and visible text. The compiler includes actual-vocal-event speaker ordering, compound speakers, cross-cut `<scenetrans>`, ending-only `<cutoff>`, Ref2VA Subject/Picture/Video/Audio role rules, and anti-fabrication constraints. Presets are one-request writing profiles only, never production workflows or unsupported audio analysis. Focused H3 plus Provider-authority regression passes 12/12, adjacent execution/connection/capability/Agent UI regression passes 103/103, TypeScript, JSON contracts, public-check, 74/74 capability synchronization with zero public gaps, and the 2857-module production frontend build pass; live/paid Providers, Electron, packaging, commit, push, and release remain unperformed and unpassed.
> 2026-08-05 v2.8.0 release: the fixed-source desktop and automatic-update release was published at `2026-08-05T14:43:39Z` from commit `2b984be4696a9abe3627832e3d39ba02f7338fdb`. It includes RunningHub cross-site WebApp ownership recovery plus Provider generation, Creator stream persistence, seedance.nz upload, and trusted-result download hardening without rolling back any later capability. The single Electron/NSIS flow, 4426-module production build, private-backend encryption, post-build, provenance, sealed recovery, GitHub digest/size metadata, full prepublish remote re-download, fixed Tag target, stable non-draft/non-prerelease status, Latest reconciliation, and recovery cleanup passed. Live-provider, affected-user VPN/install, multi-device collaboration, and installed-upgrade evidence remains deferred under exact token `owner-approved-post-release-v2.8.0` and must not be claimed as passed.
> 2026-08-05 v2.8.0 released RunningHub cross-site WebApp lookup correction: RunningHub may return HTTP 200 with numeric `901` (`WEBAPP_NOT_EXISTS`) and no retryable prose when a WebApp ID is queried through the wrong site. The shared RH site classifier recognizes only identity/resource mismatch codes (`423`, `802`, `806`, `807`, `811`, `901`, `1002`, `1004`) and retries the other configured site, while validation, capacity, billing, timeout, 5xx, and generation failures still do not replay. This covers app-info, submit, query, cancel, and upload for the ordinary RunningHub node, wallet node, RH Tools, and the persistent RH Toolbox capability layer. The RH tool editor persists both `cn` and `intl` sites returned by lookup. A real read-only Provider check confirmed overseas WebApp `2075149522166181890` resolves directly on `.ai` with four fields and no fallback, while domestic WebApp `2084704734417612802` resolves from an `.ai` request by one `901` fallback to `.cn` with six fields. Focused site routing passes 6/6, app-info route/security passes 2/2, TypeScript passes, and the formal release gates passed. No paid submission or task execution/download was performed; external Provider evidence remains deferred.
> 2026-08-05 v2.7.9 release: the fixed-source desktop and automatic-update release was published at `2026-08-05T11:53:23Z` from commit `8aa5d2fa50d4ccc9ee9d32a0580cc09879e718d1`. It includes the protocol-isolated Seedance 2.0 prompt enhancer and RunningHub Chromium forbidden-header compatibility correction. The single Electron/NSIS flow, post-build, provenance, sealed recovery, GitHub digest/size metadata, full prepublish remote re-download, fixed Tag target, non-draft/non-prerelease status, Latest reconciliation, and recovery cleanup passed. Live-provider, affected-user VPN/install, multi-device collaboration, and installed-upgrade evidence remains deferred under exact token `owner-approved-post-release-v2.7.9` and must not be claimed as passed.
> 2026-08-05 v2.8.0 released Provider generation/download hardening: review of the affected-user v2.7.4 anonymous report against v2.7.9 confirms and preserves the existing Chromium system proxy/TUN/VPN/IPv4/IPv6 path, trusted Provider-output download safety, same-task recovery, RunningHub forbidden-Host correction, and CanvasInner hook-order correction. Three remaining gaps are fixed without rolling back later capabilities: only synchronous Seedream V5 Pro `/v1/images/generations` receives a five-minute response deadline while the generic boundary remains 90 seconds; Creator persists the first SSE delta immediately, coalesces later tiny deltas to about 320 characters, and flushes before completion/stop so more than 256 upstream fragments remain byte-exact; seedance.nz uploads default to 120-second total and 30-second idle limits and retry only an explicit HTTP 429, never ambiguous timeout/abort/unavailable/5xx results. Expanded focused and adjacent tests pass 153/153, including system-network preference, idempotent submission, same-task completed-result recovery, image/video/audio/RunningHub downloads, Seedream long response, Creator fragment coalescing, upload no-replay, and hook ordering. TypeScript, feature-sync (31 actions / 200 runtime entries / 74/74 nodes), public-clean, RH Toolbox, the formal 4426-module production build, Electron/NSIS, and release gates pass. Live paid Providers and the affected-user VPN/install environment remain deferred and unpassed.
> 2026-08-05 released capability: custom RunningHub/RH WebApp lookup no longer hand-writes the upstream `Host` header on app-info, submit, query, cancel, or upload. The URL is the sole upstream authority, and the shared Chromium system-fetch bridge removes browser-managed authority, connection, and body-framing request headers while preserving semantic headers such as Authorization and Content-Type. Node stream/dispatcher uploads remain on Node fetch and retain required Content-Length; the separate DNS-pinned raw media transport retains its socket Host authority. Renderer calls to local `/api/proxy/runninghub/*` remain intentional so credentials stay in the local backend. Focused bridge/routing tests pass 17/17, RH-adjacent tests pass 42/42, system-network/security-adjacent tests pass 74/74, TypeScript, feature-sync, public-clean, production build, Electron/NSIS, and release gates pass. Affected-user VPN/install and live RunningHub evidence remains deferred and unpassed.
> 2026-08-05 released capability: Canvas node type `seedance20-prompt-enhancer` is a protocol-isolated Seedance 2.0 prompt enhancer alongside MiniMax H3. It accepts `text/image/video`, emits `text`, supports AUTO/T2V/I2V/FL-I2V/MultiRef/VideoEdit/VideoExtend/TrackFill/Combined, AUTO/4–15 seconds, AUTO/1–20 shots, two reference syntaxes, template fusion, subtitles, stability constraints, and a soft length target. It has no audio input and must never claim attached-audio analysis. The fixed Canvas default remains `seedance-nz` / `bytedance/doubao-seed-2.1-pro`, while the workshop and every enabled LLM extension remain explicitly selectable. Full videos remain temporal evidence; paid generation is single-submit; missing providers or models fail closed; credentials remain global-only. Focused tests are 8/8, combined RunIntent tests are 5/5, node port/Run audits are 15/15, capability graph audits are 10/10, TypeScript, feature-sync, public-clean, production build, Electron/NSIS, and release gates pass; generated coverage is 74/74 with zero public gaps and the package contains a dedicated Seedance 2.0 node chunk. Live-provider and installed-upgrade evidence remains deferred and unpassed.
> 2026-08-05 v2.7.8 release: the fixed-source desktop and automatic-update release was published at `2026-08-05T05:35:38Z` from commit `2048a00273353ce7b82837be734a58f578d06408`. It includes MiniMax H3 AUTO/1–20 shot-count control, persistent RH Toolbox smart translation in Text/LLM-Vision/text Output nodes, and the fully integrated `previs-studio` white-model previs workbench with visible upstream credit. Electron/NSIS, post-build, provenance, sealed recovery, GitHub digest/size metadata, full prepublish remote re-download, immutable Tag target, non-draft/non-prerelease status, Latest reconciliation, and recovery cleanup passed. Live-provider, multi-device collaboration, installed-upgrade, and external-environment evidence remains deferred under exact token `owner-approved-post-release-v2.7.8` and must not be claimed as passed.
> 2026-08-05 current capability baseline: Canvas node type `previs-studio` provides an on-demand, Shadow-DOM-isolated white-model previs workbench fixed to and visibly crediting `https://github.com/GuiYi-Xi/monoform-previs-studio` commit `77f4bae83eeee550a6f416757231f438155bf674`. It accepts `model3d` and emits standard `image`, `video`, `text`, and `metadata` outputs. The still is a composition reference; the 5-second, 24 FPS H.264 MP4 is a motion/camera reference suitable for downstream Seedance 2.0. Project state is persisted per node, imported models use T8 managed upload, generated media is archived under controlled `/files/output/previs/`, and Canvas Run/NodeRun/Attempt plus global STOP govern export. The generated capability inventory now accounts for 74/74 nodes after the Seedance 2.0 enhancer addition. Focused tests are 6/6, and real Chromium QA verified non-overlapping 1280×720 layout, PNG/MP4 authoritative output, and cancellation without a new artifact. This capability is packaged and released in v2.7.8; installed-upgrade and external-device evidence remains deferred.
Turn creative intent into an editable production plan, then use `zcanvas` as the only business control surface.
The v2.8.4 release includes one standalone `seedance25` node and a `Seedance 2.5` tab in the existing video node. They share the exact `api.seedance.nz` `/v1/videos` protocol for six `seedance-2.5-{global-}standard-{t2v|i2v|multi}` models. Keep T2V prompt-only, I2V at 1–2 ordered frame images with optional prompt, and Multi at at least one reference with no more than 30 images, 10 videos, and 10 audios (50 references total). Each audio/video reference is 2–30 seconds and their aggregate duration is at most 30 seconds. Duration is 4–30 seconds or smart `-1`; smart duration omits top-level `seconds` and sends `metadata.duration=-1`. Only 480p, 720p, 1080p, 2k, and 4k are valid. Never route these model IDs through Seedance 2.0 family inference, and never persist credentials in workflows, reports, or source.
The 2026-08-07 live acceptance completed all six Seedance 2.5 models at 480p and four seconds through submit, poll, local download, exact-byte verification, and FFprobe decoding. T2V and Multi decoded at 854x480; adaptive single-frame I2V decoded at 640x640. Initial fixed-16:9 I2V submissions received an explicit pre-acceptance HTTP 502 with no task ID; serial adaptive single-frame submissions then completed for both domestic and global models. Do not turn this controlled acceptance behavior into automatic replay of an ambiguous paid request.
The released Seedance 2.5 source passed 101 adjacent tests, TypeScript, public-surface validation, capability synchronization at 31 actions / 225 runtime entries / 76 of 76 nodes with zero public gaps, and the 2,862-module public production web build. A real local Canvas UI check created both temporary entries, selected the affordable-house provider and Seedance 2.5 tab, verified all six models plus I2V and 30/10/10/50 Multi guidance, recorded zero console errors, and removed both temporary nodes. The fixed release flow additionally passed the 4,431-module private build and all Electron/NSIS, provenance, GitHub and full-download gates described above.
## Current release baseline
- The current released desktop and automatic-update baseline is `v3.2.0`: <https://github.com/T8mars/T8-penguin-canvas/releases/tag/v3.2.0>. It is published, non-draft, non-prerelease, and GitHub Latest.
- Its fixed `v3.2.0` release Tag and Release target point to packaged-source commit `dfb388c2d2dbae4df3186ea268f69cca96d793ac`. Later metadata-only commits on `main` must not move that Tag.
- When schema32 Canvas hydration fails, keep the canvas read-only. Offer a verified canonical-backup recovery only through the app's expiring one-time plan and the creator's explicit confirmation; state the possible acknowledged-write gap. Never edit database files or lower the ACK watermark, and preserve failed-primary evidence. A mismatched database UUID or unverifiable backup remains blocked.
- Treat T8-managed `/api/resources/file/<id>`, `/api/resources/set-file/<id>`, and `/api/project-assets/<id>/media` references as Provider-upload media that must be resolved to their controlled physical file before LLM, image, video, audio, or RunningHub submission. Preserve the original name and MIME as hints while validated bytes remain authoritative.
- Prefer generation continuity for valid media: a positive media signature may correct stale CDN MIME or filename metadata, while a genuinely unknown codec may fall back to the declared media kind required by the consuming node. Continue rejecting HTML/JSON error bodies, archives, empty/oversized content, cross-kind input, untrusted remote destinations, and arbitrary disk paths.
- Keep every `CanvasInner` hook before any conditional return, mount RH management modals in the document portal above ReactFlow controls, and scale the selected-node action bar with the same viewport zoom as its node.
- The v3.2.0 flow produced one final Windows Electron/NSIS artifact set plus same-tag real macOS arm64 DMG/ZIP/update assets. Provenance, sealed recovery, exact release ownership, runner verification, independent Mac full download, post-Mac Windows full download, Latest and recovery cleanup passed; use `docs/release-v3.2.0.md` for the six exact sizes and SHA-256 values.
- Affected-user installation, multi-device collaboration, installed-upgrade and F8–F10 evidence remain explicitly deferred under `owner-approved-post-release-v3.2.0` and must never be reported as passed before they exist. Mac is ad-hoc signed and unnotarized.
- v2.7.8 includes RH Toolbox `text.translate` through formal tool `translate-cutout-v1` / WebApp `2084616885802463233`. `runRhTextTranslation` is the only shared Provider-facing capability entry; Text, LLM/Vision user input, and text Output nodes expose the same compact `译` action and persist a bounded `smartTranslation` receipt. A changed source becomes `stale` and is not overwritten, while protected `@` media references fail closed if the Provider does not preserve their placeholders. The RH-focused suite passes 24/24, the adjacent UI/persistence suite passes 53/53, and TypeScript, capability sync, public-source checks, production frontend build, post-build RH marker checks, packaging, and release gates pass. Live RunningHub evidence remains deferred.
- v2.7.8 includes the MiniMax H3 `shot_count` LIST as persisted Canvas `shotCount`: `0` keeps legacy AUTO behavior and fixed values are exactly `1..20`. The selection is exposed beside target duration, defaults safely for old canvases, is allowed by the generated-node schema, is persisted in `lastRun`, and is compiled into both the system constraint and user request summary before the single LLM submission. A fixed count requires consecutive `[Shot 1]..[Shot N]` labels and overrides approximate counts from the base prompt or reference template; it does not add a Provider request or silently change the default channel/model. Reference-node regression passes 46/46 with the bundled runtime, while Canvas H3 and related authority/capability/preflight/doctor regression passes 71/71. Packaging and release gates pass; live Provider evidence remains deferred.
## Optimize for the creator
- Treat one natural-language sentence as the mandatory default entry. Start planning immediately; never require the creator to learn a command, node type, provider, model ID, protocol, or UUID first.
- Start from the intended work, not from nodes or API jargon.
- Resolve the creative focus in this strict order: explicit `@`/`--node` references, live selection, visible viewport objects, the current Creator Session phase, then the bounded project summary. A lower-priority failure or project state must not steal an explicitly chosen object. Compile each suggestion's label, ID, intent, capabilities, and operation contract from that same focus.
- Produce the first useful preview quickly, then let the creator compare, accept, lock, and refine.
- Keep image, video, script, Story, Director, and VideoEdit choices connected so a change never silently breaks the production chain.
- Explain choices in creative language first; expose providers, models, parameters, and evidence when professional control is useful.
- Prefer fewer meaningful choices over large undifferentiated batches. Never trade creator continuity for command throughput.
## Core rules
1. Use the bundled wrapper in `scripts/zcanvas.cjs`; pass user values as separate arguments.
2. External Agents may invoke only authenticated `t8-versioned-creative-tool-v1` tools from the generated public catalog. Require the exact tool version, request/result schema, operation, project, canvas, scopes, and manifest version; the public catalog must never expose handler, service, method, or internal binding. Reject raw route/URL/header/credential/Provider payload, DOM/store/source/database/shell/CanvasPatch and nodes/edges fields. Only generated L0 direct operations may dispatch; L1/L2/L3 must continue through their preview, approval, and execution routes. Do not invent HTTP requests, edit SQLite/Zustand/ReactFlow state, or automate canvas DOM controls.
3. Inspect the live app, project, canvas revision, node schema, existing assets, locks, and run evidence before proposing changes.
4. Generate an editable plan before any write, upload, generation, replacement, deletion, or browser submission.
5. Preserve locked and accepted results. Regeneration creates candidates; it does not silently overwrite the accepted version.
6. Treat a provider task as complete only after its result is downloaded, validated, persisted, and linked to the intended run and asset. Preserve the runtime's native system proxy/TUN/VPN/IPv6 path for the first Provider request; connection recovery may use a fresh bounded connection only after failure. A write may be replayed only with the same stable submission identity and replayable body. A completed asynchronous task is recovered by querying and persisting that same task, never by submitting a replacement that could duplicate work or billing.
7. Keep credentials opaque. Only report configured/not configured; never request or reveal API keys, cookies, passwords, tokens, signed URLs, or browser profile data.
8. Treat Canvas Patch apply/revert evidence as authoritative only when the persisted Patch ledger confirms the exact project, canvas, actor, patch ID, status, and revision. Never infer a revision or mark an Agent plan applied from UI state alone; do not offer exact revert after a real Run has been linked.
9. Treat the desktop Codex connection indicator as a non-secret receipt only. It may show active-session counts, approved scope labels, pending confirmation count, and expiry, but never a token, pairing secret, code, session ID, client identity, local path, or private canvas content. A copied one-sentence onboarding prompt starts planning only; the trusted desktop verification code and explicit scope approval remain mandatory before any authority is granted.
10. Treat the Creator Session production state as authoritative for `idea → script → assets → shots → candidates → delivery`. UI context such as `context.phase` is only a hint and cannot skip stages. Revising an earlier phase must invalidate that phase and downstream completion marks while preserving uploaded, accepted, locked, and already verified artifacts. Present the current, completed, pending, and affected phases from that persisted state; never label an uncompleted future phase as invalidated. Sending one artifact to the canvas is not delivery completion. A launcher or agent surface may summarize only persisted session, reply, approval, Run, and error evidence; it must use readable text in addition to color and must never present reply completion as production or delivery completion. Decorative launcher motion must pause when its document is hidden or the full panel is open, while readable status remains visible and reduced-motion continues to take precedence. A Canvas launcher anchored above MiniMap must derive its safe position from visible screen geometry, preserve the last valid anchor during transient MiniMap hiding, keep a deterministic responsive fallback, move left of intersecting right-side drawers when space permits, and become non-interactive and non-focusable when no safe width remains. Launcher effects must default on, expose a persistent creator-controlled off/low-resource setting, use lighter and slower semantic treatment in light mode than dark mode, and disable rotation, blur, entry and decorative animation without hiding readable status; system reduced-motion remains the strongest constraint.
## Start every task
11. Treat the generated creative capability graph and `t8-creative-capability-surfaces-v1` as the compatibility handshake across Canvas UI, Agent Control, `zcanvas`, and this Skill. Every public capability must derive its Agent tool, CLI command/subcommand, Skill machine reference, UI action, handler, scopes, and per-operation risk contract from the same manifest entry. Before any creative write or generation, `status` and `capabilities` must report matching non-empty graph and surface digests, one valid recomputed `t8-creative-capability-coverage-receipt-v1`, and empty `unknownNodeReferences`, `missingHandlers`, `missingOperationRisk`, `missingVerification`, and `missingCompatibilityEdges`. The receipt must bind source digests for the capability manifest, Canvas Node Schema, runtime catalog, handler bindings, and receipt compiler, while every inventory matches the graph. Never trust copied counts or a hand-edited generated receipt; missing or drifted evidence fails closed.
12. Treat catalog presence as `known`, not as permission or runtime proof. Before pinning a model or action, require live `installed`, `credentialReady`, `regionReady`, and `executable` evidence from the matching graph digest. Report only blocker labels; never expose the credential value.
13. Use the graph's per-operation policy as the authority: `plan`, `preview`, `compare`, and `verify` stay L0; reversible canvas writes normally require L1; Provider generation, external import/transfer, delivery, and browser submission enter L2/L3 by their declared boundary. Never infer one risk level from the capability summary.
14. Require the read-only `ModelDecisionReceipt` before presenting any model-dependent creative plan. A creator-fixed language, image, video, or audio provider/model must remain exact; if it is unknown, incompatible, or not executable, show the returned plain-language blocker and recovery action, and never switch provider, cost tier, or privacy boundary silently.
15. For smart selection, explain the selected model, verified reasons, alternatives, limitations, and the evidence status of cost and latency. Keep unverifiable estimates explicitly `unknown`. Every completed reply must expose exactly three distinct next suggestions; each suggestion must carry a real operation contract and be executable now or visibly disabled with blockers and `unblockActions`. The persisted response, event, nested SuggestionSet, API snapshot, and rendered actions must carry the same valid `t8-creator-suggestion-invariant-receipt-v1`: exactly three items, unique non-empty IDs and intents, capability IDs and operation contracts matching the current generated capability graph, no enabled item with blockers, and every disabled item with a visible reason. Revalidate that receipt when reading the append-only event tail, fail closed on corruption, and allow only one terminal SuggestionSet per response ID. Before selection, show its expected effect, authoritative Provider-call evidence, and exact per-operation risk/approval boundary in visible creator language. `providerCalls: 0` means zero model calls for this step, never “free”; missing cost or risk evidence stays unknown/disabled. Make clear that later Canvas writes or generation still require their own contract. Never present a placeholder as a working button.
16. Treat every persisted SuggestionSet as version-bound. Invoke a suggestion only with its ID and the exact `setDigest` returned by the same Creator Session; the server must recompute `canvasRevision`, `contextDigest`, `assetVersion`, and `planDigest` before model choice or planning. On any mismatch, stop and show the returned recovery message. Never replay an old label as free text to bypass freshness. The three pre-session blank ideas remain new natural-language requests, not approvals.
17. Treat every plan-dependent approval as version-bound. Present and complete only the current `t8-agent-control-approval-binding-v1` for the same session, project, canvas, action, and logical subject. A newer plan for that subject invalidates the old approval before any Canvas write, Run intent, Provider call, or file write. Different Run node scopes remain independent. Keep unavailable cost-tier and privacy-boundary evidence explicitly `unknown`; never infer that an unknown boundary was approved.
18. Keep one stable client request ID for one logical Creator message. Closing the Canvas panel may release only its foreground EventSource, polling, and UI resources; it must not stop the reply or cancel a remote task or Run. On reopen, fetch the authoritative snapshot of the same Creator Session first, then replay from its durable event cursor and reconcile linked Runs. Codex, zcanvas, Canvas UI, and another paired local Agent must all read that same backend Creator Session before deciding the current plan, approval evidence, production phase, asset lineage, Run, verification, or delivery result. The local zcanvas JSON is only a bounded session locator and recovery cache; it never outranks the backend snapshot. Approval decisions may be observed through durable evidence, but approval authority and secrets remain caller-bound and never transfer between entries. If a response is lost, the UI disconnects, the page refreshes, or the desktop/backend process restarts, recover the existing request and cursor before retrying. An exact retry may return the original in-progress/completed receipt; changed content requires a new request ID. Never create a second plan, Provider submission, CanvasPatch, or asset because delivery status was unknown.
19. For Skill install, update, downgrade, rollback, or uninstall, use only an installer-verified whole-bundle digest. An external immutable bundle additionally requires an Ed25519 signature from a key already trusted by the current installation or an independent absolute trust-policy file outside that bundle. Reject unsafe/path-like version labels, incompatible protocols, untracked installed files, digest/signature drift, unowned same-name Skill directories, and partial activation before replacement. When invoked inside a source checkout, the matching project Skill + CLI outrank managed user/global copies; outside a project, managed discovery resolves its immutable owner before PATH. Preserve the exact current install and last-known-good on every failure, never overwrite or delete an unowned directory, and return creator-readable recovery.
20. Pair only after the creator verifies the same short code in the trusted desktop dialog and explicitly approves the final scope set. The CLI may store only those approved scopes. Denial, revocation, or expiry must delete or hide stale local state and fail closed; recovery requires a fresh pairing request. Never expose a token, poll secret, pairing/session ID, verification code, credential, or private canvas content in a connection summary or report.
21. Treat a multi-session connection summary as a non-authoritative display aggregate. Authenticate and authorize every operation against the calling session's own access token and scopes; never borrow another active session's scope from the summary union. Revoking one credential must not revoke or broaden any other session.
22. Treat the trusted desktop pairing dialog as a keyboard-modal security boundary. It must take focus when opened, trap Tab and Shift+Tab inside itself, make Escape an explicit denial, and restore the creator's previous focus when the last request closes. Keyboard navigation must never auto-check the confirmation or auto-approve scopes.
23. Treat one-sentence composition as an IME and assistive-technology boundary. Opening Creator Agent must focus the composer only after its durable session and capability contract are ready. Measure launcher-to-shell paint separately from composer readiness: the shell target is 300ms, while the first local editable plan target is p95 <= 2000ms. Persist only monotonic local-planner timing and explicit zero Provider, zero Canvas, and zero production-file-write receipts; the durable Creator Session ledger remains recovery evidence and must not be mislabeled as a production output. Enter must never submit while composition is active, on native key code 229, or during the short post-composition commit window; Shift+Enter remains a newline. Plain creator-facing streaming deltas may stay visually visible but silent to the live region. When the Provider returns a structured work envelope, buffer raw deltas until the complete JSON, schema, media-grounding, and quality gates pass; publish and persist only validated `displayMarkdown`, never raw or truncated Provider JSON. Only a durable completed, failed, or stopped reply may be announced.
24. Treat “stop reply” and “cancel remote task” as different operations. Stopping a Creator Agent reply may end only that response stream and must preserve the creator's original request. Keep only creator-facing partial text that had already passed the active validation boundary; if a structured response was stopped before validation, persist no raw partial JSON. Stop remains idempotent under completion/stop races, reports zero remote tasks affected, must not apply an unfinished plan, and must never claim that an image, video, audio, browser, or Provider task was cancelled. Remote task cancellation requires the exact task card and its own supported cancellation contract.
25. For reference-video shot breakdown, keep controlled timestamped frames as the required visual evidence and treat `seedance-nz/whisper-1` as optional speech evidence only when live readiness proves it executable. Request `verbose_json`, but accept segment timing only when the actual response contains valid `start/end/text` windows; otherwise preserve the transcript as whole-video `untimed` evidence. Provider windows may support only conservative overlap with approximate shots, never word timing, speaker identity, or exact cuts. An unavailable transcriber must leave a visible non-blocking receipt and keep frames-only analysis. Whisper never proves music, ambience, or SFX. Import a completed breakdown only from an LLM node whose analysis schema and asset ID, content revision, and SHA-256 exactly match the current source; validate the result's own `sourceAsset` and timecodes, whitelist the editable shot fields, and reject malformed or cross-source results. Reuse the matching workflow instead of creating a duplicate. Mark execution evidence verified only when a same-project, same-canvas Run contains the exact NodeRun identity, a replayable snapshot bound to the same source version and schema, and the same request ID when one exists; keep pending, failed, invalid, and missing ledgers visible instead of borrowing another run or waiting for unrelated nodes in the group. Keep the continue-production suggestion disabled until the current result document and exact Run evidence are verified; once verified, convert the bounded shot grammar into an original storyboard plan instead of rerunning shot breakdown.
Run:
```text
node <skill-dir>/scripts/zcanvas.cjs status
node <skill-dir>/scripts/zcanvas.cjs capabilities
```
For every normal creative request, use the one-line session entry by default:
```text
node <skill-dir>/scripts/zcanvas.cjs ask "<the creator's request>"
```
The creator does not need to know this command or run a second command. A natural request such as “把这段剧本做成 30 秒竖屏短片” must trigger the Skill and start planning directly. This is a product requirement, not an optional shortcut. Infer duration, ratio, audience, recipe, provider defaults, and production stages as visible assumptions. Story planning must return the first editable shot, asset, and audio analysis in this same session; do not ask the creator to run `story analyze`. Ask only when the target asset or another safety-critical choice cannot be inferred.
An imported project asset may start the same Session through `ask --asset <assetId>` with no text.
Resolve the ID internally; never expose it or a local path. No text and no persistent asset still fails closed.
After `ask` returns a ready plan, present its assumptions, analysis summary, and exact change scope in creator language. Do not echo CLI commands, node types, protocol fields, UUIDs, or Provider jargon as prerequisites. When the creator confirms in the conversation, the Agent—not the creator—uses the saved session internally with `continue --session <creatorSessionId> --complete`. This only opens the authoritative canvas approval and never bypasses the separate approval required before graph writes or Provider generation.
Use `continue --session ... --prompt "<new direction>"` after a conversation restart or when the creator adds a change. It keeps the original request, exact instance/project/canvas, recipe, accepted direction, and plan checkpoint.
Before `continue` decides whether production is planned, approved/applied, running, verified, or delivered, it must refresh the exact backend Creator Session. The local session file is only a bounded locator and recovery cache. Canvas, Codex, zcanvas, and other paired local Agents report the same current plan/digest/targets, durable approval evidence, production phase/checkpoint, bounded lineage, Run links, verified artifacts, and delivery evidence. A missing or cross-scope backend session fails closed. Approval evidence is shared, but approval authority and secrets never transfer between entries.
If that session is already applied, `continue` restores the linked Story/node instead of creating another source workflow. A concrete new direction creates an authoritative `production.continue` CreativePlan and one `node.patch` against the original production; it does not merely record local notes. Never satisfy a follow-up by creating a second Story or repeating an already submitted Provider task.
The returned `incrementalPlan` is authoritative for the next conversational turn. It records the same target production, exact affected dimensions, protected results and locks, failed/missing-only scope, shot references, zero immediate writes, and zero immediate Provider calls. Present that plan in creator language, then route it through the existing preview and approval contract.
If the CLI reports an unavailable capability, stop that action and explain the returned `message` and `nextActions`. Do not substitute a hidden browser click or raw API call.
Use the current working-directory binding when present. With one paired instance and one available canvas, `ask` selects it automatically. If the project or canvas is ambiguous, show creator-facing names and last activity, then ask the user to choose; never ask them to interpret UUIDs.
Project recipes are creator-owned production memory. Use `recipe save/import/pin/rollback/verify` to preserve a director style, character or product bible, shot grammar, negative rules, stages, review dimensions, and separate language/image/video/audio defaults. Recipes are versioned per project and signed with a key protected by the current user's secure store. `ask --recipe <name>` resolves only the pinned, verified version. A missing or modified recipe must fail closed instead of silently using `general`.
## Route the request
- Read [references/generated-capabilities.md](references/generated-capabilities.md) before selecting a registered creative action, [references/generated-capability-surfaces.json](references/generated-capability-surfaces.json) for the exact Agent tool / CLI / UI action mapping, then [references/generated-capability-coverage.md](references/generated-capability-coverage.md) for its real node, handler, runtime and operation coverage. These are generated artifacts and never override the human safety, approval, or evidence rules in this Skill.
- A capability is usable only when the generated graph resolves its policy entry to a known Canvas Node Schema type and an implemented runtime service/action. Unknown nodes, duplicate capabilities, missing handlers, digest drift, or an unhealthy graph fail closed; never replace them with an improvised API, DOM action, or shell path.
- The production build runs the cross-source capability graph gate before TypeScript/Vite. If node schema, runtime model catalog, capability policy, handler registry, generated CLI/Skill/backend artifacts, or the packaged indexes differ, repair the responsible domain authority and regenerate; never hand-edit generated files.
- Read [references/creative-workflows.md](references/creative-workflows.md) for image, video, audio, script, Story, Director, VideoEdit, and cross-media production.
- Read [references/commands.md](references/commands.md) before issuing CLI commands or composing pipes.
- Read [references/protocol.md](references/protocol.md) when handling JSON/NDJSON, revisions, previews, idempotency, runs, or errors.
- Read [references/browser-control.md](references/browser-control.md) before using Chrome or the existing T8 extension.
- Read [references/security.md](references/security.md) before uploads, generation, delivery, deletion, replacement, external providers, or multi-Agent edits.
- Read [references/compatibility.md](references/compatibility.md) for installation, version handshake, Codex discovery, or update failures.
## Create a useful plan
Translate the user's goal into a compact plan containing:
- outcome, audience, format, duration, aspect ratio, style, audio layers, and delivery;
- assets and results to reuse, lock, add, modify, or skip;
- proposed stages, shots, candidates, models/providers, and fallback choices;
- waiting stages and the boundary of each Provider batch;
- exact scope for words such as “only”, “except”, “keep”, “from shot N”, “missing”, “failed”, and “unlocked”;
- one of `economy`, `balanced`, `quality`, or `custom`.
Ask no more than three questions at once. Ask only questions that materially change the result; infer visible project facts instead of asking again.
Prefer a small useful preview before a full-quality batch. Entering a workflow stage must never start generation by itself.
Before selecting a model, run `model list` or `model search`. For Story, keep language, image, and video provider/model selections separate and pass all three into the plan.
For long scripts, use `create story --file <absolute-utf8-file>` instead of putting the script in a shell command. Continue the same Story with `story inspect`, `story import`, `story bind-asset`, `story compile`, and `story plan-previews`; do not create a second Story merely because the Agent resumed in a new conversation.
Treat quality as a creator feedback loop:
- explore a few named directions at preview quality;
- compare the work, not only prompts or model names;
- accept one direction and lock identity, wardrobe, product, scene, or composition as needed;
- refine only the unlocked weakness;
- move to full quality only after the direction and continuity are accepted.
Do not evaluate a candidate from its Prompt, label, seed, provider, or model name. Open or otherwise inspect the actual safe media reference first. Use `iterate review` to bind the visual/audio assessment to the current asset URL, asset ID, or content hash. Compare composition, identity, product shape, continuity, rhythm, and text accuracy as applicable; identity, product shape, continuity, and text accuracy are hard gates. A missing or stale review is “not yet reviewed”, never a quality pass.
Accepting a candidate automatically locks its Prompt and any relevant identity, wardrobe, background, product shape, logo, composition, or scene dimension. Explicit `--lock` values add to those automatic locks. Later edits must preserve accepted results, uploads, locks, and completed unaffected work; Story re-analysis invalidates only semantically changed shots.
`--candidates 3` means three alternatives for the same image or shot. Three different Story shots must be represented by three stable shot IDs and planned with `story plan-previews`.
## Apply changes safely
Follow this sequence:
1. Inspect the authoritative canvas and node schema.
2. Validate and simulate the intended execution plan with `doctor validate` and
`doctor simulate`; this is read-only analysis with zero Provider calls.
3. Create a structured CanvasPatch preview with `baseRevision` and `previewDigest`.
4. Summarize the affected nodes, node types and positions, edge endpoints and ports, persistent asset lineage, locks, downstream impact, Provider boundary, and risk in plain language. Never expose raw before/after values, prompts, URLs, or Provider payloads in the preview.
5. Obtain the required confirmation.
6. Apply the exact preview using an idempotency key.
7. Verify the new revision and audit record.
8. Run only the confirmed scope.
9. Follow the same durable RunIntent to a terminal state.
10. Verify persisted artifacts and report success, failure, skipped, and reused counts.
If the revision or schema is stale, do not retry the write blindly. Re-inspect, regenerate the preview, and show the changed scope.
## Approval levels
- `L0`: status, version, capabilities, list, show, schema, search, inspect, validate, simulate, run evidence, and preview. These may run automatically.
- `L1`: small, reversible graph edits within an explicit user scope. Still show a structured preview and an undo path.
- `L2`: generation, upload/download, delivery packaging, external provider transfer, batch regeneration, deletion, replacement, cascading updates, browser form submission, or cross-origin navigation. Confirm each batch with exact boundaries.
- `L3`: credential access, cookie/profile reading, CAPTCHA bypass, safety bypass, arbitrary shell/filesystem access, silent publishing, or database mutation. Never perform these actions.
## Iterate without destroying work
- Lock accepted characters, scenes, prompts, shots, media, audio, and edits.
- Use candidate versions, comparison sets, branches, and “set accepted”.
- Default batch scopes to missing, failed, or unlocked items.
- Persist creative briefs, style/character/scene/audio bibles, shot lists, asset plans, generation plans, selections, and delivery manifests in the project.
- Preserve lineage: inputs, prompt, model, parameters, provider task, parent version, and accepted version.
- On interruption, continue from the last persisted checkpoint and do not duplicate Provider submissions.
## Use Chrome only as a visible handoff
Use the host Agent's Chrome capability only when the user explicitly requests visible browser work. A non-status handoff must carry that explicit-user contract, remain bound to the exactly one local Canvas origin in `allowedOrigins`, and never accept an arbitrary target URL.
Allowed uses include opening the current canvas, focusing the tab, highlighting a node, taking a screenshot, reading a visible error, completing user-driven login, and invoking the existing extension's selection UI.
Every `browser` command first returns a handoff with `executed:false`. The command name does not prove that Chrome was opened, highlighted, or captured. Only report success after the host Chrome capability performs the visible action and returns evidence.
If Chrome control is unavailable, return the project URL and state that it was not opened automatically. Never attach or read headers, credentials, cookies, localStorage/sessionStorage, passwords, profiles, storage state, or other tabs. Cross-origin navigation, form submission, download, and login require a separate visible L2 confirmation and cannot reuse the local Canvas handoff.
## Report the outcome
Lead with the creative result and the next useful choice. Include:
- what was created, changed, reused, skipped, locked, or left pending;
- run and artifact evidence;
- any partial failure and safe recovery options;
- the project/canvas link when useful.
Do not call a task successful when a provider says `completed` but the artifact is missing, invalid, undecodable, or not persisted.
On failure, lead with three creator-facing facts: what did not finish, whether existing work is safe, and the next recovery action. Keep technical codes in structured evidence. Resume the same Creator Session, approval, run intent, cursor, download, or verification stage; never turn a recoverable failure into a duplicate Provider submission.
For Canvas UI replies, preserve the response ID and event cursor across interruption. Show persisted partial text, but expose a CreativePlan or any executable action only after the ordered response deltas are verified and completed.
For real task progress, resume only verified linked Runs from their durable database event cursors. Prefer one current creator-facing state per Run or NodeRun; never copy raw provider polling payloads, signed URLs, credentials, prompts, or local paths into the chat session.
## Use object-aware canvas context
Treat one sentence as the default start, then ground the reply in the creator's current canvas instead of forcing node or CLI vocabulary.
Use a bounded summary of at most 24 priority objects: current selection, viewport visibility, type/status, media result kinds and count, accepted/locked state, and upstream/downstream counts. Include only bounded offscreen counts and fixed creator-facing recent-action labels. Never place raw prompts, media bodies, signed or remote URLs, local paths, or provider payloads in Creator Session context.
Prioritize three safe next actions in this order: verified failed Run or offscreen failure recovery; the current selected object while preserving accepted and locked parts; then the general Story/image/video/audio phase.
Node graph counts are not database asset lineage. Query persistent lineage only when selected objects have persisted output references from verified recent Runs. Read at most six current-selection assets and twelve lineage records per asset; do not scan the asset catalog.
Persist only bounded asset IDs, kinds, labels, relation names, parent IDs, source node IDs, Run/NodeRun IDs, derived operation names, and truncation state. Never persist lineage prompt summaries, metadata, remote or signed URLs, preview URLs, or local paths in a Creator Session.
A local filmstrip may show lazy-loaded persisted thumbnails, first frames, contact sheets, or waveforms and locate the real source node. Keep those preview references in UI memory only. A partial lineage-read failure is non-blocking and must not trigger a Provider call, generation retry, canvas write, or loss of already verified work.
## Place a verified asset on the canvas
Use `asset place --asset <assetId>` only for a current-project asset that is already persistent, re-openable, hash-verified, and represented by a stable asset ID. The returned plan must show the new node, position, optional target port/edge, and lineage source before the creator approves it. This is an L1 reversible CanvasPatch: it must not read an external file, transfer the asset to a Provider, or trigger generation.
After approval, complete the same stored request with `asset place-apply`; do not create another plan. Treat an authoritative duplicate result as recovery of the original placement, then refresh the canvas snapshot. Record `artifact.sent-to-canvas` only after the exact Session plan and canonical applied Patch ledger agree on project, canvas, asset ID, content hash, node ID, patch ID, and revision. A button state, preview, or remote URL is never delivery evidence.
## Add a creator-visible node
Use `graph add --type <schema-type>` when the creator explicitly needs a node
that is not already represented by a higher-level one-sentence workflow. The
type must be one of the 62 non-hidden entries referenced by
`canvas.node-add` in the generated capability coverage report. Hidden or
internal node types fail closed.
`graph add` is an L1, preview-first CanvasPatch operation. It only adds the
node; it never runs the node or calls a Provider. For the nine schema-marked
generatable node types, initial data is limited to the exact
`generation.allowedDataFields` contract. Other nodes are added empty and must
be configured in their visible node UI. Never treat create coverage as
run/verify coverage: only the 16 nodes that the generated graph marks fully
operable may be described as end-to-end executable.
Use the same command again after the desktop approves its exact plan. The CLI
resumes the stored approval and must not create a duplicate node.
## Trust production evidence, not the plan
- A chat reply, three suggestions, CreativePlan, or Canvas Patch preview expresses intent only. It never completes `idea`, `script`, `assets`, `shots`, `candidates`, or `delivery`.
- After a confirmed apply or revert, require the canonical Patch ledger entry for the same project, canvas, actor, plan digest, patch ID, status, and exact revision. Then derive stage progress from the persisted canvas document.
- Story progress comes from persisted script and confirmed shots, ready assets, compiled prompts, completed videos, and final-film state. Candidate completion additionally requires visual review plus acceptance/lock evidence, or verified Run/NodeRun artifacts.
- Production evidence is bounded metadata only: IDs, counts, revisions, stages, and booleans. Never copy script bodies, prompts, media or signed URLs, local paths, Provider payloads, API keys, tokens, or cookies into the Creator Session.
- Revert and upstream revision recompute completion from the resulting document and invalidate only affected downstream stages. Preserve uploads, accepted versions, locks, Run/Asset lineage, and physical delivery evidence.
- If the ledger, document revision, actor, plan, or persisted artifact evidence is missing, fail closed with a creator-facing recovery step. Never guess completion to keep the conversation moving.
## Show the exact approval boundary
When an approval carries `t8-agent-control-approval-binding-v1`, require the desktop confirmation to show the bound plan/model receipt, Provider/model selections, cost status, privacy status, and a stable short receipt digest. Unknown cost or privacy metadata must stay visibly unknown; never infer it. Any plan, Provider, model, cost, or privacy boundary change invalidates the old approval before a Canvas, Run, Provider, or file side effect. Legacy approvals without this binding remain compatible with their existing scoped preview.
## Retry one logical approval without creating another
Reuse the same `operationId` only for the exact same logical approval request. A retry after a lost response or refresh must recover the same `approvalRequestId`, protected poll secret, expiry, and status; it must not create another confirmation card. If actor, project, canvas, Patch, payload, preview, expected revision, plan/model receipt, Provider, cost, or privacy boundary changed, use a new operation ID and require a fresh approval. Treat `APPROVAL_IDEMPOTENCY_CONFLICT` and `APPROVAL_STALE` as fail-closed recovery signals. Never print or persist poll secrets in chat, Creator Sessions, logs, or public evidence.
## Recover one approved plan across Canvas UI and Codex
Persist the server-validated Patch in the same Creator Session before presenting it as executable. Canvas UI and Codex may recover one already approved Creator apply only when `patchId`, normalized request digest, preview digest, project, canvas and expected revision are exact. Reuse the stable operation and treat an authoritative `duplicate:true` response as success for the original commit; refresh the canvas from the returned snapshot instead of submitting a second Patch.
Cross-entry recovery does not transfer ownership. Keep the original actor in Patch evidence, personal history and exact revert authority. A recovering actor must not claim or revert another actor's Patch. Generic `patch.apply`, changed content, a changed preview, a stale revision, new credentials, or a different permission boundary requires a new preview and confirmation. Never expose the internal request digest in public Patch history.
## Keep pre-production documents versioned and honest
For every Story or script plan, expect the same response to include
`ProductionBrief`, `ScriptDoc`, and `WorldBible` documents using
`t8-creator-production-document-v1`. Other creative plans should include at
least the `ProductionBrief`.
Continue editing these documents with natural language in the same Creator
Session. Preserve the revision when content is unchanged; changed content must
create a new revision while the prior `assistant.plan` event remains available.
Treat a content/digest mismatch as a fail-closed recovery condition.
Never invent analysis to fill an intermediate document. Keep unanalysed
characters, scenes, shots, locations, and world rules empty and visibly
unknown. A draft document is not proof that script, assets, shots, candidates,
or delivery are complete, and it never authorizes Provider or Canvas writes.
## Confirm only one exact document version
Confirm a pre-production document only when its document ID, version ID,
content digest, source plan ID, and plan digest all match the current
Creator Session plan. Treat an old plan, old version, changed digest, duplicate
document in one request, or replaced content as stale and refresh before
continuing.
An exact repeated confirmation is idempotent and must recover the existing
receipt without another event. Keep confirmation evidence separate from the
plan so it never changes the plan digest. A later natural-language edit creates
a new draft; only byte-for-byte-equivalent semantic content may retain the
confirmed status.
Show field-level before/after changes from
`t8-creator-production-document-diff-v1` in a lightweight collapsed review.
Confirmation accepts text only. It does not approve Provider calls, Canvas or
file writes, Runs, production phase completion, or delivery.
## Map explicit script structure back to source
For a ScriptDoc, treat only explicit `Scene` / `场景`, `Shot` / `镜头`, and
`Characters` / `人物` / `角色` labels as deterministic structure. Preserve a
stable source digest, stable scene and shot IDs, one-based source line ranges,
and bounded source excerpts. Missing structure stays unresolved; do not infer
facts from incidental names or prose.
Use `t8-creator-script-analysis-v1` with
`method=deterministic-source-map`, `sourceBacked=true`, `providerCalls=0`, and
`inferredFacts=0` for this local mapping. A changed source creates a new
ScriptDoc draft and follows the existing field diff and exact confirmation
rules.
Keep the review lightweight: show counts and a collapsed list of shot titles
and line ranges. This mapping is not LLM interpretation, dramatic rewriting,
character-relationship inference, asset preparation, storyboard completion,
or permission to run a model.
## Review source-backed character and asset proposals
For Story and script plans, expect versioned `CharacterBible` and `AssetNeed`
documents alongside the existing pre-production documents. Treat them as
proposals derived from the current ScriptDoc, never as completed creative
facts or generated assets.
Accept characters only from explicit `Characters` / `人物` / `角色` labels and
location asset needs only from explicit `Scene` / `场景` headings. Every item
must preserve a stable ID, one-based source line, bounded source evidence, and
the exact source ScriptDoc ID, version ID, content digest, and source digest.
Appearance, wardrobe, personality, relationships, and unstated location facts
stay unresolved.
Require `t8-creator-source-derivation-v1` with
`method=deterministic-source-map`, `sourceBacked=true`, `providerCalls=0`, and
`inferredFacts=0`. New asset needs remain `missing`, unaccepted, unlocked, and
use `generationScope=none`; reviewing a proposal must not call a Provider,
generate media, or write to the Canvas.
Confirm a derived document only after its exact source ScriptDoc is confirmed,
or confirm that ScriptDoc and its derived documents together in one batch.
Fail closed when any source document ID, version, content digest, or source
digest differs. Keep individual derived confirmation disabled until the source
is confirmed, while allowing one explicit batch confirmation of the complete
current dependency chain.
## Review a source-backed shot list
For Story and script plans, expect a versioned `ShotList` document derived
from the current ScriptDoc. Accept entries only from explicit `Shot` / `镜头`
headings. Preserve each stable shot-list ID, source shot ID, ordinal, title,
scene binding, one-based source range, bounded source evidence, and exact
source description.
Keep duration, shot size, camera movement, dialogue or voice-over, sound
design, and related asset IDs empty and listed as unresolved unless the creator
explicitly supplies them. Use `generationScope=none`; a source-backed shot
list is not a completed director storyboard, image candidate, video Run, or
quality approval.
Require the same `t8-creator-source-derivation-v1` evidence with
`providerCalls=0` and `inferredFacts=0`. Confirm the shot list only after its
exact source ScriptDoc is confirmed, or confirm both in one explicit batch.
Fail closed on a changed source document ID, version, content digest, or source
digest.
Keep the review lightweight: show at most ten shot rows with scene, title, and
source line range. Reviewing or confirming must not call a Provider, generate
media, or write to the Canvas.
## Review a source-backed AudioPlan
For Story and script plans, expect a versioned `AudioPlan` document after the
current `ShotList`. Every audio item must bind one exact shot-list item and
preserve its shot-list item ID, source shot ID, ordinal, title, scene, exact
one-based source line, and bounded source evidence.
Create items only from explicit `Dialogue` / `对白` / `台词`,
`Voiceover` / `Narration` / `旁白` / `解说`, `Music` / `BGM` / `音乐` /
`配乐`, `Ambience` / `Ambient` / `环境声` / `氛围声`, and `SFX` /
`Sound effect` / `音效` labels. Do not infer a cue from ordinary prose such
as rain, footsteps, sirens, mood, or camera direction.
Keep speaker, voice, timing, duration, loudness, ducking, fades, asset IDs,
Provider, model, and generated results empty unless the creator explicitly
supplies them. New items remain `trackStatus=source-draft`,
`promptSource=script-evidence`, `generationStatus=not-requested`, and
`locked=false`. Use `generationScope=none`.
Require the same `t8-creator-source-derivation-v1` evidence with
`providerCalls=0` and `inferredFacts=0`. Confirm the AudioPlan only after its
exact source `ShotList` is confirmed, or confirm the current dependency chain
together in one explicit batch. Validate source document ID, version ID,
content digest, and the inherited ScriptDoc source digest at every step. Fail
closed on any mismatch.
Keep the review lightweight: show total and dialogue, voice-over, music,
ambience, and SFX counts plus at most ten collapsed cue rows. Confirmation
accepts only the current text and layered-track structure. It must not select
a Provider or model, generate or upload audio, submit a task, write to the
Canvas, or advance a production phase.
## Review source-backed storyboard frames
For Story and script plans, expect a versioned `Storyboard` document after
the current `ShotList`. Each frame must map to one exact shot-list item and
preserve its shot-list item ID, source shot ID, ordinal, title, scene, and
bounded source evidence.
A new frame is an unresolved production slot, not generated media. Require
`frameStatus=missing`, empty `candidateIds`, no selected candidate, no asset,
no acceptance timestamp, no lock, and empty prompt, composition, and
continuity notes. Keep composition, subject state, reference assets, and the
storyboard image listed as unresolved.
Require `adoptionPolicy=explicit-only` and `generationScope=none`. Confirming
the Storyboard accepts only that exact structure. It must never adopt or lock
a candidate, call a Provider, create media, write to the Canvas, or advance a
production phase.
Confirm the Storyboard only after its exact source `ShotList` is confirmed,
or confirm the current ScriptDoc, ShotList, and Storyboard together in one
explicit batch. Validate source document ID, version ID, content digest, and
the inherited ScriptDoc source digest at every step. Fail closed on any
mismatch.
Keep the review lightweight: show total, accepted, and missing frame counts
plus at most ten collapsed source rows. Always state that structure
confirmation and candidate adoption are separate creator actions.
## Review source-backed PromptPack drafts
For Story and script plans, expect a versioned `PromptPack` document after
the current `Storyboard`. Each prompt item must map to one exact storyboard
frame and preserve its storyboard frame ID, shot-list item ID, source shot ID,
ordinal, title, scene, and bounded source evidence.
Use the exact source-evidence text as the initial positive prompt. Do not
rewrite, translate, expand, beautify, or infer it during this deterministic
stage. Keep negative, motion or action, audio, reference-asset, and image,
video, or audio model fields empty unless the creator explicitly supplies
them, and list those fields as unresolved.
A new prompt item must remain `promptStatus=source-draft`,
`creatorReviewed=false`, and `locked=false`. Require
`reviewPolicy=explicit-confirmation` and `generationScope=none`. Confirming the
PromptPack accepts only that exact text and structure. It must never call a
Provider, generate media, adopt a candidate, lock an asset, write to the
Canvas, or advance a production phase.
Confirm the PromptPack only after its exact source `Storyboard` is confirmed,
or confirm the current ScriptDoc, ShotList, Storyboard, and PromptPack together
in one explicit batch. Validate source document ID, version ID, content digest,
and the inherited ScriptDoc source digest at every step. Fail closed on any
mismatch.
Keep the review lightweight: show total, draft, and reviewed prompt counts
plus at most ten collapsed source rows. Always state that PromptPack
confirmation is not a Provider call, generation, candidate adoption, or lock.
## Review and adopt real production candidates
For Story and script plans, expect a read-only `CandidateReview` document after
the current `PromptPack`. Include only Canvas nodes whose
`t8-creator-production-binding-v1` exactly matches the current PromptPack
document ID, version ID, content digest, and prompt item ID. Story preview
nodes must also bind one uniquely matching shot source digest. Never recover a
binding by fuzzy text, list position, or an older PromptPack.
Count a candidate only when it has an actual text result or at least one safe
persisted image, video, or audio reference. Empty preview slots, thumbnails,
prompts, provider names, model names, or completion flags are not candidate
evidence. Preserve the exact candidate ID, node ID, result kind, safe result
references, execution references, review evidence, and adoption state.
A Story candidate may be adopted only after an actual-result review and an
explicit accept action create `t8-creative-adoption-receipt-v1`. Verify that
the receipt binds the same node ID, candidate ID, current evidence digest, and
current review digest. A legacy or manually edited `accepted=true` without a
valid current receipt is unverified and must fail closed at Story adoption.
Confirm `CandidateReview` only after its exact current PromptPack is confirmed,
or confirm the complete current dependency chain in one explicit batch.
Validate the source document ID, version ID, content digest, and persisted
candidate evidence digest. Confirmation freezes only that evidence version; it
must not adopt a candidate, add locks, run a node, call a Provider, generate
media, write to the Canvas, or advance a production phase.
Keep the UI lightweight: show total, reviewed, adopted, and blocked counts plus
a bounded candidate list. Explain missing evidence in creator language and
keep review, accept, and document confirmation as separate explicit actions.
## Review production evidence and acceptance gates
Read [production evidence and acceptance](references/production-evidence-and-acceptance.md)
before confirming an EDL, QCReport, DeliveryManifest, or claiming browser or
Electron acceptance. Keep the exact dependency order:
`CandidateReview → EDL → QCReport → DeliveryManifest`.
Only verified, reviewed, explicitly adopted video may enter the EDL. Only
persisted physical verification receipts may turn QC checks into `pass`. Only
an exact completed delivery receipt may mark a deliverable included. Requested
duration, node status, preview URLs, or missing evidence must never become
proof. Confirming a document freezes that exact version only and causes no
generation, edit, delivery, Provider, Canvas, or file side effect.
## Use dedicated local media utilities
Use `media extract-frames --node <id> --count <1-20>`, `media remove-solid-background
--node <id>`, and `media resample-upscale --node <id> --scale <1.5|2|3|4>` instead
of generic hidden-node creation. Preview the `source → utility → output` patch;
separately approve apply and run. Solid-background removal means sampled-color
removal, not AI matting; Lanczos resampling changes pixels, not true detail.
In Canvas Creator Agent, explicit `@ 引用选区` is stronger than live selection; from Codex use the same session contract internally with `zcanvas ask/continue ... --node <id>,<id>`. Keep at most eight current-canvas nodes, send only available persisted project assets through `/api/project-assets/<id>/media`, and clear stale references for a new post-apply continuation unless explicitly selected again. Never ask the creator for IDs. A reference never deletes, mutates, runs, or adopts its source.