zob-harness 0.8.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.pi/capabilities/zob-public-runtime-capabilities.json +43 -1
- package/.pi/extensions/zob-harness/src/core/constants.ts +5 -4
- package/.pi/extensions/zob-harness/src/runtime/commands.ts +865 -55
- package/.pi/extensions/zob-harness/src/runtime/events.ts +29 -2
- package/.pi/extensions/zob-harness/src/runtime/schemas.ts +37 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-zagent.ts +975 -0
- package/.pi/extensions/zob-harness/src/runtime/zobHarness.ts +3 -0
- package/.pi/skills/zob-zagent-creator/SKILL.md +47 -8
- package/.pi/zagents/harness-chief.json +2 -2
- package/.pi/zagents/harness-interlocutor.json +61 -0
- package/.pi/zagents/hot-add-readonly-test-scout.json +102 -0
- package/.pi/zagents/prompts/harness-architect.md +31 -1
- package/.pi/zagents/prompts/harness-chief.md +36 -10
- package/.pi/zagents/prompts/harness-coms-steward.md +33 -3
- package/.pi/zagents/prompts/harness-factory-engineer.md +33 -3
- package/.pi/zagents/prompts/harness-implementer.md +33 -2
- package/.pi/zagents/prompts/harness-interlocutor.md +92 -0
- package/.pi/zagents/prompts/harness-oracle.md +31 -2
- package/.pi/zagents/prompts/hot-add-readonly-test-scout.md +51 -0
- package/.pi/zteams/agent-factory-pacman-multiplayer.tmux.sh +27 -0
- package/.pi/zteams/zob-harness-devs.json +177 -25
- package/.pi/zteams/zob-harness-devs.modes.json +10 -1
- package/.pi/zteams/zob-harness-devs.tmux.sh +32 -1
- package/package.json +5 -1
- package/scripts/zagent-static-smoke.mjs +74 -12
- package/scripts/zteam-hot-add/smoke.mjs +77 -0
- package/scripts/zteam-tools/smoke.mjs +180 -0
|
@@ -1404,6 +1404,48 @@
|
|
|
1404
1404
|
],
|
|
1405
1405
|
"noShipNotes": "Factory-mode only; requires manifest/checkpoint/sentinel validation."
|
|
1406
1406
|
},
|
|
1407
|
+
{
|
|
1408
|
+
"name": "zob_zteam_hot_add",
|
|
1409
|
+
"family": "zteam/zagent",
|
|
1410
|
+
"modes": [
|
|
1411
|
+
"plan",
|
|
1412
|
+
"implement",
|
|
1413
|
+
"orchestrator",
|
|
1414
|
+
"factory"
|
|
1415
|
+
],
|
|
1416
|
+
"skillRefs": [
|
|
1417
|
+
".pi/skills/zob-zagent-creator/SKILL.md",
|
|
1418
|
+
".pi/skills/zob-coms-v2-live/SKILL.md",
|
|
1419
|
+
".pi/skills/zob-harness/SKILL.md"
|
|
1420
|
+
],
|
|
1421
|
+
"docRefs": [
|
|
1422
|
+
".pi/extensions/zob-harness/src/runtime/tools-zagent.ts",
|
|
1423
|
+
".pi/extensions/zob-harness/src/runtime/schemas.ts",
|
|
1424
|
+
".pi/extensions/zob-harness/src/domains/coms/zagents.ts"
|
|
1425
|
+
],
|
|
1426
|
+
"noShipNotes": "Agent-executable governed ZTeam/ZAgent hot-add. Defaults to plan-only/no-spawn with action=plan and spawnCount=0; action=apply still writes only promptRef/prompt, ZAgent manifest, and ZTeam membership after exact apply_confirmation=<team_id> and never launches. action=launch is explicit and requires exact launch_confirmation_phrase: LAUNCH ZTEAM <team_id> ZAGENT <zagent_id> IN TMUX <session_name>; it requires existing ZTeam/ZAgent manifests, existing membership, existing tmux session, absent target window, safe ids/window/session, and bounded cwd. Launch creates only one scoped tmux new-window in the existing session and send-keys a single ZOB_ZTEAM_ID/ZOB_ZAGENT_ID pi command for the target ZAgent; it never creates sessions, kills/closes/reloads windows, or touches unrelated agents. It polls local ZPeer lease/registry presence with bounded timeout and returns liveProofBlocked unless presence is online. Durable ledgers remain local-only/hash-only/body-free; raw request, generated prompt body, launch command, output, and diffs are not persisted."
|
|
1427
|
+
},
|
|
1428
|
+
{
|
|
1429
|
+
"name": "zob_zteam_remove",
|
|
1430
|
+
"family": "zteam/zagent",
|
|
1431
|
+
"modes": [
|
|
1432
|
+
"plan",
|
|
1433
|
+
"implement",
|
|
1434
|
+
"orchestrator",
|
|
1435
|
+
"factory"
|
|
1436
|
+
],
|
|
1437
|
+
"skillRefs": [
|
|
1438
|
+
".pi/skills/zob-zagent-creator/SKILL.md",
|
|
1439
|
+
".pi/skills/zob-coms-v2-live/SKILL.md",
|
|
1440
|
+
".pi/skills/zob-harness/SKILL.md"
|
|
1441
|
+
],
|
|
1442
|
+
"docRefs": [
|
|
1443
|
+
".pi/extensions/zob-harness/src/runtime/tools-zagent.ts",
|
|
1444
|
+
".pi/extensions/zob-harness/src/runtime/schemas.ts",
|
|
1445
|
+
".pi/extensions/zob-harness/src/domains/coms/zagents.ts"
|
|
1446
|
+
],
|
|
1447
|
+
"noShipNotes": "Agent-executable governed ZTeam/ZAgent remove/delete/close planner. Defaults to plan-only/no-spawn with action=plan, spawnCount=0, closeCount=0, and bodyStored=false/promptBodiesStored=false/outputBodiesStored=false in durable records. action=apply preserves existing file-delete semantics and requires exact confirmation phrase: REMOVE ZTEAM <team_id> ZAGENT <zagent_id> SCOPE <membership|manifest|prompt|manifest_and_prompt>. action=close_tmux is explicit and requires exact close_confirmation_phrase: CLOSE ZTEAM <team_id> ZAGENT <zagent_id> TMUX WINDOW <session_name>; it validates safe team/agent/session/window ids, bounded cwd paths, existing tmux session, and existing target window. It sends only scoped tmux send-keys C-u /quit C-m to the selected window, waits bounded for local ZPeer presence offline/none and/or target window disappearance, and if force_close_window=true may use targeted tmux kill-window only for that selected window. It never creates sessions, kills sessions, uses broad process termination, reloads, closes all, or touches unrelated windows/agents. Durable ledgers remain local-only/hash-only/body-free; raw tmux commands, raw output, diffs, prompts, and secrets are not persisted."
|
|
1448
|
+
},
|
|
1407
1449
|
{
|
|
1408
1450
|
"name": "zob_zcommit_run",
|
|
1409
1451
|
"family": "git/commit",
|
|
@@ -1626,7 +1668,7 @@
|
|
|
1626
1668
|
"AGENTS.md",
|
|
1627
1669
|
".pi/skills/zob-zagent-creator/SKILL.md"
|
|
1628
1670
|
],
|
|
1629
|
-
"noShipNotes": "Project-local ZTeam bundle UX for .pi/zteams/ only. ZTeam members are full-session Pi/ZPeer identities tied to live coordination, not delegate subagents; launch-plan
|
|
1671
|
+
"noShipNotes": "Project-local ZTeam bundle UX for .pi/zteams/ only. ZTeam members are full-session Pi/ZPeer identities tied to live coordination, not delegate subagents; launch-plan and hot-add default to plan/metadata only and must not spawn processes. Hot-add supports explicit team ids or current-context inference from ZOB_ZTEAM_ID, active ZAgent, ZPeer team/active room, or repo conventions. Hot-add apply requires --apply --confirm <team-id>; optional tmux-window launch planning requires --tmux-window --launch-confirm <team-id>; raw natural-language ask is hashed only in durable records; generated ZAgents include promptRef/prompt, explicit tools/paths/gates; live presence checks use local lease/registry evidence and tmux windows are not presence proof; persisted command metadata must remain hash/body-free. Reset sends Pi /new and reload sends Pi /reload to existing scoped tmux agent windows without close/start; quit calls only the scoped launcher close for the current or explicit team."
|
|
1630
1672
|
},
|
|
1631
1673
|
{
|
|
1632
1674
|
"name": "rules_status",
|
|
@@ -53,6 +53,7 @@ export const ZOB_WORKSPACE_CLAIM_TOOLS = ["zob_workspace_claim", "zob_workspace_
|
|
|
53
53
|
export const ZOB_WORKER_POOL_TOOLS = ["zob_worker_pool_plan", "zob_worker_pool_status", "zob_worker_pool_owner_request", "zob_worker_pool_owner_decision"] as const;
|
|
54
54
|
export const ZOB_MERGE_QUEUE_TOOLS = ["zob_merge_candidate_submit", "zob_merge_queue_decide", "zob_merge_queue_list"] as const;
|
|
55
55
|
export const ZOB_ZCOMMIT_TOOLS = ["zob_zcommit_run"] as const;
|
|
56
|
+
export const ZOB_ZAGENT_TOOLS = ["zob_zteam_hot_add", "zob_zteam_remove"] as const;
|
|
56
57
|
export const ZOB_DELEGATION_READ_TOOLS = ["zob_delegation_catalog", "get_delegation_run", "await_delegation_run"] as const;
|
|
57
58
|
export const ZOB_MISSION_CONTROL_READ_TOOLS = ["zob_coms_readiness", "zob_mission_control_snapshot"] as const;
|
|
58
59
|
export const ZOB_MISSION_CONTROL_PROPOSAL_TOOLS = ["zob_mission_control_propose_command"] as const;
|
|
@@ -68,11 +69,11 @@ export const ZOB_AUTONOMOUS_FACTORY_TOOLS = ["zob_autonomous_dry_run", "zob_auto
|
|
|
68
69
|
|
|
69
70
|
export const MODE_TOOLS: Record<ModeName, string[]> = {
|
|
70
71
|
explore: ["read", "grep", "find", "ls", "bash", "delegate_agent", "delegate_task", "zob_coms_list", "zob_coms_get", "zob_coms_await", "zpeer_ask", "zob_goal_room_list", "zob_workspace_claims_list", "zob_worker_pool_status", "zob_merge_queue_list", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_AUTONOMOUS_READ_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS],
|
|
71
|
-
plan: ["read", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
72
|
-
implement: ["read", "bash", "edit", "write", "grep", "find", "ls", "delegate_agent", "delegate_task", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
72
|
+
plan: ["read", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_ZAGENT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
73
|
+
implement: ["read", "bash", "edit", "write", "grep", "find", "ls", "delegate_agent", "delegate_task", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_ZAGENT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
73
74
|
oracle: ["read", "grep", "find", "ls", "bash", "delegate_agent", "delegate_task", "zob_coms_list", "zob_coms_get", "zob_coms_await", "zpeer_ask", "zob_goal_room_list", "zob_workspace_claims_list", "zob_worker_pool_status", "zob_merge_queue_list", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_AUTONOMOUS_READ_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS],
|
|
74
|
-
orchestrator: ["read", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS],
|
|
75
|
-
factory: ["read", "bash", "edit", "write", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "factory_run", "factory_quarantine_review", "factory_quarantine_activate", "factory_quarantine_verify_activation", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_AUTONOMOUS_READ_TOOLS, ...ZOB_AUTONOMOUS_FACTORY_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
75
|
+
orchestrator: ["read", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_ZAGENT_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS],
|
|
76
|
+
factory: ["read", "bash", "edit", "write", "grep", "find", "ls", "delegate_agent", "delegate_task", "orchestrate_run", "factory_run", "factory_quarantine_review", "factory_quarantine_activate", "factory_quarantine_verify_activation", "chain_run", ...ZOB_RUNTIME_GOAL_TOOLS, ...ZOB_DELEGATION_READ_TOOLS, ...ZOB_ZCOMMIT_TOOLS, ...ZOB_ZAGENT_TOOLS, ...ZOB_AUTONOMOUS_READ_TOOLS, ...ZOB_AUTONOMOUS_FACTORY_TOOLS, ...ZOB_COMS_TOOLS, ...ZOB_GOAL_ROOM_TOOLS, ...ZOB_GOVERNED_REQUEST_TOOLS, ...ZOB_WORKSPACE_CLAIM_TOOLS, ...ZOB_WORKER_POOL_TOOLS, ...ZOB_MERGE_QUEUE_TOOLS, ...ZOB_MISSION_CONTROL_READ_TOOLS, ...ZOB_MISSION_CONTROL_PROPOSAL_TOOLS, ...ZOB_CONTEXT_READ_TOOLS, ...ZOB_CONTEXT_PROPOSAL_TOOLS, ...ZOB_COMPUTE_READ_TOOLS, ...ZOB_COMPUTE_REPORT_TOOLS, ...ZOB_PROJECT_DNA_READ_TOOLS, ...ZOB_PROJECT_DNA_PROPOSAL_TOOLS],
|
|
76
77
|
// Vanilla is handled specially by applyMode: all currently available Pi tools are enabled.
|
|
77
78
|
vanilla: [],
|
|
78
79
|
};
|