Add Dynamic Workflow: visual review, execution, and script repair - #42
Merged
Merged
Conversation
Assisted-by: codex-cli reason:public-dynamic-workflow-submission
Install Pillow and CJK fonts for existing Python smoke tests, and add source, reproducibility and packaged checks for Dynamic Workflow. Document individually reviewed CodeQL false positives with regression evidence. Assisted-by: codex-cli reason:ci-failure-diagnosis
Correct stale version and tarball metadata masked by the local npm integrity cache. Verify installation with an empty cache and byte-identical rebuilt runtime assets. Assisted-by: codex-cli reason:public-registry-ci-repair
Preserve binary fingerprints and streamed UTF-8, bound tracked-file reads, recover old active runs, enforce exclusive SQLite ownership, isolate node schemas and reject false schemas. Ignore stale dashboard responses and resolve historical deep links directly. Assisted-by: codex-cli reason:pre-merge-workflow-review
Assisted-by: codex-cli reason:workflow-process-lifecycle-review
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes
Add Dynamic Workflow 0.8.0 at
plugins/hetaoBackend/mcode-dynamic-workflows: an English Skill, 11 local MCP tools, a bilingual visual dashboard, readable source, pinned development dependencies, and ready-to-run JavaScript/QuickJS WASM assets.Users review and edit a workflow's topology before starting agents. If execution fails because the script needs correction, Edit & repair creates a new review draft, preserves the original run, and selectively reuses valid completed results. Runtime argument/input/file/dependency checks invalidate stale candidates; rerunning an upstream invalidates downstream reuse. Reused results retain provenance without duplicating calls or token accounting.
This public package ships portable
plugin.json/mcp.jsonplus the.claude-plugin/plugin.jsondeclaration. It contains no automatic CLI installer or private endpoints. The Skill explains manual prerequisites instead. No other plugin is changed. The repository CI setup now installs the Python/image dependencies needed by existing tests, and a dedicated workflow validates this plugin from source and checks bundle reproducibility.Review fixes
Controlled browser tests cover reordered selection, stale error, polling and pause responses, plus historic links. New source regressions fail on the original implementation and pass after the fixes.
The cancellation probe originally reproduced a descendant continuing to write after its CLI root was terminated. The fix now passes controlled real-process tests for ordinary descendants, inherited pipes, SIGTERM resistance after parent exit, protocol failure and timeout. An unrelated sibling remains alive.
MCODE_CLEANUP_UNCONFIRMEDnow results inneeds_attention, preventing unconfirmed resume/repair. Explicitly detached daemons and remote jobs are outside local process ownership and are disallowed by the Skill.User value
Example prompt:
Expected result: a pending-review topology opens in the built-in browser when supported; the user can edit and click Start execution. Demo mode makes no model calls. A later prompt can diagnose an error and produce a reviewed repair while preserving valid completed work.
Features include pause/resume/cancel, configurable step/concurrency/timeout budgets, detailed failures and raw structured outputs, canonical project binding, persistent local history/ports, and HTML/Markdown reports.
Dependencies and data flow
Plugin submission checklist
plugins/<github-owner>/<plugin-name>.plugin.jsonname matches the Plugin directory.npm run checkpasses.Evidence
Head
08c928apassed every applicable check: shared Ubuntu CI, source/build/package reproducibility, real Windows process-lifecycle checks and CodeQL. Codesmith was skipped. No pending review comments or requested changes remained at the merge audit.CI evidence: shared CI, plugin Ubuntu and Windows, CodeQL.
npm run check: 27 hosted plugins validated; 490 tests, 470 passed / 20 skipped / 0 failed.The new clean-install gate also found stale lockfile metadata: three tarball URLs referred to versions absent from the public registry. The lockfile was regenerated from public metadata and verified with an empty npm cache. Rebuilding produces byte-identical runtime assets and licenses.
The original Ubuntu failure came from two existing
octopus-meme-makerargument-validation tests importing missing Pillow. CI now installs pinned Pillow and a CJK font without skipping those checks.The 13 CodeQL findings were reviewed by exact alert ID: Marked tokenizer patterns were mistaken for HTML sanitizers, unexpanded
bracketsregex templates were mistaken for executed regexes, and Node-only Zod function generation was mistaken for an HTML script context.SECURITY_REVIEW.mdrecords the reasoning and three regression checks exercise those boundaries. CodeQL queries and scanned paths are unchanged; the reviewed findings are classified individually as false positives.One subsequent shared Ubuntu run failed in the unchanged
cli-agent-bridgetestpull makes commit attribution explicitly unavailable: the backend exited 0, but process-tree termination could not be confirmed after SIGKILL (run 35246305401, attempt 1). The preceding Ubuntu run and a focused macOS invocation passed this same test; the local result does not verify Linux process cleanup. The single rerun passed: attempt 2. No bridge code or assertion was weakened, and this successful rerun does not establish that its intermittent process-cleanup issue is fixed.A later shared CI failure at head
ef71f16came from the unchanged bridge testdirect tag writes do not hide worker-created commits, with the same unconfirmed-tree-termination diagnostic (run 35250215524). No other plugin was modified or its gate skipped.No paid model calls, user research reruns, or new real Desktop plugin-loader acceptance test were performed. Details and limitations are in the plugin's
VERIFICATION.md.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.