Repository navigation
feat: add native WorkSwarm plugin and release artifact - #327
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.
|
@Dong1017 plz see if u can approve this PR |
Dong1017
left a comment
There was a problem hiding this comment.
LGTM
Conclusion / head
Technical review verdict: PASS, with no blocking finding in the integration delta since my previous review. Reviewed base e843b9d31cb86e1fd12d00890c89798b0bedd1fe and head ff4302557c43e25fa3642bf4cdba08b1b70d7779. This is a non-voting COMMENT, not a formal approval.
Resolved
- The shared builder's dashboard-HTML rule exactly preserves the upstream inclusion condition for both hosts. The parameterized isolated-dashboard test exercises both distributions.
- Release validation now creates its temporary directory under the extended Windows root, so extraction, runtime-cache creation and cleanup share that path. The preceding integrity checks are unchanged.
- The earlier launcher finding remains addressed; the bounded delegation is recorded.
Nonblocking
The PR's top evidence matrix still calls the release rehearsal “current-head” and describes the Codex archive as byte-identical to the earlier rehearsal. Label those results explicitly as prior-head b8a2cb54, consistent with the evidence boundary below.
Verification / limits
Rechecked all review opinions and current-head Ready checks: all six Ready jobs and declarations passed. This pass was source/CI review, with no new local test execution. The Windows cleanup result is author-reported; native-host receipts remain for the prior artifact. Desktop UI, LLM dispatch, cancellation/reconnect and whole-#152 acceptance remain outside this bounded review.
|
Thanks for the integration re-check. Updated the top evidence matrix to label its receipts explicitly as prior-head |
Dong1017
left a comment
There was a problem hiding this comment.
LGTM
Conclusion / head
PR review verdict: PASS. Approving base e843b9d31cb86e1fd12d00890c89798b0bedd1fe / head ff4302557c43e25fa3642bf4cdba08b1b70d7779, unchanged from my technical re-review. Submitted as Dong1017 under the account owner's explicit authorization to approve this PR at this head.
Resolved
The launcher finding and integration changes remain addressed. Verified that the PR description now labels the release rehearsal and Codex byte-identity comparison as prior-head evidence, resolving the nonblocking documentation comment.
Verification / limits
Rechecked that the PR is open and unmerged, with no new blocking review. All six Ready jobs and current-head declarations pass. This approval relies on the recorded source review and CI; no new local test run is claimed. Windows cleanup results are author-reported, and native-host receipts cover the earlier artifact. Desktop UI, LLM dispatch, cancellation/reconnect and whole-#152 acceptance remain outside this review.
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
The verification column below records prior-head
b8a2cb543ceb6188197ca4acadc73493ae93450ereceipts. Current-headff430255integration checks and their limits are listed separately under Checks and dependencies.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_directorydependencyb8a2cb54build/checksum blocks replayed; wheel, sdist and both ZIPs generated and verifiedb8a2cb54both-host regressions; that head's synthetic-version Codex archive is byte-identical to the earlier363db01rehearsalChecks 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