Repository navigation
Conversation
Real-recording delivery demo videos: edge-tts narration, word-synced subtitles, self-contained ffmpeg pipeline and a deterministic delivery-v1 quality gate (preflight/render/verify scripts).
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
Require edge-tts >=7.3.1, preserve punctuation in subtitle clocks, treat low bitrate density as a visual-review warning, and exclude Python bytecode from the npm package.
Require edge-tts >=7.3.1, preserve punctuation in subtitle clocks, treat low bitrate density as a visual-review warning, and exclude Python bytecode from the npm package.
Require edge-tts >=7.3.1, preserve punctuation in subtitle clocks, treat low bitrate density as a visual-review warning, and exclude Python bytecode from the npm package.
Register the DSH skill at runtime so the installed plugin wins over an older user-level copy, keep M111 informational, enforce the critic only on request, and preserve the edge-tts/subtitle/package fixes.
Register the DSH skill at runtime so the installed plugin wins over an older user-level copy, keep M111 informational, enforce the critic only on request, and preserve the edge-tts/subtitle/package fixes.
Register the DSH skill at runtime so the installed plugin wins over an older user-level copy, keep M111 informational, enforce the critic only on request, and preserve the edge-tts/subtitle/package fixes.
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
Register the DSH skill in both host and Agent scopes so preset-local filesystem copies cannot shadow the installed plugin. Keep M111 informational, enforce the critic only on request, and preserve the edge-tts, subtitle and packaging fixes.
|
The current verification notes mainly cover DeepSeek Harness. Could you also document testing in ZCode? Has the full flow been tested successfully in ZCode: plugin installation → Skill invocation → recording → video generation and verification? Please include the ZCode version, operating system, and results for each step, and explicitly note any steps that have not yet been verified. |
Fail cleanly when ffmpeg or ffprobe is missing, keep JSON and subtitle I/O UTF-8 on every OS, detect CJK fonts before rendering, and document Windows py -3 plus Linux font setup. Preserve agent-scoped skill loading, the informational M111 notice, and the explicit critic gate.
|
Added the requested ZCode acceptance matrix to the PR body. The tested environment was ZCode CLI 0.17.1 on macOS 27.0.1 (26A434, arm64), Node v24.15.0, Python 3.14.4 and FFmpeg 8.1.1.
The full recording → render → verify chain ran in one ZCode Agent session. Not verified in ZCode: installation/update from the public marketplace index, Windows/Linux, an independent One ZCode-specific usability note is documented: when |
ZCode acceptance v2: full lifecycle, failure paths, and sample rendersTested on 2026-11-02 with ZCode CLI 0.17.1 on macOS 27.0.1 (26A434, arm64), Node v24.15.0, Python 3.14.4 and FFmpeg 8.1.1, plus one Linux run inside Install lifecycle
Skill selection
Recording → render → verify (real ZCode Agent session)One headless ZCode session ran the installed plugin end to end in
Failure paths
Linux hostThe same episode was rendered inside
Sample renders for reviewBoth files come from the same three-segment episode and were gated at score 100:
These are attached as a pre-release on my fork purely as review evidence, not as a plugin release. Both URLs were re-downloaded and hashed after upload; the hashes above match the rendered files. ZCode CLI observations (not plugin defects)
Still not verified in ZCodeInstall or update from the public marketplace index (this round used local development marketplaces only), Windows, the desktop GUI flow (all runs above used the CLI headless runner), an independent |
Session IDs behind the matrix aboveZCode persists every CLI run as a session. These are the exact session IDs behind the acceptance table, recorded on 2026-11-02 (times Asia/Shanghai) in
Prior round (the earlier single-session evidence, recorded 18:08 in Full index with the same table: zcode-session-index.md. To inspect locally, ZCode stores sessions in Two caveats: session IDs are local to the machine that ran the test ( |
|
@jacksonliuyn the ZCode verification you asked for is in the two comments above; linking them here so they are easy to find:
Short version: yes, the full chain passes in ZCode CLI 0.17.1 on macOS 27.0.1 (26A434, arm64) — plugin installation → Skill invocation → recording → video generation → verification, plus a Linux container run. Install/update/disable/enable/uninstall and the failure paths (missing ffmpeg, tampered artifact, Not verified: install/update from the public marketplace index, Windows, the desktop GUI flow, an independent No code changes were needed; the head is still |
Recommend listing acceptance cases before recording, running one real run per case, adding a background opening, and assembling segments in execution order with a result shot per case. Keep project artifacts in the target project so the plugin package stays self-contained. Add a case-list example. Guidance only; no schema or gate enforcement.
Case-driven delivery demo (1.0.6 guidance, real run)1.0.6 adds optional case-driven recording guidance: when a video covers two or more acceptance cases, write the case list first, record one real run per case, and give each case its own result segment. It is guidance only — no new gate. We exercised this flow on a real local project (an after-sales ticket handover desk, iterated v1 → v2: bulk assignment, closed-ticket guard, audit log) and recorded two acceptance cases with the installed plugin:
Both renders passed the built-in delivery gate at score 100 and Videos and the case list (prerelease release assets, not committed to git):
Both SHA256 values were re-verified against the downloaded release assets. Demo data is synthetic; no independent visual critic was run for these two renders. |
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
Align the install notes in README, package.json and .gitignore with the repo. No behavior change.
a7307ec to
37ee64c
Compare
|
✅ Internal validation passed. A ZCode maintainer will review the change next; after acceptance, release checks run separately and this PR is closed automatically. |
Sync the full plugin payload with the 1.1.1 source: feedback episodes with severity/phase badges, a repro panel, feedback.json and a generated markdown report bound to the artifact SHA256.
1.1.1 feedback report videos — ZCode verification (2026-11-04)Updated this PR in place to 1.1.1: full payload re-sync, Environment: ZCode CLI 0.17.1, macOS arm64, Python 3.14.4, FFmpeg 8.1.1. Installed with
In both sessions the agent resolved the scripts from the installed cache Feedback artifacts: Repo-side gates for the same commit: Not covered: uploading/publishing to a customer channel (none was performed), external |
Plugin type / 插件类型(必填)
Affected plugin name(s) / 涉及的插件名称:delivery-video
Latest / 最新版本 — 1.1.1 反馈报告视频(2026-11-04)
This PR now ships delivery-video 1.1.1. The branch payload was re-synced in full (20 files under
external_plugins/delivery-video), andmarketplace.jsonfollows.zcode-plugin/plugin.jsonverbatim (version,description,description_i18n).New in 1.1.1:
intent: "feedback"episodes turn a real defect recording into a traceable report video: aP1 CRITICALstyle severity chip plusREPRO/ACTUALphase chips, a repro-steps panel on the repro segment, and a result state that is the defect still reproducing.render.pyemitsfeedback.jsonand afeedback.generated.mddraft (severity, environment, expected/actual, ordered repro steps, segment timeline, "not verified" list); both bind the artifact SHA256.examples/feedback-episode.example.json. Delivery episodes are unchanged and keep the same quality-gate rules and thresholds.Verification matrix (1.1.1)
Environment: ZCode CLI 0.17.1, macOS arm64, Python 3.14.4, FFmpeg 8.1.1, plugin installed from the local
dev-oss-projectsmarketplace into~/.zcode/cli/plugins/cache/dev-oss-projects/delivery-video/1.1.1.npm testtools/marketplace_check.pyOK zcode=8 codex=5 plugins=8tools/plugin_acceptance.py delivery-video-plugindelivery-video@1.1.1tools/public_release_gate.py repobd5ff7da59d2070144e43051601e9353afb4ae500c2b673bec302dbed58f55b9Real ZCode agent run 1 — feedback episode
Session
sess_093bf999-816a-452d-9a8b-a4ad5d7e259a, cwddelivery-video-plugin. The agent loaded the installed skill and ran the scripts from the cache path.../delivery-video/1.1.1/skills/delivery-video/scripts/, not the repo copy:preflight.py build/screen_demo-zcode-111PREFLIGHT=PASS, 1 expected warning (no cached TTS before first synthesis)render.py render build/screen_demo-zcode-111COMPLETE, 13.500s,gate=pass, score 100verify_delivery.py build/screen_demo-zcode-111DELIVERY=PASS, score 100screen_demo.mp4: 1920x1080 / 30fps / h264 + AAC, SHA2561c09efecbcb5758a1fab876176b7c4cb0eeab1a2849271c45a14d382928185a6, equal toquality_gate/report.json.video_sha256.feedback.json(issueZCODE-VERIFY-1, severitycritical) andfeedback.generated.md.P1 CRITICAL+REPROchips with the repro panel on segment 1;P1 CRITICAL+ACTUALchip on segment 2.Real ZCode agent run 2 — delivery regression
Session
sess_56fa275f-98f3-402f-a9e6-19690b6fc9d2, same installed cache:preflightPASS →rendergate=pass, score 100, 12.600s →verifyDELIVERY=PASS. Artifact SHA256375f1bd830db2fca55d09d35c72a39bebbebdc4bf20799c0038bd5abcdb7a005, matching the gate report. Confirms 1.1.1 did not disturb the delivery path.Both runs used synthetic 1920x1080 test fixtures (color bars) to exercise the pipeline, not a business UI; they prove the render/gate/verify chain, not product behaviour.
Not verified in this round
visual-critic.jsonreview (--require-critic), which remains a separate gate.What / 改动内容
The plugin turns a feature that actually runs into a trustworthy delivery demo video, or a defect into a traceable feedback video: real recordings only, narrated subtitles, a fail-loud preflight, and a deterministic quality gate bound to the artifact SHA256.
Release history included in this branch — version 1.0.6 adds case-driven recording guidance (recommended, not a gate):
examples/cases.example.md). The list lives in the target project, not in the plugin.F-01-entry.mp4…); reset test data between cases instead of inheriting the previous case's state, and never splice half of one run with another.caseid of the run they came from (shown as the on-screen chip), and case order follows execution order.Two acceptance-case demos recorded with this flow on a real local project are linked in the comments.
Version 1.0.5 hardens the installed plugin for users on different machines:
ffmpegorffprobeis absent, preflight, verification and the attachment gate now return actionableFAILmessages instead of a Python traceback. Preflight stops before probing recordings when the tools are unavailable.WINDIR) and fails before rendering with an install hint. README and skill prerequisites documentpy -3on Windows andfonts-noto-cjkon minimal Linux hosts."skills": "skills"form. The previous array form was accepted but producedskillRootCount: 2in ZCode 0.17.1 instead of the expected1.~/.agents/skills/delivery-videoand the installed plugin skill as separate entries./skill delivery-videoselects the old user copy, so the README tells users to selectdelivery-video:delivery-videoor use the qualified command.displayNameand Chinese localized display metadata, so the plugin is not presented as a bare slug.Version 1.0.4 fixes issues found while testing the installed plugin in a real DeepSeek Harness session:
~/.agents/skillscopy from winning without deleting the user's local files.edge-tts>=7.3.1; 7.2.8 and older can receive HTTP 403. Preflight now checks ffmpeg/ffprobe, Pillow and edge-tts before touching the recording, with an actionable upgrade command.M111low bitrate density is now an informational notice, not a warning or hard failure. Sparse 1080p forms can compress below 1000 kbps while remaining perfectly legible; hard failures still cover spec, audio, loudness, black frames and freeze frames.E401is no longer emitted as a default warning. An independent visual review is enforced only whenverify_delivery.py --require-criticis requested for an external delivery.__pycache__and bytecode.Pipeline:
preflight.pyvalidates structure, intervals, crops, browser-recording evidence, TTS cache contracts and narration red lines.render.pysynthesizes narration, applies the 0.3x–3x speed clamp, draws labels and word-synced subtitles, concatenates, loudness-normalizes to -14 LUFS, and runs thedelivery-v1quality gate. Itsgatesubcommand works on any mp4.verify_delivery.pychecks decode integrity, output spec, per-shot evidence and SHA256-bound quality reports.package.json+cordis.patch.yml+index.js).Verification — 1.0.6 and earlier / 历史版本验证
npm test: 6 Python alignment/dependency/font tests plus 3 Node tests (2 DSH loading/cleanup, 1 ZCode manifest) passed.8d3defeab043e5beae1cf5cc0c01986fb686140f7ebbfc4d59893787e85e381f.FAILmessages for preflight, verification and gate; a minimal Linux Python image also reported missing ffmpeg/ffprobe, edge-tts, Pillow and CJK font without crashes./Users/black-wood/.dsh/profiles/desktop/node_modules/delivery-video/skills/delivery-video/scripts/verify_delivery.pyis present and readable through that installed path~/.agents/skills/delivery-videocopy no longer winspreflight: PASSrender: PASS, score 100, zero warningsverify_delivery: PASS, zero warnings--require-critic: fails as designed whenvisual-critic.jsonis absentnpm pack --dry-run: 13 expected source/doc files, no__pycache__, no.pyc.ZCode acceptance (requested by review)
Tested on ZCode CLI 0.17.1, macOS 27.0.1 (26A434, arm64), Node v24.15.0, Python 3.14.4, FFmpeg 8.1.1, on 2026-11-02; the same episode was also rendered inside a Linux container (
python:3.11-slimwith Debianffmpegandfonts-noto-cjk).delivery-video@dev-delivery-video-local1.0.5 from a local development marketplace;skillCount=1,skillRootCount=1,diagnostics=[].delivery-video:delivery-video; resolved to the installed cache path.../delivery-video/1.0.5/skills/delivery-video/SKILL.md.03ff3042c12febdebb25f42a76296477a425eac995f450fa2affb5abb73393a5.render.py render; 11.800s, 1920x1080, 30fps, h264 + AAC, SHA256eecf8d6d599a46a03352177b4cf92e1ce7324a0eee33b86fddc099916544f516.verify_delivery.py:DELIVERY=PASS, score 100, 0 hard failures, 0 warnings, 3 shots;M111remains an informational notice at 601 kbps.The full recording → render → verify chain ran in one ZCode Agent session using the installed plugin path. The unqualified
/skill delivery-videoselects the older~/.agentscopy when both exist, so the README documentsdelivery-video:delivery-videoand the qualified command.Not verified in ZCode: installation/update from the public marketplace index (the test used a local development marketplace), Windows hosts, the desktop GUI flow, independent
visual-critic.jsonreview,delivery.mdgeneration, and upload/publish. The ZCode CLI headless runner on this app bundle needed a local built-in-provider path shim; it is an environment/launcher issue, not plugin code. No user video was uploaded or published; the two review-only sample renders are linked in the comment below.Additional ZCode lifecycle coverage (install/update/disable/uninstall, failure paths, macOS and Linux renders with downloadable samples) is documented in the follow-up comment.
Self-check / 自查清单
external_plugins/delivery-video/developer-tools1.1.1inplugin.json,package.json, andmarketplace.jsondescription_i18n.enis identical between plugin manifest and marketplace entry