zob-harness 0.2.0 → 0.3.1
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 +4 -4
- package/.pi/extensions/zob-child-safety/AGENTS.md +12 -0
- package/.pi/extensions/zob-child-safety/index.ts +4 -105
- package/.pi/extensions/zob-child-safety/src/AGENTS.md +10 -0
- package/.pi/extensions/zob-child-safety/src/policy.ts +106 -0
- package/.pi/extensions/zob-harness/AGENTS.md +2 -0
- package/.pi/extensions/zob-harness/index.ts +94 -94
- package/.pi/extensions/zob-harness/src/AGENTS.md +4 -0
- package/.pi/extensions/zob-harness/src/core/AGENTS.md +24 -0
- package/.pi/extensions/zob-harness/src/{constants.ts → core/constants.ts} +10 -1
- package/.pi/extensions/zob-harness/src/core/utils/AGENTS.md +23 -0
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/formatting.ts +1 -1
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/records.ts +1 -1
- package/.pi/extensions/zob-harness/src/{utils → core/utils}/resources.ts +1 -1
- package/.pi/extensions/zob-harness/src/domains/AGENTS.md +23 -0
- package/.pi/extensions/zob-harness/src/domains/autonomy/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{autonomous-runtime.ts → domains/autonomy/autonomous-runtime.ts} +22 -22
- package/.pi/extensions/zob-harness/src/{autonomy-readiness.ts → domains/autonomy/autonomy-readiness.ts} +18 -18
- package/.pi/extensions/zob-harness/src/{daemon-policy.ts → domains/autonomy/daemon-policy.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{daemon-readiness.ts → domains/autonomy/daemon-readiness.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{daemon-runtime.ts → domains/autonomy/daemon-runtime.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{full-autonomy-test.ts → domains/autonomy/full-autonomy-test.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{interactive-autonomy.ts → domains/autonomy/interactive-autonomy.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{compute-profile.ts → domains/compute/compute-profile.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{compute-workflow-shape.ts → domains/compute/compute-workflow-shape.ts} +3 -3
- package/.pi/extensions/zob-harness/src/domains/coms/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/envelope.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/identity.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/ledger-bridge.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/local-transport.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/policy.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/presence.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/registry.ts +47 -4
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/response-capture.ts +1 -1
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/transcript-capture.ts +2 -2
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/zpeer-profile.ts +3 -3
- package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/zpeer.ts +35 -7
- package/.pi/extensions/zob-harness/src/{mission-control.ts → domains/coms/mission-control.ts} +12 -9
- package/.pi/extensions/zob-harness/src/{zagents.ts → domains/coms/zagents.ts} +86 -4
- package/.pi/extensions/zob-harness/src/domains/context/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{context-gbrain.ts → domains/context/context-gbrain.ts} +4 -4
- package/.pi/extensions/zob-harness/src/domains/delegation/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{agents.ts → domains/delegation/agents.ts} +2 -2
- package/.pi/extensions/zob-harness/src/{capabilities.ts → domains/delegation/capabilities.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{child-runner.ts → domains/delegation/child-runner.ts} +8 -8
- package/.pi/extensions/zob-harness/src/{output-contracts.ts → domains/delegation/output-contracts.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{prompt-packs.ts → domains/delegation/prompt-packs.ts} +4 -4
- package/.pi/extensions/zob-harness/src/domains/factory/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/agentic-plan.ts +1 -1
- package/.pi/extensions/zob-harness/src/{factory-selector.ts → domains/factory/factory-selector.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/quarantine.ts +5 -5
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/run.ts +5 -5
- package/.pi/extensions/zob-harness/src/{factory → domains/factory}/validation.ts +10 -10
- package/.pi/extensions/zob-harness/src/domains/git/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{git-ops.ts → domains/git/git-ops.ts} +3 -3
- package/.pi/extensions/zob-harness/src/domains/goal/AGENTS.md +22 -0
- package/.pi/extensions/zob-harness/src/{goal-room.ts → domains/goal/goal-room.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{goal-todo-imports.ts → domains/goal/goal-todo-imports.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{goal-todo-types.ts → domains/goal/goal-todo-types.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{goal-todos.ts → domains/goal/goal-todos.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{goal.ts → domains/goal/goal.ts} +1 -1
- package/.pi/extensions/zob-harness/src/domains/governance/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{budget-policy.ts → domains/governance/budget-policy.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{governed-requests.ts → domains/governance/governed-requests.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{launch-apply.ts → domains/governance/launch-apply.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{merge-queue.ts → domains/governance/merge-queue.ts} +6 -6
- package/.pi/extensions/zob-harness/src/{rules.ts → domains/governance/rules.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{safety.ts → domains/governance/safety.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{sandbox.ts → domains/governance/sandbox.ts} +5 -5
- package/.pi/extensions/zob-harness/src/{worker-pool.ts → domains/governance/worker-pool.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{workspace-claims.ts → domains/governance/workspace-claims.ts} +6 -6
- package/.pi/extensions/zob-harness/src/domains/models/AGENTS.md +20 -0
- package/.pi/extensions/zob-harness/src/{model-availability.ts → domains/models/model-availability.ts} +1 -1
- package/.pi/extensions/zob-harness/src/{model-routing.ts → domains/models/model-routing.ts} +6 -6
- package/.pi/extensions/zob-harness/src/domains/orchestration/AGENTS.md +21 -0
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/adaptive-delegation.ts +8 -8
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/adaptive-workflow.ts +4 -4
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/lead-plan.ts +5 -5
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/plan.ts +5 -5
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/room.ts +4 -4
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/run.ts +6 -6
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/supervised-readonly.ts +6 -6
- package/.pi/extensions/zob-harness/src/{orchestration → domains/orchestration}/widget-readers.ts +2 -2
- package/.pi/extensions/zob-harness/src/domains/project-dna/AGENTS.md +19 -0
- package/.pi/extensions/zob-harness/src/{project-dna.ts → domains/project-dna/project-dna.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/candidate.ts +5 -5
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/coms.ts +3 -3
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/documentation.ts +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/factory.ts +2 -2
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/temp-agent.ts +4 -4
- package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/write-lane.ts +3 -3
- package/.pi/extensions/zob-harness/src/domains/telemetry/AGENTS.md +19 -0
- package/.pi/extensions/zob-harness/src/{chronicle.ts → domains/telemetry/chronicle.ts} +3 -3
- package/.pi/extensions/zob-harness/src/{queue.ts → domains/telemetry/queue.ts} +7 -7
- package/.pi/extensions/zob-harness/src/{telemetry.ts → domains/telemetry/telemetry.ts} +4 -4
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/chains.ts +10 -10
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/coms.ts +3 -3
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/orchestration-profiles.ts +8 -8
- package/.pi/extensions/zob-harness/src/{topology → domains/topology}/teams.ts +8 -8
- package/.pi/extensions/zob-harness/src/runtime/adaptive-zmode.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/auto-compaction.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/commands.ts +51 -29
- package/.pi/extensions/zob-harness/src/runtime/compaction-policy.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/delegation-feed.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/delegation-monitor.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/events.ts +53 -37
- package/.pi/extensions/zob-harness/src/{goal-runtime.ts → runtime/goal-runtime.ts} +9 -9
- package/.pi/extensions/zob-harness/src/runtime/goal-todo-overlay.ts +1 -1
- package/.pi/extensions/zob-harness/src/runtime/plan-capture.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/state.ts +15 -13
- package/.pi/extensions/zob-harness/src/runtime/tools-autonomous.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-compute.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-coms.ts +15 -12
- package/.pi/extensions/zob-harness/src/runtime/tools-context.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-delegation.ts +13 -13
- package/.pi/extensions/zob-harness/src/runtime/tools-factory.ts +19 -19
- package/.pi/extensions/zob-harness/src/runtime/tools-goal-room.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-governed-requests.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-merge-queue.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-mission-control.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-orchestration.ts +9 -9
- package/.pi/extensions/zob-harness/src/runtime/tools-project-dna.ts +2 -2
- package/.pi/extensions/zob-harness/src/runtime/tools-worker-pool.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-workspace-claims.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/tools-zcommit.ts +3 -3
- package/.pi/extensions/zob-harness/src/runtime/widget.ts +27 -10
- package/.pi/extensions/zob-harness/src/runtime/zobHarness.ts +1 -1
- package/.pi/extensions/zob-harness/src/types.ts +2 -2
- package/.pi/extensions/zob-switch/AGENTS.md +9 -0
- package/.pi/extensions/zob-switch/index.ts +9 -121
- package/.pi/extensions/zob-switch/src/AGENTS.md +8 -0
- package/.pi/extensions/zob-switch/src/autocomplete.ts +12 -0
- package/.pi/extensions/zob-switch/src/paths.ts +8 -0
- package/.pi/extensions/zob-switch/src/settings.ts +25 -0
- package/.pi/extensions/zob-switch/src/snapshot.ts +34 -0
- package/.pi/extensions/zob-switch/src/state.ts +57 -0
- package/.pi/factories/agentic-spec-team/README.md +35 -0
- package/.pi/factories/agentic-spec-team/batch-manifest.json +11 -0
- package/.pi/factories/agentic-spec-team/example-agentic-spec-manifest.json +19 -0
- package/.pi/factories/agentic-spec-team/factory.json +98 -0
- package/.pi/factories/agentic-spec-team/pilot-manifest.json +11 -0
- package/.pi/factories/agentic-spec-team/schemas/final-report.schema.json +15 -0
- package/.pi/factories/agentic-spec-team/schemas/manifest.schema.json +14 -0
- package/.pi/factories/agentic-spec-team/schemas/question.schema.json +18 -0
- package/.pi/factories/agentic-spec-team/schemas/source-register.schema.json +11 -0
- package/.pi/factories/agentic-spec-team/schemas/traceability.schema.json +11 -0
- package/.pi/factories/agentic-spec-team/smoke-manifest.json +11 -0
- package/.pi/skills/zob-agentic-spec-team/SKILL.md +148 -0
- package/.pi/skills/zob-coms-safety/SKILL.md +13 -0
- package/.pi/skills/zob-coms-v2-live/SKILL.md +11 -0
- package/.pi/skills/zob-factory/SKILL.md +21 -0
- package/.pi/skills/zob-harness/SKILL.md +14 -0
- package/.pi/skills/zob-split-refactor/SKILL.md +1 -1
- package/.pi/skills/zob-zagent-creator/SKILL.md +266 -12
- package/.pi/zagents/agent-factory-pacman-chief.json +22 -0
- package/.pi/zagents/agent-factory-pacman-engine-builder.json +21 -0
- package/.pi/zagents/agent-factory-pacman-frontend-builder.json +21 -0
- package/.pi/zagents/agent-factory-pacman-game-architect.json +21 -0
- package/.pi/zagents/agent-factory-pacman-game-designer.json +21 -0
- package/.pi/zagents/agent-factory-pacman-qa-oracle.json +21 -0
- package/.pi/zagents/bdd-writer.json +20 -0
- package/.pi/zagents/data-profile-analyst.json +20 -0
- package/.pi/zagents/domain-modeler.json +20 -0
- package/.pi/zagents/planner-handoff-writer.json +20 -0
- package/.pi/zagents/prompts/agent-factory-pacman-chief.md +53 -0
- package/.pi/zagents/prompts/agent-factory-pacman-engine-builder.md +41 -0
- package/.pi/zagents/prompts/agent-factory-pacman-frontend-builder.md +40 -0
- package/.pi/zagents/prompts/agent-factory-pacman-game-architect.md +41 -0
- package/.pi/zagents/prompts/agent-factory-pacman-game-designer.md +43 -0
- package/.pi/zagents/prompts/agent-factory-pacman-qa-oracle.md +51 -0
- package/.pi/zagents/prompts/agentic-spec-run-role.md +30 -0
- package/.pi/zagents/source-intake-steward.json +20 -0
- package/.pi/zagents/spec-chief.json +21 -0
- package/.pi/zagents/spec-oracle.json +20 -0
- package/.pi/zagents/spec-writer.json +20 -0
- package/.pi/zagents/ux-flow-analyst.json +20 -0
- package/.pi/zteams/agent-factory-pacman-multiplayer-runtime.mjs +384 -0
- package/.pi/zteams/agent-factory-pacman-multiplayer.json +42 -0
- package/.pi/zteams/agent-factory-pacman-multiplayer.tmux.sh +256 -0
- package/.pi/zteams/agentic-spec-run.json +42 -0
- package/.pi/zteams/agentic-spec-run.tmux.sh +134 -0
- package/.pi/zteams/templates/agent-factory-pacman-chief-kickoff.template.md +71 -0
- package/.pi/zteams/templates/agent-factory-pacman-worker-kickoff.template.md +59 -0
- package/README.md +183 -110
- package/SOURCE_INDEX.md +5 -1
- package/examples/agent-factory-mission-control/AGENTS.md +10 -0
- package/examples/agent-factory-mission-control/README.md +17 -0
- package/examples/agent-factory-mission-control/apps/api/AGENTS.md +3 -0
- package/examples/agent-factory-mission-control/apps/dashboard/AGENTS.md +3 -0
- package/examples/agent-factory-mission-control/mission.md +3 -0
- package/examples/agent-factory-mission-control/output-contract.md +3 -0
- package/examples/agent-factory-mission-control/packages/domain/AGENTS.md +3 -0
- package/examples/agent-factory-mission-control/packages/snapshot-reader/AGENTS.md +3 -0
- package/examples/agent-factory-pacman-multiplayer/AGENTS.md +27 -0
- package/examples/agent-factory-pacman-multiplayer/README.md +84 -0
- package/examples/agent-factory-pacman-multiplayer/mission.md +43 -0
- package/examples/agent-factory-pacman-multiplayer/output-contract.md +58 -0
- package/examples/agent-factory-tmux-comms/README.md +146 -0
- package/examples/agent-factory-tmux-comms/chief-kickoff.template.md +54 -0
- package/examples/agent-factory-tmux-comms/simple-agent-factory.team.json +92 -0
- package/examples/agent-factory-tmux-comms/simple-agent-factory.tmux.sh +248 -0
- package/examples/agent-factory-tmux-comms/worker-kickoff.template.md +43 -0
- package/package.json +17 -3
- package/scripts/README.md +1 -1
- package/scripts/agentic-spec-team/validate-bdd.mjs +13 -0
- package/scripts/agentic-spec-team/validate-final-report.mjs +14 -0
- package/scripts/agentic-spec-team/validate-manifest.mjs +14 -0
- package/scripts/agentic-spec-team/validate-oracle-ready.mjs +13 -0
- package/scripts/agentic-spec-team/validate-question-loop.mjs +15 -0
- package/scripts/agentic-spec-team/validate-run.mjs +11 -0
- package/scripts/agentic-spec-team/validate-source-register.mjs +17 -0
- package/scripts/agentic-spec-team/validate-traceability.mjs +20 -0
- package/scripts/agentic-spec-team/validate-workgraph.mjs +13 -0
- package/scripts/autonomy/mission-readiness-secret-smoke.mjs +5 -5
- package/scripts/git-ops/commit-policy-smoke.mjs +5 -4
- package/scripts/goal-todo/child-goal-ref-smoke.mjs +2 -2
- package/scripts/path-policy/validate-smoke.mjs +3 -3
- package/scripts/project-dna/AGENTS.md +39 -0
- package/scripts/project-dna/{validate-scaffold.mjs → validation/validate-scaffold.mjs} +7 -7
- package/scripts/spec-run.mjs +365 -0
- package/scripts/worker-pool/static-smoke.mjs +5 -5
- package/scripts/zagent-static-smoke.mjs +35 -6
- package/scripts/zpeer-local-e2e-smoke.mjs +12 -5
- package/scripts/zpeer-static-smoke.mjs +17 -17
- /package/.pi/extensions/zob-harness/src/{types → core/types}/core.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/hashing.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/json.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{utils → core/utils}/paths.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/AGENTS.md +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/pending-replies.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{coms-v2 → domains/coms/coms-v2}/types.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/ledger.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/types.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{promotion → domains/promotion}/validate.ts +0 -0
- /package/.pi/extensions/zob-harness/src/{schemas-project-dna.ts → runtime/schemas-project-dna.ts} +0 -0
- /package/.pi/extensions/zob-harness/src/{schemas.ts → runtime/schemas.ts} +0 -0
- /package/scripts/project-dna/{bench-smoke.mjs → benchmark/bench-smoke.mjs} +0 -0
- /package/scripts/project-dna/{build-capsules.mjs → capsules/build-capsules.mjs} +0 -0
- /package/scripts/project-dna/{emit-golden-cases.mjs → emit/emit-golden-cases.mjs} +0 -0
- /package/scripts/project-dna/{emit-ontology.mjs → emit/emit-ontology.mjs} +0 -0
- /package/scripts/project-dna/{oracle-review-smoke.mjs → oracle/oracle-review-smoke.mjs} +0 -0
- /package/scripts/project-dna/{query-context.mjs → query/query-context.mjs} +0 -0
- /package/scripts/project-dna/{query-steward.mjs → query/query-steward.mjs} +0 -0
- /package/scripts/project-dna/{build-sample-spec.mjs → sample/build-sample-spec.mjs} +0 -0
- /package/scripts/project-dna/{generate-sample.mjs → sample/generate-sample.mjs} +0 -0
- /package/scripts/project-dna/{validate-sample-project.mjs → sample/validate-sample-project.mjs} +0 -0
- /package/scripts/project-dna/{scan.mjs → scan/scan.mjs} +0 -0
- /package/scripts/project-dna/{validate-scan-artifacts.mjs → scan/validate-scan-artifacts.mjs} +0 -0
- /package/scripts/project-dna/{validate-5of5.mjs → validation/validate-5of5.mjs} +0 -0
- /package/scripts/project-dna/{validate-golden-cases.mjs → validation/validate-golden-cases.mjs} +0 -0
- /package/scripts/project-dna/{validate-ontology.mjs → validation/validate-ontology.mjs} +0 -0
- /package/scripts/project-dna/{plan-workflow.mjs → workflow/plan-workflow.mjs} +0 -0
- /package/scripts/project-dna/{validate-workflow.mjs → workflow/validate-workflow.mjs} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "zob.zteam.v1",
|
|
3
|
+
"id": "agentic-spec-run",
|
|
4
|
+
"description": "Temporary run-scoped Agentic Spec Team for turning explicit sources plus mission text into a traceable implementation spec.",
|
|
5
|
+
"defaultRoom": "spec-control",
|
|
6
|
+
"activeRoom": "spec-control",
|
|
7
|
+
"rooms": [
|
|
8
|
+
{ "id": "spec-control", "role": "coordination", "active": true },
|
|
9
|
+
{ "id": "intake", "role": "source-intake", "active": true },
|
|
10
|
+
{ "id": "data", "role": "data-analysis", "active": true },
|
|
11
|
+
{ "id": "domain", "role": "domain-modeling", "active": true },
|
|
12
|
+
{ "id": "ux", "role": "ux-analysis", "active": true },
|
|
13
|
+
{ "id": "writing", "role": "spec-writing", "active": true },
|
|
14
|
+
{ "id": "validation", "role": "acceptance-bdd", "active": true },
|
|
15
|
+
{ "id": "handoff", "role": "implementation-handoff", "active": true },
|
|
16
|
+
{ "id": "oracle", "role": "final-review", "active": true }
|
|
17
|
+
],
|
|
18
|
+
"agents": [
|
|
19
|
+
{ "id": "spec-chief", "alias": "spec_chief", "rooms": [{ "id": "spec-control", "alias": "spec_chief", "role": "lead", "active": true }] },
|
|
20
|
+
{ "id": "source-intake-steward", "alias": "source_intake", "rooms": [{ "id": "spec-control", "alias": "source_intake", "role": "member", "active": true }, { "id": "intake", "alias": "source_intake", "role": "steward", "active": true }] },
|
|
21
|
+
{ "id": "data-profile-analyst", "alias": "data_profile", "rooms": [{ "id": "spec-control", "alias": "data_profile", "role": "member", "active": true }, { "id": "data", "alias": "data_profile", "role": "analyst", "active": true }] },
|
|
22
|
+
{ "id": "domain-modeler", "alias": "domain_modeler", "rooms": [{ "id": "spec-control", "alias": "domain_modeler", "role": "member", "active": true }, { "id": "domain", "alias": "domain_modeler", "role": "modeler", "active": true }] },
|
|
23
|
+
{ "id": "ux-flow-analyst", "alias": "ux_flow", "rooms": [{ "id": "spec-control", "alias": "ux_flow", "role": "member", "active": true }, { "id": "ux", "alias": "ux_flow", "role": "analyst", "active": true }] },
|
|
24
|
+
{ "id": "spec-writer", "alias": "spec_writer", "rooms": [{ "id": "spec-control", "alias": "spec_writer", "role": "member", "active": true }, { "id": "writing", "alias": "spec_writer", "role": "writer", "active": true }] },
|
|
25
|
+
{ "id": "bdd-writer", "alias": "bdd_writer", "rooms": [{ "id": "spec-control", "alias": "bdd_writer", "role": "member", "active": true }, { "id": "validation", "alias": "bdd_writer", "role": "acceptance", "active": true }] },
|
|
26
|
+
{ "id": "planner-handoff-writer", "alias": "handoff_writer", "rooms": [{ "id": "spec-control", "alias": "handoff_writer", "role": "member", "active": true }, { "id": "handoff", "alias": "handoff_writer", "role": "planner", "active": true }] },
|
|
27
|
+
{ "id": "spec-oracle", "alias": "spec_oracle", "rooms": [{ "id": "spec-control", "alias": "spec_oracle", "role": "oracle", "active": true }, { "id": "oracle", "alias": "spec_oracle", "role": "oracle", "active": true }] }
|
|
28
|
+
],
|
|
29
|
+
"communicationPolicy": {
|
|
30
|
+
"zpeerContact": true,
|
|
31
|
+
"allowedRooms": ["spec-control", "intake", "data", "domain", "ux", "writing", "validation", "handoff", "oracle"],
|
|
32
|
+
"parentVisible": true,
|
|
33
|
+
"hiddenPeerChat": false,
|
|
34
|
+
"bodyStored": false
|
|
35
|
+
},
|
|
36
|
+
"metadata": {
|
|
37
|
+
"entryAgent": "spec-chief",
|
|
38
|
+
"temporaryRunTeam": true,
|
|
39
|
+
"humanInterlocutor": "spec-chief",
|
|
40
|
+
"closePolicy": "close only after final-report/status PASS no_ship=false"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
set -euo pipefail
|
|
3
|
+
|
|
4
|
+
PROJECT_DIR="/Users/cgarrot/zob/zob-harness"
|
|
5
|
+
ENTRY_AGENT="spec-chief"
|
|
6
|
+
PI_BIN="/Users/cgarrot/.nvm/versions/node/v24.14.0/bin/pi"
|
|
7
|
+
AGENTS=(
|
|
8
|
+
"spec-chief"
|
|
9
|
+
"source-intake-steward"
|
|
10
|
+
"data-profile-analyst"
|
|
11
|
+
"domain-modeler"
|
|
12
|
+
"ux-flow-analyst"
|
|
13
|
+
"spec-writer"
|
|
14
|
+
"bdd-writer"
|
|
15
|
+
"planner-handoff-writer"
|
|
16
|
+
"spec-oracle"
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
require_tmux() {
|
|
20
|
+
command -v tmux >/dev/null 2>&1 || { echo "tmux is required" >&2; exit 1; }
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
safe_token() {
|
|
24
|
+
printf '%s' "${1:-}" | tr -c 'A-Za-z0-9_-' '-' | sed 's/^-*//; s/-*$//; s/--*/-/g' | cut -c1-120
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
session_name() {
|
|
28
|
+
local run_id="$(safe_token "${1:-}")"
|
|
29
|
+
[ -n "$run_id" ] || { echo "missing run_id" >&2; exit 2; }
|
|
30
|
+
printf 'agentic-spec-run-%s' "$run_id"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
is_known_agent() {
|
|
34
|
+
local candidate="${1:-}"
|
|
35
|
+
local agent
|
|
36
|
+
for agent in "${AGENTS[@]}"; do
|
|
37
|
+
[ "$agent" = "$candidate" ] && return 0
|
|
38
|
+
done
|
|
39
|
+
return 1
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
resolve_agent() {
|
|
43
|
+
local requested="${1:-$ENTRY_AGENT}"
|
|
44
|
+
if ! is_known_agent "$requested"; then
|
|
45
|
+
echo "Unknown run agent/window: $requested" >&2
|
|
46
|
+
printf 'Known agents:\n' >&2
|
|
47
|
+
printf ' %s\n' "${AGENTS[@]}" >&2
|
|
48
|
+
exit 2
|
|
49
|
+
fi
|
|
50
|
+
printf '%s' "$requested"
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
session_exists() {
|
|
54
|
+
local session="$1"
|
|
55
|
+
tmux has-session -t "$session" 2>/dev/null
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
start_detached() {
|
|
59
|
+
require_tmux
|
|
60
|
+
local run_id="$(safe_token "${1:-}")"
|
|
61
|
+
local session="$(session_name "$run_id")"
|
|
62
|
+
cd "$PROJECT_DIR"
|
|
63
|
+
|
|
64
|
+
if session_exists "$session"; then
|
|
65
|
+
echo "session already running: $session"
|
|
66
|
+
return 0
|
|
67
|
+
fi
|
|
68
|
+
|
|
69
|
+
local first="${AGENTS[0]}"
|
|
70
|
+
tmux new-session -d -s "$session" -n "$first" -c "$PROJECT_DIR"
|
|
71
|
+
tmux send-keys -t "$session:$first" "cd '$PROJECT_DIR' && unset npm_config_prefix && AGENTIC_SPEC_RUN_ID='$run_id' ZOB_ZAGENT_ID=$first '$PI_BIN'" C-m
|
|
72
|
+
|
|
73
|
+
local agent
|
|
74
|
+
for agent in "${AGENTS[@]:1}"; do
|
|
75
|
+
tmux new-window -t "$session" -n "$agent" -c "$PROJECT_DIR"
|
|
76
|
+
tmux send-keys -t "$session:$agent" "cd '$PROJECT_DIR' && unset npm_config_prefix && AGENTIC_SPEC_RUN_ID='$run_id' ZOB_ZAGENT_ID=$agent '$PI_BIN'" C-m
|
|
77
|
+
done
|
|
78
|
+
|
|
79
|
+
tmux select-window -t "$session:$ENTRY_AGENT"
|
|
80
|
+
echo "session started detached: $session"
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
attach() {
|
|
84
|
+
require_tmux
|
|
85
|
+
local run_id="$(safe_token "${1:-}")"
|
|
86
|
+
local session="$(session_name "$run_id")"
|
|
87
|
+
local agent="$(resolve_agent "${2:-$ENTRY_AGENT}")"
|
|
88
|
+
if ! session_exists "$session"; then
|
|
89
|
+
echo "session not running: $session" >&2
|
|
90
|
+
echo "Run: $0 start-detached $run_id" >&2
|
|
91
|
+
exit 1
|
|
92
|
+
fi
|
|
93
|
+
tmux select-window -t "$session:$agent"
|
|
94
|
+
tmux attach -t "$session:$agent"
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
status() {
|
|
98
|
+
require_tmux
|
|
99
|
+
local run_id="$(safe_token "${1:-}")"
|
|
100
|
+
local session="$(session_name "$run_id")"
|
|
101
|
+
if session_exists "$session"; then
|
|
102
|
+
tmux list-windows -t "$session" -F '#{window_index}: #{window_name} #{pane_current_command} active=#{window_active} panes=#{window_panes}'
|
|
103
|
+
else
|
|
104
|
+
echo "session not running: $session"
|
|
105
|
+
fi
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
close() {
|
|
109
|
+
require_tmux
|
|
110
|
+
local run_id="$(safe_token "${1:-}")"
|
|
111
|
+
local session="$(session_name "$run_id")"
|
|
112
|
+
if session_exists "$session"; then
|
|
113
|
+
tmux kill-session -t "$session"
|
|
114
|
+
echo "session closed: $session"
|
|
115
|
+
else
|
|
116
|
+
echo "session not running: $session"
|
|
117
|
+
fi
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
list_agents() {
|
|
121
|
+
printf 'entry: %s\n' "$ENTRY_AGENT"
|
|
122
|
+
printf 'agents:\n'
|
|
123
|
+
printf ' %s\n' "${AGENTS[@]}"
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
case "${1:-}" in
|
|
127
|
+
start|start-detached) start_detached "${2:-}" ;;
|
|
128
|
+
attach|window) attach "${2:-}" "${3:-$ENTRY_AGENT}" ;;
|
|
129
|
+
status) status "${2:-}" ;;
|
|
130
|
+
close) close "${2:-}" ;;
|
|
131
|
+
list) list_agents ;;
|
|
132
|
+
session-name) session_name "${2:-}" ;;
|
|
133
|
+
*) echo "Usage: $0 start-detached <run_id>|status <run_id>|attach <run_id> [agent]|close <run_id>|list|session-name <run_id>" >&2; exit 2 ;;
|
|
134
|
+
esac
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Agent Factory Pac-Man Multiplayer — Chief Kickoff
|
|
2
|
+
|
|
3
|
+
Run id: {{RUN_ID}}
|
|
4
|
+
Run directory: {{RUN_DIR}}
|
|
5
|
+
Generated project target: {{PROJECT_DIR}}
|
|
6
|
+
Team: agent-factory-pacman-multiplayer
|
|
7
|
+
Shared room: pacman-factory
|
|
8
|
+
|
|
9
|
+
You are `agent-factory-pacman-chief` / `@pacman_chief`.
|
|
10
|
+
|
|
11
|
+
## Mission
|
|
12
|
+
|
|
13
|
+
Coordinate the Agent Factory team so the **agents generate** a playable local Pac-Man-inspired multiplayer game under `{{PROJECT_DIR}}`.
|
|
14
|
+
|
|
15
|
+
The game must not be prebuilt in `examples/agent-factory-pacman-multiplayer/`. That source folder is only the brief.
|
|
16
|
+
|
|
17
|
+
This kickoff starts a demo workflow. It does not authorize commits, pushes, external network access, destructive commands, secret reads, or completion claims without evidence.
|
|
18
|
+
|
|
19
|
+
## Read first
|
|
20
|
+
|
|
21
|
+
- AGENTS.md
|
|
22
|
+
- README.md
|
|
23
|
+
- examples/agent-factory-pacman-multiplayer/AGENTS.md
|
|
24
|
+
- examples/agent-factory-pacman-multiplayer/README.md
|
|
25
|
+
- {{MISSION_REF}}
|
|
26
|
+
- {{OUTPUT_CONTRACT_REF}}
|
|
27
|
+
- {{RUN_MANIFEST_REF}}
|
|
28
|
+
- {{ARTIFACT_CONTRACTS_REF}}
|
|
29
|
+
|
|
30
|
+
## Team
|
|
31
|
+
|
|
32
|
+
- `@game_designer`: gameplay rules, controls, scoring, acceptance criteria.
|
|
33
|
+
- `@game_architect`: engine/UI/state boundaries and validation ladder.
|
|
34
|
+
- `@engine_builder`: game engine, collision/scoring logic, tests.
|
|
35
|
+
- `@frontend_builder`: browser rendering, controls, HUD, local multiplayer UX.
|
|
36
|
+
- `@qa_oracle`: playability, test evidence, safety, no-ship verdict.
|
|
37
|
+
|
|
38
|
+
## Communication protocol
|
|
39
|
+
|
|
40
|
+
All proactive coordination happens in `pacman-factory`. Use:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
CONTEXT:
|
|
44
|
+
ASK:
|
|
45
|
+
EVIDENCE:
|
|
46
|
+
URGENCY:
|
|
47
|
+
BLOCKER:
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Do not create hidden worker-to-worker chat. Ask direct peers when needed: frontend asks engine about state shape; engine asks architect about model boundaries; architect asks designer about rule semantics; QA interrupts on no-ship.
|
|
51
|
+
|
|
52
|
+
## First turn required
|
|
53
|
+
|
|
54
|
+
1. Confirm `READY`, restate run id and generated project target.
|
|
55
|
+
2. Update `{{STATUS_REF}}` and `{{ITERATION_LOG_REF}}`.
|
|
56
|
+
3. Dispatch bounded async asks to every worker.
|
|
57
|
+
4. Require gameplay + architecture handoff before builders create broad module boundaries.
|
|
58
|
+
5. Ensure all generated code lands under `{{PROJECT_DIR}}` only.
|
|
59
|
+
6. Keep owner questions concise and only for true blockers.
|
|
60
|
+
|
|
61
|
+
## Completion policy
|
|
62
|
+
|
|
63
|
+
Final readiness requires:
|
|
64
|
+
|
|
65
|
+
- generated Pac-Man multiplayer project scaffold under `{{PROJECT_DIR}}`;
|
|
66
|
+
- documented controls and play instructions;
|
|
67
|
+
- validation commands attempted/reported from the generated project;
|
|
68
|
+
- engine/gameplay tests;
|
|
69
|
+
- no secret/raw body issues;
|
|
70
|
+
- QA/oracle PASS or WARN with no no-ship blockers;
|
|
71
|
+
- final report under `{{RUN_DIR}}/final-report.json` or explicit blocker status.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Agent Factory Pac-Man Multiplayer — Worker Kickoff
|
|
2
|
+
|
|
3
|
+
Run id: {{RUN_ID}}
|
|
4
|
+
Run directory: {{RUN_DIR}}
|
|
5
|
+
Generated project target: {{PROJECT_DIR}}
|
|
6
|
+
Agent id: {{AGENT_ID}}
|
|
7
|
+
Alias: {{ALIAS}}
|
|
8
|
+
Role: {{ROLE}}
|
|
9
|
+
Shared room: pacman-factory
|
|
10
|
+
|
|
11
|
+
## Your bounded mission
|
|
12
|
+
|
|
13
|
+
{{MISSION}}
|
|
14
|
+
|
|
15
|
+
The generated game project belongs under `{{PROJECT_DIR}}`. Do not create or modify game code in `examples/agent-factory-pacman-multiplayer/`; that folder is only the brief.
|
|
16
|
+
|
|
17
|
+
## Read first
|
|
18
|
+
|
|
19
|
+
- examples/agent-factory-pacman-multiplayer/AGENTS.md
|
|
20
|
+
- examples/agent-factory-pacman-multiplayer/README.md
|
|
21
|
+
- {{MISSION_REF}}
|
|
22
|
+
- {{OUTPUT_CONTRACT_REF}}
|
|
23
|
+
- {{RUN_MANIFEST_REF}}
|
|
24
|
+
- {{ARTIFACT_CONTRACTS_REF}}
|
|
25
|
+
- {{WORKGRAPH_REF}}
|
|
26
|
+
|
|
27
|
+
## Communication protocol
|
|
28
|
+
|
|
29
|
+
Send `READY` to `@pacman_chief` after reading. Communicate proactively in `pacman-factory` with:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
CONTEXT:
|
|
33
|
+
ASK:
|
|
34
|
+
EVIDENCE:
|
|
35
|
+
URGENCY:
|
|
36
|
+
BLOCKER:
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Required peer routing:
|
|
40
|
+
|
|
41
|
+
- Ask `@game_architect` for architecture/model/state ambiguity.
|
|
42
|
+
- Ask `@game_designer` for gameplay/scoring/control ambiguity.
|
|
43
|
+
- Ask `@engine_builder` before relying on game-state changes.
|
|
44
|
+
- Ask `@frontend_builder` before changing UI-facing contracts.
|
|
45
|
+
- Ask `@qa_oracle` for validation/no-ship review when ready or blocked.
|
|
46
|
+
|
|
47
|
+
## Must not
|
|
48
|
+
|
|
49
|
+
- Do not read secrets or raw sessions/coms bodies.
|
|
50
|
+
- Do not persist prompt/output/chat bodies.
|
|
51
|
+
- Do not use hidden worker chat.
|
|
52
|
+
- Do not commit/push/tag.
|
|
53
|
+
- Do not launch broad external network actions.
|
|
54
|
+
- Do not write generated game code outside `{{PROJECT_DIR}}`.
|
|
55
|
+
- Do not claim completion without validation evidence.
|
|
56
|
+
|
|
57
|
+
## Final output
|
|
58
|
+
|
|
59
|
+
Return result, changed files/artifacts, validation commands, blockers/risks, and compliance.
|