Repository navigation
feat: add native WorkSwarm plugin and release artifact - #327
zengchuang-hw wants to merge 6 commits into
Conversation
Share canonical runtime packaging with Codex and provide a native manual-install archive, lifecycle replay and compatibility guidance. Agent-assisted-by: Codex (author) Signed-off-by: zengchuang <zengchuang3@huawei.com>
Dong1017
left a comment
There was a problem hiding this comment.
P2: The model-facing skill_tool result does not expose the launcher directory described here.
The WorkSwarm v0.2.7 dependency pins agent-core 4fd009e. In that revision, skill_tool puts skill_directory in the structured ToolOutput.data, but sets data['content'] to the skill body and layout appendix; its own rendering note says the model receives that content rather than the other fields. The appendix's tree starts with the directory basename, not its absolute parent path. Thus, the instructed agent cannot rely on seeing the claimed absolute path in its normal tool result, so it may be unable to construct <launcher> from an external target workspace.
Please use a host-supported way for the agent to obtain the installed absolute path, and add a regression covering the model-rendered result through native skill discovery and launcher invocation, not just the structured Python result. check_workswarm_installed.py currently constructs installed / ... / inferrsi.py directly, so its passing lifecycle check does not exercise this handoff. This is a source-based finding; I did not run the desktop/LLM journey.
| ## Start and select a workflow | ||
|
|
||
| Resolve `scripts/inferrsi.py` relative to this installed skill's directory, not | ||
| the target project or a developer checkout. The host's |
There was a problem hiding this comment.
The pinned host exposes skill_directory as structured metadata, but renders the skill body/layout rather than that field to the model. Please provide a model-visible way to resolve the installed launcher and test the rendered host path.
There was a problem hiding this comment.
Addressed in f28cd29.
- The entry skill now calls the native read-only
inferrsi_runtime_infotool. It derives the launcher from its installed module's__file__and explicitly renders JSON containingsuccessandlauncher. It accepts no arguments, writes no files and executes no commands. - The new rendered-result probe loads the package in a real
DeepAgent, dispatchesskill_tooland the locator throughAbilityManager.execute, discards their structured results, and parses onlyToolMessage.content. The lifecycle check invokes that returned launcher from an external target cwd instead of constructinginstalled / .... - Verified on the pinned host: official quality/static/hot-load checks passed with one skill and one tool; both native install/uninstall cycles, model-visible handoff, argument rejection, extension unload and exact/stale reads passed. An independent replay also unpacked the same test ZIP at two different locations and invoked each correctly resolved launcher.
- All 95 Linux plugin/release regression cases passed. Current-head hosted checks are refreshing.
This verifies the model-facing bootstrap without claiming an actual desktop/LLM journey.
There was a problem hiding this comment.
The specific hidden-directory finding is addressed at f28cd29. I inspected the locator, native manifest, skill instructions and rendered-result/lifecycle probes. The locator derives the launcher from its installed module and renders the path as JSON; the probe dispatches both tools through AbilityManager.execute and consumes ToolMessage.content, and the lifecycle check invokes the returned launcher from the target workspace. This addresses the original reliance on hidden skill_directory metadata.
Current-head Ready CI passed. I did not independently rerun the host replay or desktop/LLM journey; the latter remains unverified. This clears only this review finding, not acceptance of the WorkSwarm slice or the three-host RFC. Issue #152's recorded scope/ownership still needs reconciliation with the PR's delegation statement.
Resolve the installed launcher through a native read-only tool and exercise skill discovery, model-rendered tool messages and CLI invocation from an external target workspace. Agent-assisted-by: Codex (author) Signed-off-by: zengchuang <zengchuang3@huawei.com>
Build versioned Codex and WorkSwarm bundles together, validate each native entrypoint and isolated runtime, and cover both archives in publication checks and installation docs. Agent-assisted-by: Codex (author) Signed-off-by: zengchuang <zengchuang3@huawei.com>
Retain optional release-note generation and its fallback tests alongside both host plugin archives. Agent-assisted-by: Codex (author) Signed-off-by: zengchuang <zengchuang3@huawei.com>
|
This PR adds a native openJiuwen WorkSwarm v0.2.7 plugin (manifest, entry skill, read-only launcher locator) and extends the existing release bot to build, validate, checksum and attach Reviewed commit: 363db01 |
|
This PR adds a native openJiuwen WorkSwarm v0.2.7 plugin ZIP and publishes it next to the Codex ZIP from the same release workflow, version and runtime; the delta since the last reviewed head (release-packaging commit 37b0e11 plus the main merge) is limited to the release step, host-aware Labels: kind:task (a bounded, explicitly delegated delivery slice of RFC #152 rather than a standalone feature or defect fix) F2 — medium, suggestion, authorization/scope — The openJiuwen slice and its automatic Release attachment are still not recorded as delegated in Issue #152
Reviewed commit: 363db01 |
|
This PR adds a native manual-install openJiuwen WorkSwarm v0.2.7 plugin (manifest, entry skill, read-only launcher locator) and extends the release bot to build, validate, checksum and attach F1 — high, must-fix, model-visible launcher handoff — Fixed
F2 — high, must-fix, scope/authorization — The WorkSwarm slice and its Release attachment are not recorded as delegated in Issue #152
Reviewed commit: 363db01 |
Keep canonical runtime bytes in a compact payload during native import. Verify and atomically cache the expanded runtime for isolated CLI calls and persistent resource links. Cover ordinary-path lifecycle replay, cache integrity and host-specific release validation. Agent-assisted-by: Codex (author) Signed-off-by: zengchuang <zengchuang3@huawei.com>
|
Review at head
|
|
Thanks for the review at
Sanitized current-head Windows run log |
|
@amy-why-3459 @Dong1017 PTAL |
|
Reviewed current head
This is technical review feedback, not a formal approval. |
Retain the shared host builders when integrating upstream dashboard support. Preserve dashboard HTML resources in both host archives and use the extended Windows staging root throughout release validation cleanup. Agent-assisted-by: Codex (implementer) Signed-off-by: zengchuang <zengchuang3@huawei.com>
amy-why-3459
left a comment
There was a problem hiding this comment.
LGTM
PR review verdict — PASS
Reviewed base e843b9d31cb86e1fd12d00890c89798b0bedd1fe and head ff4302557c43e25fa3642bf4cdba08b1b70d7779 (incremental since my previous review at b8a2cb54).
- My three earlier points at
b8a2cb54are addressed: the bounded delegation is recorded on #152, the compactruntime/payload.zipWindows-import change is explained, and the author's native WorkSwarm v0.2.7 probe log (two install/uninstall cycles) was posted for that head. - PR-specific delta in this push (merge with main +
ff43025):tools/plugin_bundle.py:108carries the dashboard HTML inclusion rule (data/dashboard/*.html) from #319 with the same condition that was inbuild_codex_plugin.py, consistent withpyproject.tomlpackage-data, so both host builders now ship it.tools/check_release.py:197-203now creates the staging directory under the extended-length temp root on Windows so extraction and cleanup use the same path; integrity checks are unchanged and the non-Windows path is identical to before. - All Ready checks are green at this head (
full-check3.10/3.11,installed-package3.10/3.11,kv-task-qualification,pr-references,declarations).
Not verified by me: the Windows-only branch of check_release.py (author-reported 30 passed on Windows), and a native WorkSwarm host replay of the new payload (no new receipt claimed for this integration). Desktop UI, LLM dispatch and cancellation/reconnect remain outside this review, as stated in the PR.
Governing Issue and delivery slice
Refs #152
Add a native InferRSI plugin for openJiuwen WorkSwarm v0.2.7, and attach
inferrsi-workswarm-plugin-vX.Y.Z.zipalongside the Codex plugin in automatic GitHub Releases.The desktop's native importer copies packages through a long staging path. The initial unpacked runtime failed there with Windows path-length/missing-file errors. WorkSwarm now carries the complete canonical runtime in a compact
runtime/payload.zip; the host imports only short outer paths. A stdlib bootstrap verifies the payload and uses an independently verified, content-addressed per-user runtime cache before running the unchanged shared launcher in the same process.The requester delegated the adapter, validation, PR/review fixes, Release attachment, and the subsequent desktop installation fix and local installation testing. Whole-Issue acceptance remains with the requester.
Changed artifacts and evidence
inferrsi/package root; compact outer paths, complete canonical runtime/resources retained inside the payloadinstalled=trueconfirmedinferrsi_runtime_inforeturns the installed bootstrap through its model-facing rendererToolMessage.contentreplay; no hiddenskill_directorydependency363db01rehearsalChecks and dependencies
Current head:
ff4302557c43e25fa3642bf4cdba08b1b70d7779; integrated main:e843b9d31cb86e1fd12d00890c89798b0bedd1fe.WinError 145, reproduced unchanged). After the repair, both host archive-installation cases plustests/test_release.pypassed 30 tests; targeted Ruff and whitespace checks passed. Both isolated dashboard-export cases passed in the preceding run; the cleanup-only change does not alter the builders or launcher. The full 85-case suite was not rerun after that repair.41893762944cfac807473aea56936074bb1d9d8c, exactly the committed tree, and found no remaining code blocker. No protected knowledge delta against the integrated main.b8a2cb543ceb6188197ca4acadc73493ae93450e; the native host probes were not rerun for the new integration artifact. No new desktop/LLM or campaign acceptance claim is made.Prior-head evidence (
b8a2cb543ceb6188197ca4acadc73493ae93450e)Tested against base
663f3b327998526a13aa31e72ad729025c18983c.src tests tools plugins/workswarm) and whitespace checks passed.1.2.3; no remote tag/Release or real AI API call was made. The Codex ZIP SHA-256 remains1d80fd9dc30a0c54c55695e746c2ff1d5eee0934af6cf078cffc9626478e2c09, identical to the pre-fix rehearsal.768f21b356edb8aef9d409e6b258a0fd9143566cb6d01727fb4b4cc4afe277dd, 953 canonical runtime files. This source preview reports runtime0+unknown; version-stamped release artifacts are checked separately.plugin_packages.import_local/install/show/listRPCs on the already-running desktop backend. The final ZIP was reinstalled after verifying ownership of the earlier test package; all installed package bytes match the final ZIP. Installed isolated CLI, Collect, exact revision Read, stale revision rejection and persistentskills reference/resourcepaths passed.317012b7456b5638be25ea98e4c27c446627273b2f2e145a7a1bddb711743f99) completed two import/install/uninstall cycles with an ordinary isolated data root, explicitly without an extended-length prefix. Native model-facing handoff, unload, reinstall, exact/stale reads and unrelated registry/evidence preservation passed. This is explicitly earlier artifact evidence; the final head adds cache guard/repair/IO refinements and has the final regression/default-profile checks above.Independent review
Codex subagent
/root/workswarm_reviewreviewed363db01bd136dfb64a813c784c516f671c184935→b8a2cb543ceb6188197ca4acadc73493ae93450e, confirmed its reviewed content matches the commit, and reported no unresolved findings. It independently passed 16 payload/cache tests, lint and whitespace checks, and verified compact-package resource/reference paths across separate processes without modifying the target cwd. Earlier independent review also covered the model-visible handoff and dual-host Release extension. This is agent review evidence, not maintainer approval or merge authorization.Knowledge authorship declaration
Not applicable: no protected knowledge paths are changed. Signed-off commits record material agent authorship.
Remaining work and Issue closure