test: make 14-git-collab worker/project setup deterministic#1007
Open
RerankerGuo wants to merge 2 commits into
Open
test: make 14-git-collab worker/project setup deterministic#1007RerankerGuo wants to merge 2 commits into
RerankerGuo wants to merge 2 commits into
Conversation
Pre-create the 3 workers (alice, bob, charlie) via hiclaw apply worker and the shared project via create-project.sh + immediate meta.json activation + MinIO sync, before sending the 4-phase task to Manager. Manager now focuses on phase coordination only — the worker + project setup steps that previously stalled on Manager's tool-guard approval prompt (jq | mv | cat on meta.json) are now in the test runner and never enter the LLM control loop. Mirrors the fix in agentscope-ai#985 for test-06-multi-worker.sh (bob creation flake). Both fixes isolate LLM-driven coordination from infrastructure setup so the test measures coordination quality, not LLM timing. Fixes the SHARD_B copaw/hermes test-14 failure seen on agentscope-ai#984 (run 28926397804, job 85816940745), where Manager hung for 30 minutes on a tool-guard approval prompt while trying to update meta.json status. Refs: agentscope-ai#984
Contributor
📊 CI Metrics ReportSummary
By Role
Per-Test Breakdown
Trends✅ 2 test(s) improved (fewer LLM calls) Generated by HiClaw CI on 2026-07-09 06:34:28 UTC |
v1 over-prescribed by pre-creating the project room and instructing Manager not to call create-project.sh. That broke Manager's natural workflow — it lost its entry point for the rest of the coordination and ended up writing ad-hoc Matrix HTTP scripts (run 28948704338). copaw/hermes made Manager do 136 LLM calls + alice 54 calls + bob/charlie 0 (phases 2-4 never started). v2 only pre-creates the 3 workers (the actual flake source on SHARD_A). Manager still walks through create-project.sh + YOLO Step 1d (meta.json active transition) + 4-phase coordination as the workflow intends — this test measures that flow, not LLM timing on worker creation. Refs: agentscope-ai#984
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.
Mirrors the test-06 deterministic-bob-setup pattern from #985 for
tests/test-14-git-collab.sh. Addresses the SHARD_B copaw/hermes failure observed on #984 (run 28926397804, job 85816940745).Root cause
In the test-14 failure on #984, Manager successfully created the three workers (alice, bob, charlie) and the project room, then hung for 30 minutes on a tool-guard approval prompt while trying to update
meta.jsonstatus fromplanningtoactive(thejq | mv | catpipeline in YOLO-mode Step 1d.1 of the project-management skill). The test timeout (1800s) then expired waiting for the completion message that never came.Fix
Pre-create the workers + project room in the test runner before sending the task to Manager:
hiclaw apply worker --name alice|bob|charlie ...(same CLI Manager would call).wait_for_worker_containerper worker to confirm provisioning. No LLM in the loop.create-project.sh --id proj-collab-test-${TEST_RUN_ID} --workers alice,bob,charlie. Same script Manager would call, so the Matrix room + directory tree + admin/worker invites + ManagergroupAllowFromupdate all happen deterministically.status=activeandconfirmed_at=now, then sync to MinIO viamc mirror. This makes Manager's YOLO-mode Step 1d.1 a no-op — no tool-guard prompt is ever raised.create-project.sh, DO NOT update meta.json" preamble, followed by the unchanged 4-phase coordination logic.What still gets tested
The test still exercises Manager's full 4-phase coordination logic in isolation — the phase assignment table, the sequential waiting for phase reports, the exact branch-name / file-path / report-name invariants are all unchanged. What changed is that the test runner owns the setup steps (worker creation, project room creation, meta.json activation) so Manager's tool-guard control loop is no longer in the test critical path.
Files
tests/test-14-git-collab.sh— pre-create setup + simplified task description + extended cleanup (+57 / -12 lines)changelog/current.md— entry under Bug FixesCompanion PRs
test-06-multi-worker.sh. Awaiting merge.Refs: #984