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
package/README.md
CHANGED
|
@@ -1,114 +1,160 @@
|
|
|
1
1
|
# ZOB Harness
|
|
2
2
|
|
|
3
|
-
**A governed
|
|
3
|
+
**A governed Agent Factory for Pi.**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Launch teams of agents that communicate, build, validate, and turn repeatable workflows into reusable factories.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
ZOB turns Pi from a single coding-agent chat into a supervised factory system: define a team, start a run, watch agent communication, review artifacts, and package successful workflows into factories that can create the next thing.
|
|
8
8
|
|
|
9
9
|
```text
|
|
10
10
|
Human intent
|
|
11
|
-
->
|
|
12
|
-
->
|
|
13
|
-
->
|
|
14
|
-
->
|
|
15
|
-
->
|
|
16
|
-
->
|
|
11
|
+
-> governed Agent Factory
|
|
12
|
+
-> chief / scout / builder / oracle / custom roles
|
|
13
|
+
-> visible agent communication
|
|
14
|
+
-> tmux-backed Pi sessions when useful
|
|
15
|
+
-> artifacts under reports/<run_id>/
|
|
16
|
+
-> validation + oracle/no-ship review
|
|
17
|
+
-> reusable factory for the next run
|
|
17
18
|
```
|
|
18
19
|
|
|
19
|
-
ZOB is not
|
|
20
|
+
ZOB is not “unleash an agent and hope.” ZOB is “launch a team, keep the work observable, preserve evidence, and reuse the pattern once it works.”
|
|
20
21
|
|
|
21
|
-
## Why
|
|
22
|
+
## Why this is different
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
Most agent tools optimize the single assistant session. ZOB optimizes the **agent factory loop**:
|
|
24
25
|
|
|
25
|
-
-
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
26
|
+
- **Teams, not tabs** — model a chief, scouts, builders, reviewers, oracles, and custom roles as ZAgents/ZTeams.
|
|
27
|
+
- **Visible communication** — agents coordinate through parent-visible messages instead of hidden worker chat.
|
|
28
|
+
- **tmux-backed runs** — launch real Pi sessions in local tmux windows when a workflow benefits from persistent roles.
|
|
29
|
+
- **Run artifacts as truth** — manifests, kickoff files, workgraphs, status files, validation output, and oracle reports outlive the chat.
|
|
30
|
+
- **Factories create factories** — a successful workflow can become a reusable manifest, launcher, checkpoint set, and validation ladder.
|
|
31
|
+
- **Governed by default** — scoped tools, path rules, evidence gates, no-ship review, and governed commits keep the owner in control.
|
|
31
32
|
|
|
32
|
-
|
|
33
|
+
## Try the six-agent Pac-Man factory
|
|
33
34
|
|
|
34
|
-
|
|
35
|
+
The fastest way to understand ZOB is to run the demo factory. The repository does **not** contain a prebuilt game. The factory prepares a run, launches a six-agent team, and asks that team to generate a local browser-playable Pac-Man-inspired multiplayer game under `reports/`.
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
Prepare and validate run artifacts only. This does not launch tmux/Pi and does not generate the game:
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
```bash
|
|
40
|
+
RUN_ID="pacman-demo"
|
|
41
|
+
npm run demo:pacman:prepare -- "$RUN_ID" --force
|
|
42
|
+
npm run demo:pacman:validate -- "$RUN_ID"
|
|
43
|
+
```
|
|
39
44
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
5. MUST NOT DO: [hard stops]
|
|
46
|
-
6. CONTEXT: [paths, prior evidence, downstream use]
|
|
45
|
+
Launch the full tmux-backed Agent Factory team:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
RUN_ID="pacman-demo"
|
|
49
|
+
npm run demo:pacman -- "$RUN_ID" --force
|
|
47
50
|
```
|
|
48
51
|
|
|
49
|
-
|
|
52
|
+
Observe or stop only this demo team:
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
```bash
|
|
55
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh status
|
|
56
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh attach agent-factory-pacman-chief
|
|
57
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh close
|
|
58
|
+
```
|
|
52
59
|
|
|
53
|
-
|
|
60
|
+
After the agents finish, test the generated project from the reported run directory, typically:
|
|
54
61
|
|
|
55
|
-
|
|
56
|
-
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
62
|
+
```bash
|
|
63
|
+
cd reports/agent-factory-pacman-runs/$RUN_ID/project
|
|
64
|
+
npm install
|
|
65
|
+
npm run validate
|
|
66
|
+
npm run dev
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
See [`examples/agent-factory-pacman-multiplayer/`](examples/agent-factory-pacman-multiplayer/) for the demo brief and [`examples/agent-factory-tmux-comms/`](examples/agent-factory-tmux-comms/) for the small generic tmux + visible communication playbook.
|
|
61
70
|
|
|
62
|
-
|
|
71
|
+
## Agents communicate visibly
|
|
72
|
+
|
|
73
|
+
ZOB teams coordinate with short, structured, parent-visible messages. The goal is to keep multi-agent work debuggable without persisting raw hidden chat as the source of truth.
|
|
63
74
|
|
|
64
75
|
```text
|
|
65
|
-
|
|
76
|
+
CONTEXT: what changed or what the agent is working on
|
|
77
|
+
ASK: exact answer, review, or action needed
|
|
78
|
+
EVIDENCE: safe file refs, artifact refs, command names, or TODO ids
|
|
79
|
+
URGENCY: low|normal|high|critical
|
|
80
|
+
BLOCKER: yes/no
|
|
66
81
|
```
|
|
67
82
|
|
|
68
|
-
|
|
83
|
+
Example chief → scout ask:
|
|
69
84
|
|
|
70
|
-
|
|
85
|
+
```text
|
|
86
|
+
CONTEXT: We are preparing the first implementation slice for the settings workflow.
|
|
87
|
+
ASK: Identify the smallest files needed for a safe plan; return evidence refs only.
|
|
88
|
+
EVIDENCE: README.md, docs/settings.md, TODO SETTINGS-001
|
|
89
|
+
URGENCY: normal
|
|
90
|
+
BLOCKER: no
|
|
91
|
+
```
|
|
71
92
|
|
|
72
|
-
|
|
73
|
-
- [`.pi/skills/`](.pi/skills/) — domain instructions for commits, coms, factories, sandboxing, ProjectDNA, autonomy checks, goal/TODO trees, oracle review, and harness routing.
|
|
74
|
-
- [`.pi/output-contracts/`](.pi/output-contracts/) — structured completion contracts for child results and other governed outputs.
|
|
75
|
-
- [`.pi/capabilities/`](.pi/capabilities/) — runtime capability registry that maps public tools/commands to modes, skills, docs, and no-ship notes.
|
|
93
|
+
Example builder → oracle review request:
|
|
76
94
|
|
|
77
|
-
|
|
95
|
+
```text
|
|
96
|
+
CONTEXT: Builder generated the first game loop under the Pac-Man run project.
|
|
97
|
+
ASK: Review game rules and validation output before the chief calls this done.
|
|
98
|
+
EVIDENCE: reports/agent-factory-pacman-runs/pacman-demo/project/src/game.ts, npm run validate
|
|
99
|
+
URGENCY: normal
|
|
100
|
+
BLOCKER: no
|
|
101
|
+
```
|
|
78
102
|
|
|
79
|
-
|
|
103
|
+
Communication is coordination. **Artifacts are the source of truth.**
|
|
80
104
|
|
|
81
|
-
A
|
|
105
|
+
## A factory that creates factories
|
|
82
106
|
|
|
83
|
-
|
|
84
|
-
- exact commands run;
|
|
85
|
-
- command outcomes;
|
|
86
|
-
- evidence references;
|
|
87
|
-
- unresolved risks and blockers;
|
|
88
|
-
- compliance with forbidden paths, commit policy, and scope.
|
|
107
|
+
ZOB is designed for the moment when an agent workflow works once and should not remain an ad hoc prompt forever.
|
|
89
108
|
|
|
90
|
-
|
|
109
|
+
A ZOB factory can define:
|
|
91
110
|
|
|
92
|
-
|
|
111
|
+
- a ZTeam topology and role aliases;
|
|
112
|
+
- role-specific ZAgent prompts and domain skills;
|
|
113
|
+
- tmux launch/status/attach/close scripts;
|
|
114
|
+
- startup kickoff files passed as `pi @file`;
|
|
115
|
+
- run manifests and dispatch metadata;
|
|
116
|
+
- parent-owned workgraphs and TODO trees;
|
|
117
|
+
- validation checkpoints, sentinels, and smoke gates;
|
|
118
|
+
- oracle/no-ship review requirements;
|
|
119
|
+
- generated artifact directories under `reports/<run_id>/`;
|
|
120
|
+
- npm scripts that make the workflow repeatable.
|
|
93
121
|
|
|
94
|
-
ZOB
|
|
122
|
+
The output of a ZOB run can be another ZOB factory: a reusable manifest, launcher, kickoff set, workgraph, and validation ladder for the next class of work.
|
|
95
123
|
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
- autonomy checks are supervised evidence, not a claim of unrestricted autonomy.
|
|
124
|
+
Existing factory-shaped surfaces include:
|
|
125
|
+
|
|
126
|
+
- [`examples/agent-factory-tmux-comms/`](examples/agent-factory-tmux-comms/) — smallest teaching shape for a chief, scout, builder, and oracle.
|
|
127
|
+
- [`examples/agent-factory-pacman-multiplayer/`](examples/agent-factory-pacman-multiplayer/) — runnable generative team demo.
|
|
128
|
+
- [`.pi/factories/`](.pi/factories/) — safe factory scaffolds for repeatable workflows such as ProjectDNA, agentic spec work, budget preflight, code review matrices, and factory forging.
|
|
102
129
|
|
|
103
|
-
|
|
130
|
+
## What a ZOB run produces
|
|
104
131
|
|
|
105
|
-
|
|
132
|
+
A serious run should leave reviewable evidence, not just a chat transcript:
|
|
133
|
+
|
|
134
|
+
```text
|
|
135
|
+
reports/<run_id>/
|
|
136
|
+
run-manifest.json
|
|
137
|
+
chief-kickoff.md
|
|
138
|
+
worker-kickoffs/
|
|
139
|
+
autonomous-workgraph.md
|
|
140
|
+
autonomous-status.md
|
|
141
|
+
iteration-log.md
|
|
142
|
+
validation-output.*
|
|
143
|
+
oracle-report.*
|
|
144
|
+
project/ or generated-artifacts/
|
|
145
|
+
```
|
|
106
146
|
|
|
107
|
-
|
|
147
|
+
The exact shape depends on the factory, but the posture is consistent: bounded inputs, visible coordination, durable artifacts, validation commands, and explicit risks/blockers.
|
|
108
148
|
|
|
109
|
-
|
|
149
|
+
## Core concepts
|
|
110
150
|
|
|
111
|
-
|
|
151
|
+
- **ZAgent** — a full Pi session with identity, role, allowed posture, and optional ZPeer presence.
|
|
152
|
+
- **ZTeam** — topology for rooms, aliases, owner-facing entry points, and communication policy.
|
|
153
|
+
- **Chief / orchestrator** — the parent-facing role that owns the workgraph, status, and final synthesis.
|
|
154
|
+
- **Scout / builder / oracle** — common role pattern for context discovery, artifact production, and skeptical review.
|
|
155
|
+
- **Kickoff file** — bounded startup context passed as `pi @file`, safer than pasting long prompts into live panes.
|
|
156
|
+
- **Goal/TODO graph** — parent-owned work breakdown where child claims are reviewed before acceptance.
|
|
157
|
+
- **No-ship gate** — explicit blocker status that prevents unsupported “done” claims.
|
|
112
158
|
|
|
113
159
|
## Quick start
|
|
114
160
|
|
|
@@ -117,19 +163,20 @@ ProjectDNA scaffolding helps turn approved local code scan artifacts into bounde
|
|
|
117
163
|
- Node.js **22+**; Node 24 is recommended.
|
|
118
164
|
- npm.
|
|
119
165
|
- Pi installed and available on `PATH`.
|
|
166
|
+
- tmux for tmux-backed Agent Factory demos.
|
|
120
167
|
|
|
121
168
|
### Install from npm for normal Pi use
|
|
122
169
|
|
|
123
170
|
After the package is published to npm, install the pinned Pi package:
|
|
124
171
|
|
|
125
172
|
```bash
|
|
126
|
-
pi install npm:zob-harness@0.1
|
|
173
|
+
pi install npm:zob-harness@0.3.1
|
|
127
174
|
```
|
|
128
175
|
|
|
129
|
-
|
|
176
|
+
Verify Pi can load the package extension set and return a deterministic response:
|
|
130
177
|
|
|
131
178
|
```bash
|
|
132
|
-
pi -e npm:zob-harness@0.1
|
|
179
|
+
pi -e npm:zob-harness@0.3.1 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
133
180
|
```
|
|
134
181
|
|
|
135
182
|
Expected result:
|
|
@@ -141,13 +188,13 @@ zob-harness-ok
|
|
|
141
188
|
If `pi install` cannot find the package, confirm the npm release is visible first:
|
|
142
189
|
|
|
143
190
|
```bash
|
|
144
|
-
npm view zob-harness@0.1
|
|
191
|
+
npm view zob-harness@0.3.1 version
|
|
145
192
|
```
|
|
146
193
|
|
|
147
194
|
Expected result:
|
|
148
195
|
|
|
149
196
|
```text
|
|
150
|
-
0.1
|
|
197
|
+
0.3.1
|
|
151
198
|
```
|
|
152
199
|
|
|
153
200
|
Pi package discovery on `pi.dev/packages` is based on the npm `pi-package` keyword and may lag behind npm publication.
|
|
@@ -160,6 +207,7 @@ Use this path when developing or validating a release candidate before npm publi
|
|
|
160
207
|
git clone https://github.com/cgarrot/zob-harness.git
|
|
161
208
|
cd zob-harness
|
|
162
209
|
npm install
|
|
210
|
+
npm run validate:script-surface
|
|
163
211
|
npm run check -- --pretty false
|
|
164
212
|
npm run pi:check
|
|
165
213
|
npm run pack:dry-run
|
|
@@ -167,9 +215,10 @@ npm run pack:dry-run
|
|
|
167
215
|
|
|
168
216
|
Expected results:
|
|
169
217
|
|
|
170
|
-
-
|
|
171
|
-
-
|
|
172
|
-
-
|
|
218
|
+
- script references validate;
|
|
219
|
+
- TypeScript completes with exit code 0 and no diagnostics;
|
|
220
|
+
- Pi loads the local configured ZOB extension offline and replies with `zob-harness-ok`;
|
|
221
|
+
- `npm pack --dry-run --json` lists the Pi manifest, extensions, prompts, skills, agents, examples, and validation scripts in the tarball.
|
|
173
222
|
|
|
174
223
|
### Start Pi with the local harness checkout
|
|
175
224
|
|
|
@@ -187,49 +236,54 @@ Inside Pi, try:
|
|
|
187
236
|
|
|
188
237
|
You should see ZOB modes, specialist agents, and the six-part delegation contract helper.
|
|
189
238
|
|
|
190
|
-
|
|
239
|
+
## Common workflows
|
|
191
240
|
|
|
192
|
-
|
|
193
|
-
npm run validate:script-surface
|
|
194
|
-
npm run smoke:harness
|
|
195
|
-
npm run check -- --pretty false
|
|
196
|
-
npm run pack:dry-run
|
|
197
|
-
```
|
|
241
|
+
### Launch a tmux-backed Agent Factory team
|
|
198
242
|
|
|
199
|
-
|
|
243
|
+
Use an Agent Factory when the job needs multiple persistent roles rather than one transient assistant. The pattern is:
|
|
200
244
|
|
|
201
|
-
|
|
245
|
+
1. define a ZTeam manifest with parent-visible rooms and `bodyStored=false`;
|
|
246
|
+
2. prepare startup kickoff files so each agent begins with bounded instructions;
|
|
247
|
+
3. launch one Pi session per ZAgent through a tmux launcher when useful;
|
|
248
|
+
4. coordinate with async ZPeer/Goal Room-style messages using `CONTEXT / ASK / EVIDENCE / URGENCY / BLOCKER`;
|
|
249
|
+
5. treat artifacts, validation commands, and oracle review as completion evidence.
|
|
250
|
+
|
|
251
|
+
### Turn repeated work into a factory
|
|
202
252
|
|
|
203
|
-
|
|
253
|
+
When a process repeats, stop re-prompting it by hand. Capture the workflow as:
|
|
204
254
|
|
|
205
255
|
```text
|
|
206
|
-
|
|
207
|
-
2. Ask for Plan: name the smallest file set and validation ladder.
|
|
208
|
-
3. Ask for Implement: edit only that slice.
|
|
209
|
-
4. Ask for Oracle: verify evidence and decide whether no-ship remains.
|
|
256
|
+
manifest + team topology + kickoff templates + workgraph + checkpoints + validator + oracle gate
|
|
210
257
|
```
|
|
211
258
|
|
|
212
|
-
|
|
259
|
+
Then expose it through an npm script or project-local launcher so the next run starts from a known shape.
|
|
213
260
|
|
|
214
|
-
###
|
|
261
|
+
### Use a safe single-agent loop
|
|
215
262
|
|
|
216
|
-
|
|
263
|
+
```text
|
|
264
|
+
Explore -> Plan -> Implement -> Oracle
|
|
265
|
+
```
|
|
217
266
|
|
|
218
|
-
|
|
267
|
+
- **Explore** — inspect and map facts without editing.
|
|
268
|
+
- **Plan** — turn evidence into a bounded implementation path.
|
|
269
|
+
- **Implement** — change the smallest safe file set and verify it.
|
|
270
|
+
- **Oracle** — review skeptically and surface no-ship blockers.
|
|
219
271
|
|
|
220
|
-
|
|
272
|
+
### Delegate to a specialist
|
|
221
273
|
|
|
222
|
-
|
|
274
|
+
Use `/contract` to create a bounded six-part handoff, then route to the appropriate specialist agent. A good delegated result should return changed files, validation commands, evidence refs, risks, and no-ship status for parent/oracle review.
|
|
223
275
|
|
|
224
|
-
|
|
276
|
+
### Use goal-linked TODOs
|
|
225
277
|
|
|
226
|
-
|
|
278
|
+
Use `/goal`, `/todo`, and `/goal_gate` when work needs a parent-owned TODO graph. Child agents return claims; the parent decides acceptance. This prevents children from marking parent work done without review.
|
|
227
279
|
|
|
228
|
-
|
|
280
|
+
### Use ProjectDNA context
|
|
229
281
|
|
|
230
|
-
|
|
282
|
+
ProjectDNA turns approved local code scan artifacts into bounded, cited context packs and sample/spec outputs. Keep scans approved, artifacts local, and writeback proposal-only unless the parent explicitly authorizes more.
|
|
231
283
|
|
|
232
|
-
Use
|
|
284
|
+
### Use governed commits
|
|
285
|
+
|
|
286
|
+
ZOB does not encourage invisible git operations. When a user explicitly asks for a commit, agents must use `/zcommit` or the governed `zob_zcommit_run` tool and follow [`.pi/git-policy.json`](.pi/git-policy.json). Autocommit and autopush are off by default.
|
|
233
287
|
|
|
234
288
|
## Command cheat sheet
|
|
235
289
|
|
|
@@ -260,14 +314,17 @@ npm run smoke:worker-pool # worker-pool static smoke
|
|
|
260
314
|
npm run smoke:zpeer # static + local ZPeer smoke
|
|
261
315
|
npm run validate:project-dna # ProjectDNA scaffold validation
|
|
262
316
|
npm run pack:dry-run # npm package dry-run surface check
|
|
317
|
+
npm run demo:pacman:prepare # prepare Pac-Man factory run artifacts
|
|
318
|
+
npm run demo:pacman:validate # validate Pac-Man factory run artifacts
|
|
319
|
+
npm run demo:pacman # launch the full Pac-Man Agent Factory demo
|
|
263
320
|
```
|
|
264
321
|
|
|
265
322
|
Published package install/check:
|
|
266
323
|
|
|
267
324
|
```bash
|
|
268
|
-
pi install npm:zob-harness@0.1
|
|
269
|
-
pi -e npm:zob-harness@0.1
|
|
270
|
-
npm view zob-harness@0.1
|
|
325
|
+
pi install npm:zob-harness@0.3.1
|
|
326
|
+
pi -e npm:zob-harness@0.3.1 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
327
|
+
npm view zob-harness@0.3.1 version
|
|
271
328
|
```
|
|
272
329
|
|
|
273
330
|
See [scripts/README.md](scripts/README.md) for the script family map.
|
|
@@ -281,6 +338,7 @@ See [scripts/README.md](scripts/README.md) for the script family map.
|
|
|
281
338
|
- [SOURCE_INDEX.md](SOURCE_INDEX.md) — tracked source and local/generated area map.
|
|
282
339
|
- [package.json](package.json) — package metadata, Pi wiring, and npm scripts.
|
|
283
340
|
- [scripts/README.md](scripts/README.md) — public script surface guide.
|
|
341
|
+
- [`examples/`](examples/) — Agent Factory examples, including the generic tmux/coms playbook and the runnable Pac-Man multiplayer generative demo.
|
|
284
342
|
- [`.pi/extensions/zob-harness/`](.pi/extensions/zob-harness/) — main Pi extension.
|
|
285
343
|
- [`.pi/extensions/zob-child-safety/`](.pi/extensions/zob-child-safety/) — child-agent safety extension.
|
|
286
344
|
- [`.pi/agents/`](.pi/agents/) — specialist agent definitions.
|
|
@@ -293,9 +351,24 @@ See [scripts/README.md](scripts/README.md) for the script family map.
|
|
|
293
351
|
|
|
294
352
|
Local/generated areas such as `reports/`, `plans/`, `.pi/sessions/`, `.pi/logs/`, `.pi/tmp/`, coms ledgers, workspace claims, worker pools, and merge queues are not part of the normal source surface. See [SOURCE_INDEX.md](SOURCE_INDEX.md) for the current classification.
|
|
295
353
|
|
|
354
|
+
## Safety model
|
|
355
|
+
|
|
356
|
+
ZOB is deliberately conservative around risky actions:
|
|
357
|
+
|
|
358
|
+
- no `.env`, private key, SSH, AWS, or credential reads;
|
|
359
|
+
- no destructive shell/git operations without explicit approval;
|
|
360
|
+
- no direct commits, pushes, tags, or force pushes by default;
|
|
361
|
+
- governed commits go through `/zcommit` or `zob_zcommit_run` only when explicitly authorized;
|
|
362
|
+
- tmux is a launch/observation layer, not the source of truth;
|
|
363
|
+
- generated reports, ledgers, sessions, and local coordination state stay local;
|
|
364
|
+
- autonomy checks are supervised evidence, not a claim of unrestricted autonomy;
|
|
365
|
+
- completion requires concrete artifacts, validation evidence, and oracle/no-ship review when required.
|
|
366
|
+
|
|
367
|
+
The safety posture is backed by [AGENTS.md](AGENTS.md), [`.pi/damage-control-rules.json`](.pi/damage-control-rules.json), [`.pi/git-policy.json`](.pi/git-policy.json), the child-safety extension, and smoke scripts under [`scripts/`](scripts/README.md).
|
|
368
|
+
|
|
296
369
|
## Current status and limits
|
|
297
370
|
|
|
298
|
-
ZOB Harness is an early, conservative, governed harness. The public repo is useful for evaluating the operating model, extension wiring, skills, agents, safety posture, and smoke validations. It should not be described as unrestricted autonomy, a production deployment system, or a benchmark-winning agent framework.
|
|
371
|
+
ZOB Harness is an early, conservative, governed harness. The public repo is useful for evaluating the Agent Factory operating model, extension wiring, skills, agents, safety posture, and smoke validations. It should not be described as unrestricted autonomy, a production deployment system, or a benchmark-winning agent framework.
|
|
299
372
|
|
|
300
373
|
Current limits are intentional:
|
|
301
374
|
|
|
@@ -330,12 +403,12 @@ For a public npm release, maintainers should additionally run:
|
|
|
330
403
|
|
|
331
404
|
```bash
|
|
332
405
|
npm whoami
|
|
333
|
-
npm view zob-harness@0.1
|
|
406
|
+
npm view zob-harness@0.3.1 version || true
|
|
334
407
|
npm publish --dry-run
|
|
335
408
|
npm publish
|
|
336
|
-
npm view zob-harness@0.1
|
|
337
|
-
pi install npm:zob-harness@0.1
|
|
338
|
-
pi -e npm:zob-harness@0.1
|
|
409
|
+
npm view zob-harness@0.3.1 version
|
|
410
|
+
pi install npm:zob-harness@0.3.1
|
|
411
|
+
pi -e npm:zob-harness@0.3.1 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
339
412
|
```
|
|
340
413
|
|
|
341
414
|
`npm publish` may require npm two-factor authentication in the browser or a one-time password. Do not paste OTPs, tokens, or secrets into issue reports or agent transcripts.
|
package/SOURCE_INDEX.md
CHANGED
|
@@ -31,11 +31,15 @@ This file is the human-facing map of the tracked source surface. It is intention
|
|
|
31
31
|
|
|
32
32
|
See `scripts/README.md` for the script surface map.
|
|
33
33
|
|
|
34
|
+
## Examples
|
|
35
|
+
|
|
36
|
+
- `examples/` — documentation examples for safe ZOB patterns, including `agent-factory-tmux-comms/` and the active `agent-factory-pacman-multiplayer/` generative demo brief. These examples must stay inert by default and must not launch agents, tmux, network access, commits, or destructive commands unless a human runs the documented command explicitly.
|
|
37
|
+
|
|
34
38
|
## Local/generated areas
|
|
35
39
|
|
|
36
40
|
These are intentionally local/generated and should not be committed by default:
|
|
37
41
|
|
|
38
|
-
- `docs/` —
|
|
42
|
+
- `docs/` — curated architecture/refactor docs plus local/generated planning docs; classify generated reports separately before commit.
|
|
39
43
|
- `plans/` — captured planning artifacts.
|
|
40
44
|
- `reports/` — generated reports and evidence.
|
|
41
45
|
- `.pi/tmp/`, `.pi/logs/`, `.pi/sessions/`, `.pi/agent-sessions/` — runtime local state.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Deprecated Mission Control example
|
|
2
|
+
|
|
3
|
+
This directory is no longer active. The former dashboard-focused team has been removed and replaced by:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
examples/agent-factory-pacman-multiplayer/
|
|
7
|
+
.pi/zteams/agent-factory-pacman-multiplayer.json
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Do not add generated source code here.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Deprecated example — replaced by Pac-Man multiplayer
|
|
2
|
+
|
|
3
|
+
This former Mission Control dashboard brief is deprecated and no longer wired to active npm scripts, ZAgents, or ZTeams.
|
|
4
|
+
|
|
5
|
+
Use the current generative demo instead:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
examples/agent-factory-pacman-multiplayer/
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm run demo:pacman:prepare
|
|
13
|
+
npm run demo:pacman:validate
|
|
14
|
+
npm run demo:pacman
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
No game or dashboard code should be generated in this deprecated directory.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Agent Factory Pac-Man Multiplayer brief rules
|
|
2
|
+
|
|
3
|
+
This directory is a source brief only. The generated game belongs under:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
reports/agent-factory-pacman-runs/<run_id>/project/
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## Allowed source files here
|
|
10
|
+
|
|
11
|
+
- `README.md`
|
|
12
|
+
- `AGENTS.md`
|
|
13
|
+
- `mission.md`
|
|
14
|
+
- `output-contract.md`
|
|
15
|
+
|
|
16
|
+
## MUST DO
|
|
17
|
+
|
|
18
|
+
- Keep this folder as a brief/contract surface only.
|
|
19
|
+
- Tell agents to generate Pac-Man multiplayer code under the run `project/` directory.
|
|
20
|
+
- Keep communication parent-visible and local-only.
|
|
21
|
+
|
|
22
|
+
## MUST NOT
|
|
23
|
+
|
|
24
|
+
- Do not add generated game source files here.
|
|
25
|
+
- Do not create a dashboard/Mission Control app.
|
|
26
|
+
- Do not read secrets, `.pi/sessions`, `.pi/coms` raw bodies, or private transcripts.
|
|
27
|
+
- Do not commit/push/tag.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Agent Factory Pac-Man Multiplayer — generative demo brief
|
|
2
|
+
|
|
3
|
+
This folder is **not** the game. It is the brief used by a ZOB Agent Factory team.
|
|
4
|
+
|
|
5
|
+
Run artifacts are prepared under:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
reports/agent-factory-pacman-runs/<run_id>/
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The agents must generate the actual Pac-Man multiplayer project under:
|
|
12
|
+
|
|
13
|
+
```text
|
|
14
|
+
reports/agent-factory-pacman-runs/<run_id>/project/
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## What the team should generate
|
|
18
|
+
|
|
19
|
+
A local browser-playable Pac-Man-inspired multiplayer game:
|
|
20
|
+
|
|
21
|
+
- 2 to 4 local players by default;
|
|
22
|
+
- maze/grid movement, pellets, score, collisions, win/lose conditions;
|
|
23
|
+
- ghosts or hostile obstacles;
|
|
24
|
+
- deterministic game engine/state model with tests;
|
|
25
|
+
- browser UI using Canvas or DOM rendering;
|
|
26
|
+
- clear controls and README instructions;
|
|
27
|
+
- local-only by default, no external services.
|
|
28
|
+
|
|
29
|
+
The team may choose a small dependency-light stack, but it must validate whatever it generates.
|
|
30
|
+
|
|
31
|
+
## Communication and tmux guide
|
|
32
|
+
|
|
33
|
+
Before running the full demo, read [`../agent-factory-tmux-comms/`](../agent-factory-tmux-comms/) for the communication pattern:
|
|
34
|
+
|
|
35
|
+
- one parent-visible room;
|
|
36
|
+
- short `CONTEXT / ASK / EVIDENCE / URGENCY / BLOCKER` messages;
|
|
37
|
+
- startup kickoff files passed as `pi @file`;
|
|
38
|
+
- tmux as a local launcher/observer only;
|
|
39
|
+
- artifacts and validation as completion evidence.
|
|
40
|
+
|
|
41
|
+
## Safe dry run
|
|
42
|
+
|
|
43
|
+
Prepare run artifacts only; this does **not** launch tmux/Pi and does **not** generate the game:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
RUN_ID="pacman-demo"
|
|
47
|
+
npm run demo:pacman:prepare -- "$RUN_ID" --force
|
|
48
|
+
npm run demo:pacman:validate -- "$RUN_ID"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Full autonomous launch
|
|
52
|
+
|
|
53
|
+
This may launch multiple Pi sessions in tmux and consume model/API budget:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
RUN_ID="pacman-demo"
|
|
57
|
+
npm run demo:pacman -- "$RUN_ID" --force
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Observe or stop the tmux team
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh status
|
|
64
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh attach agent-factory-pacman-chief
|
|
65
|
+
bash .pi/zteams/agent-factory-pacman-multiplayer.tmux.sh close
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Test the generated game
|
|
69
|
+
|
|
70
|
+
After agents finish, test the generated game from the reported project directory, typically:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
cd reports/agent-factory-pacman-runs/$RUN_ID/project
|
|
74
|
+
npm install
|
|
75
|
+
npm run validate
|
|
76
|
+
npm run dev
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Important boundaries
|
|
80
|
+
|
|
81
|
+
- Do not generate game code in this `examples/` folder.
|
|
82
|
+
- Do not read secrets or raw session/coms bodies.
|
|
83
|
+
- Do not commit/push from the demo team.
|
|
84
|
+
- Treat tmux as a local launcher only; communication must stay parent-visible.
|