zob-harness 0.1.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/adapters/registry.json +103 -0
- package/.pi/agents/architecture-cartographer.md +53 -0
- package/.pi/agents/chief-vision.md +39 -0
- package/.pi/agents/clarifier.md +58 -0
- package/.pi/agents/context-steward.md +52 -0
- package/.pi/agents/doc-steward.md +34 -0
- package/.pi/agents/explore.md +49 -0
- package/.pi/agents/factory.md +41 -0
- package/.pi/agents/implementer.md +44 -0
- package/.pi/agents/librarian.md +32 -0
- package/.pi/agents/oracle-merge.md +50 -0
- package/.pi/agents/oracle.md +55 -0
- package/.pi/agents/pattern-miner.md +53 -0
- package/.pi/agents/planner.md +39 -0
- package/.pi/agents/project-dna-golden-evaluator.md +32 -0
- package/.pi/agents/project-dna-ontology-steward.md +30 -0
- package/.pi/agents/project-dna-oracle.md +56 -0
- package/.pi/agents/project-dna-orchestrator.md +60 -0
- package/.pi/agents/project-dna-query-steward.md +38 -0
- package/.pi/agents/project-dna-safety-preflight.md +54 -0
- package/.pi/agents/project-dna-test-linker.md +27 -0
- package/.pi/agents/qa.md +38 -0
- package/.pi/agents/refactor-cartographer.md +28 -0
- package/.pi/agents/refactor-mover.md +31 -0
- package/.pi/agents/refactor-oracle.md +49 -0
- package/.pi/agents/repo-scout.md +60 -0
- package/.pi/agents/sample-architect.md +48 -0
- package/.pi/agents/specifier.md +57 -0
- package/.pi/agents/symbol-range-curator.md +41 -0
- package/.pi/agents/synthesis.md +52 -0
- package/.pi/agents/temp-agent-creator.md +35 -0
- package/.pi/autonomy-policy.json +67 -0
- package/.pi/budget-policy.json +54 -0
- package/.pi/capabilities/zob-public-runtime-capabilities.json +1700 -0
- package/.pi/chains/explore-plan-oracle.json +78 -0
- package/.pi/chains/explore-spec-clarify-plan-oracle.json +64 -0
- package/.pi/chains/explore-spec-plan-oracle.json +53 -0
- package/.pi/chains/spec-clarify-plan-oracle.json +53 -0
- package/.pi/chains/spec-factory-oracle.json +42 -0
- package/.pi/chains/spec-plan-oracle.json +42 -0
- package/.pi/compute-profiles/defaults.json +19 -0
- package/.pi/compute-profiles/overrides.json +13 -0
- package/.pi/compute-profiles/risk-rules.json +16 -0
- package/.pi/daemon-policy.json +80 -0
- package/.pi/damage-control-rules.json +45 -0
- package/.pi/extensions/zob-child-safety/index.ts +212 -0
- package/.pi/extensions/zob-harness/AGENTS.md +28 -0
- package/.pi/extensions/zob-harness/index.ts +391 -0
- package/.pi/extensions/zob-harness/src/AGENTS.md +25 -0
- package/.pi/extensions/zob-harness/src/agents.ts +82 -0
- package/.pi/extensions/zob-harness/src/autonomous-runtime.ts +2912 -0
- package/.pi/extensions/zob-harness/src/autonomy-readiness.ts +778 -0
- package/.pi/extensions/zob-harness/src/budget-policy.ts +308 -0
- package/.pi/extensions/zob-harness/src/capabilities.ts +249 -0
- package/.pi/extensions/zob-harness/src/child-runner.ts +249 -0
- package/.pi/extensions/zob-harness/src/chronicle.ts +262 -0
- package/.pi/extensions/zob-harness/src/compute-profile.ts +602 -0
- package/.pi/extensions/zob-harness/src/compute-workflow-shape.ts +168 -0
- package/.pi/extensions/zob-harness/src/coms-v2/AGENTS.md +16 -0
- package/.pi/extensions/zob-harness/src/coms-v2/envelope.ts +121 -0
- package/.pi/extensions/zob-harness/src/coms-v2/identity.ts +53 -0
- package/.pi/extensions/zob-harness/src/coms-v2/ledger-bridge.ts +67 -0
- package/.pi/extensions/zob-harness/src/coms-v2/local-transport.ts +147 -0
- package/.pi/extensions/zob-harness/src/coms-v2/pending-replies.ts +80 -0
- package/.pi/extensions/zob-harness/src/coms-v2/policy.ts +125 -0
- package/.pi/extensions/zob-harness/src/coms-v2/presence.ts +55 -0
- package/.pi/extensions/zob-harness/src/coms-v2/registry.ts +113 -0
- package/.pi/extensions/zob-harness/src/coms-v2/response-capture.ts +50 -0
- package/.pi/extensions/zob-harness/src/coms-v2/transcript-capture.ts +164 -0
- package/.pi/extensions/zob-harness/src/coms-v2/types.ts +149 -0
- package/.pi/extensions/zob-harness/src/coms-v2/zpeer-profile.ts +140 -0
- package/.pi/extensions/zob-harness/src/coms-v2/zpeer.ts +452 -0
- package/.pi/extensions/zob-harness/src/constants.ts +108 -0
- package/.pi/extensions/zob-harness/src/context-gbrain.ts +465 -0
- package/.pi/extensions/zob-harness/src/daemon-policy.ts +223 -0
- package/.pi/extensions/zob-harness/src/daemon-readiness.ts +134 -0
- package/.pi/extensions/zob-harness/src/daemon-runtime.ts +393 -0
- package/.pi/extensions/zob-harness/src/factory/AGENTS.md +24 -0
- package/.pi/extensions/zob-harness/src/factory/agentic-plan.ts +65 -0
- package/.pi/extensions/zob-harness/src/factory/quarantine.ts +319 -0
- package/.pi/extensions/zob-harness/src/factory/run.ts +520 -0
- package/.pi/extensions/zob-harness/src/factory/validation.ts +454 -0
- package/.pi/extensions/zob-harness/src/factory-selector.ts +318 -0
- package/.pi/extensions/zob-harness/src/full-autonomy-test.ts +226 -0
- package/.pi/extensions/zob-harness/src/git-ops.ts +868 -0
- package/.pi/extensions/zob-harness/src/goal-room.ts +178 -0
- package/.pi/extensions/zob-harness/src/goal-runtime.ts +1569 -0
- package/.pi/extensions/zob-harness/src/goal-todo-imports.ts +111 -0
- package/.pi/extensions/zob-harness/src/goal-todo-types.ts +231 -0
- package/.pi/extensions/zob-harness/src/goal-todos.ts +1410 -0
- package/.pi/extensions/zob-harness/src/goal.ts +152 -0
- package/.pi/extensions/zob-harness/src/governed-requests.ts +436 -0
- package/.pi/extensions/zob-harness/src/interactive-autonomy.ts +595 -0
- package/.pi/extensions/zob-harness/src/launch-apply.ts +313 -0
- package/.pi/extensions/zob-harness/src/merge-queue.ts +290 -0
- package/.pi/extensions/zob-harness/src/mission-control.ts +573 -0
- package/.pi/extensions/zob-harness/src/model-availability.ts +52 -0
- package/.pi/extensions/zob-harness/src/model-routing.ts +429 -0
- package/.pi/extensions/zob-harness/src/orchestration/AGENTS.md +23 -0
- package/.pi/extensions/zob-harness/src/orchestration/adaptive-delegation.ts +547 -0
- package/.pi/extensions/zob-harness/src/orchestration/adaptive-workflow.ts +585 -0
- package/.pi/extensions/zob-harness/src/orchestration/lead-plan.ts +192 -0
- package/.pi/extensions/zob-harness/src/orchestration/plan.ts +168 -0
- package/.pi/extensions/zob-harness/src/orchestration/room.ts +346 -0
- package/.pi/extensions/zob-harness/src/orchestration/run.ts +134 -0
- package/.pi/extensions/zob-harness/src/orchestration/supervised-readonly.ts +1147 -0
- package/.pi/extensions/zob-harness/src/orchestration/widget-readers.ts +132 -0
- package/.pi/extensions/zob-harness/src/output-contracts.ts +656 -0
- package/.pi/extensions/zob-harness/src/project-dna.ts +533 -0
- package/.pi/extensions/zob-harness/src/promotion/AGENTS.md +24 -0
- package/.pi/extensions/zob-harness/src/promotion/candidate.ts +336 -0
- package/.pi/extensions/zob-harness/src/promotion/coms.ts +127 -0
- package/.pi/extensions/zob-harness/src/promotion/documentation.ts +142 -0
- package/.pi/extensions/zob-harness/src/promotion/factory.ts +107 -0
- package/.pi/extensions/zob-harness/src/promotion/ledger.ts +2 -0
- package/.pi/extensions/zob-harness/src/promotion/temp-agent.ts +151 -0
- package/.pi/extensions/zob-harness/src/promotion/types.ts +149 -0
- package/.pi/extensions/zob-harness/src/promotion/validate.ts +6 -0
- package/.pi/extensions/zob-harness/src/promotion/write-lane.ts +162 -0
- package/.pi/extensions/zob-harness/src/prompt-packs.ts +239 -0
- package/.pi/extensions/zob-harness/src/queue.ts +386 -0
- package/.pi/extensions/zob-harness/src/rules.ts +225 -0
- package/.pi/extensions/zob-harness/src/runtime/AGENTS.md +26 -0
- package/.pi/extensions/zob-harness/src/runtime/adaptive-zmode.ts +116 -0
- package/.pi/extensions/zob-harness/src/runtime/auto-compaction.ts +715 -0
- package/.pi/extensions/zob-harness/src/runtime/commands.ts +1315 -0
- package/.pi/extensions/zob-harness/src/runtime/compaction-policy.ts +516 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-click-markers.ts +141 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-feed.ts +415 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-markdown.ts +97 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-monitor.ts +553 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-mouse.ts +205 -0
- package/.pi/extensions/zob-harness/src/runtime/delegation-overlay.ts +434 -0
- package/.pi/extensions/zob-harness/src/runtime/events.ts +736 -0
- package/.pi/extensions/zob-harness/src/runtime/goal-todo-overlay.ts +214 -0
- package/.pi/extensions/zob-harness/src/runtime/mode-intent.ts +144 -0
- package/.pi/extensions/zob-harness/src/runtime/plan-capture.ts +270 -0
- package/.pi/extensions/zob-harness/src/runtime/state.ts +403 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-autonomous.ts +117 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-compute.ts +136 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-coms.ts +365 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-context.ts +70 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-delegation.ts +1854 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-factory.ts +810 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-goal-room.ts +46 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-governed-requests.ts +38 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-merge-queue.ts +61 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-mission-control.ts +77 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-orchestration.ts +106 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-project-dna.ts +123 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-worker-pool.ts +93 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-workspace-claims.ts +62 -0
- package/.pi/extensions/zob-harness/src/runtime/tools-zcommit.ts +147 -0
- package/.pi/extensions/zob-harness/src/runtime/widget.ts +353 -0
- package/.pi/extensions/zob-harness/src/runtime/zobHarness.ts +60 -0
- package/.pi/extensions/zob-harness/src/safety.ts +338 -0
- package/.pi/extensions/zob-harness/src/sandbox.ts +1508 -0
- package/.pi/extensions/zob-harness/src/schemas-project-dna.ts +47 -0
- package/.pi/extensions/zob-harness/src/schemas.ts +695 -0
- package/.pi/extensions/zob-harness/src/telemetry.ts +373 -0
- package/.pi/extensions/zob-harness/src/topology/AGENTS.md +22 -0
- package/.pi/extensions/zob-harness/src/topology/chains.ts +236 -0
- package/.pi/extensions/zob-harness/src/topology/coms.ts +211 -0
- package/.pi/extensions/zob-harness/src/topology/orchestration-profiles.ts +204 -0
- package/.pi/extensions/zob-harness/src/topology/teams.ts +113 -0
- package/.pi/extensions/zob-harness/src/types/core.ts +47 -0
- package/.pi/extensions/zob-harness/src/types.ts +939 -0
- package/.pi/extensions/zob-harness/src/utils/AGENTS.md +22 -0
- package/.pi/extensions/zob-harness/src/utils/formatting.ts +34 -0
- package/.pi/extensions/zob-harness/src/utils/hashing.ts +11 -0
- package/.pi/extensions/zob-harness/src/utils/json.ts +28 -0
- package/.pi/extensions/zob-harness/src/utils/paths.ts +54 -0
- package/.pi/extensions/zob-harness/src/utils/records.ts +25 -0
- package/.pi/extensions/zob-harness/src/utils/resources.ts +38 -0
- package/.pi/extensions/zob-harness/src/worker-pool.ts +672 -0
- package/.pi/extensions/zob-harness/src/workspace-claims.ts +297 -0
- package/.pi/extensions/zob-switch/index.ts +180 -0
- package/.pi/factories/budget-preflight-dry-run/batch-manifest.json +59 -0
- package/.pi/factories/budget-preflight-dry-run/factory.json +94 -0
- package/.pi/factories/budget-preflight-dry-run/pilot-manifest.json +50 -0
- package/.pi/factories/budget-preflight-dry-run/smoke-manifest.json +43 -0
- package/.pi/factories/code-review-matrix/batch-manifest.json +61 -0
- package/.pi/factories/code-review-matrix/factory.json +163 -0
- package/.pi/factories/code-review-matrix/pilot-manifest.json +41 -0
- package/.pi/factories/code-review-matrix/smoke-manifest.json +35 -0
- package/.pi/factories/factory-forge/batch-manifest.json +56 -0
- package/.pi/factories/factory-forge/factory.json +84 -0
- package/.pi/factories/factory-forge/pilot-manifest.json +32 -0
- package/.pi/factories/factory-forge/smoke-manifest.json +19 -0
- package/.pi/factories/opencode-pattern-canonizer/batch-manifest.json +54 -0
- package/.pi/factories/opencode-pattern-canonizer/factory.json +86 -0
- package/.pi/factories/opencode-pattern-canonizer/pilot-manifest.json +39 -0
- package/.pi/factories/opencode-pattern-canonizer/smoke-manifest.json +26 -0
- package/.pi/factories/project-dna/README.md +182 -0
- package/.pi/factories/project-dna/batch-manifest.json +37 -0
- package/.pi/factories/project-dna/example-project-dna-manifest-v2.json +80 -0
- package/.pi/factories/project-dna/example-project-dna-manifest.json +58 -0
- package/.pi/factories/project-dna/factory.json +131 -0
- package/.pi/factories/project-dna/golden-cases-smoke.json +62 -0
- package/.pi/factories/project-dna/pi-agentic-ontology.json +88 -0
- package/.pi/factories/project-dna/pilot-manifest.json +32 -0
- package/.pi/factories/project-dna/schemas/benchmark-suite.schema.json +27 -0
- package/.pi/factories/project-dna/schemas/code-knowledge-graph.schema.json +97 -0
- package/.pi/factories/project-dna/schemas/context-pack.schema.json +43 -0
- package/.pi/factories/project-dna/schemas/golden-case.schema.json +36 -0
- package/.pi/factories/project-dna/schemas/manifest-v2.schema.json +128 -0
- package/.pi/factories/project-dna/schemas/manifest.schema.json +77 -0
- package/.pi/factories/project-dna/schemas/ontology.schema.json +45 -0
- package/.pi/factories/project-dna/schemas/project-fingerprint.schema.json +28 -0
- package/.pi/factories/project-dna/schemas/query-steward-report.schema.json +52 -0
- package/.pi/factories/project-dna/smoke-manifest.json +27 -0
- package/.pi/factories/roadmap-smoke-lots/batch-manifest.json +49 -0
- package/.pi/factories/roadmap-smoke-lots/factory.json +89 -0
- package/.pi/factories/roadmap-smoke-lots/pilot-manifest.json +50 -0
- package/.pi/factories/roadmap-smoke-lots/smoke-manifest.json +35 -0
- package/.pi/git-policy.json +120 -0
- package/.pi/mission-control/zob_coms_transport.json +64 -0
- package/.pi/model-catalog.example.json +345 -0
- package/.pi/model-economy.example.json +196 -0
- package/.pi/model-routing.json +86 -0
- package/.pi/orchestrations/adaptive-chief-vision.json +193 -0
- package/.pi/orchestrations/ceo-feature-build.json +182 -0
- package/.pi/orchestrations/readonly-dynamic-smoke.json +75 -0
- package/.pi/output-contracts/agent-event.v1.json +19 -0
- package/.pi/output-contracts/base.v1.json +24 -0
- package/.pi/output-contracts/brain-lookup.v1.json +21 -0
- package/.pi/output-contracts/clarification.v1.json +21 -0
- package/.pi/output-contracts/context-pack.v1.json +20 -0
- package/.pi/output-contracts/context-request.v1.json +21 -0
- package/.pi/output-contracts/context-steward.v1.json +19 -0
- package/.pi/output-contracts/context-writeback-proposal.v1.json +18 -0
- package/.pi/output-contracts/delegation-request.v1.json +21 -0
- package/.pi/output-contracts/explore.v1.json +52 -0
- package/.pi/output-contracts/factory.v1.json +48 -0
- package/.pi/output-contracts/guidance-steward.v1.json +18 -0
- package/.pi/output-contracts/implement.v1.json +40 -0
- package/.pi/output-contracts/launch-authorization.v1.json +21 -0
- package/.pi/output-contracts/lead-plan.v1.json +22 -0
- package/.pi/output-contracts/mission-readiness.v1.json +20 -0
- package/.pi/output-contracts/oracle-merge.v1.json +44 -0
- package/.pi/output-contracts/oracle-request.v1.json +20 -0
- package/.pi/output-contracts/oracle.v1.json +44 -0
- package/.pi/output-contracts/orchestration-profile.v1.json +22 -0
- package/.pi/output-contracts/plan.v1.json +48 -0
- package/.pi/output-contracts/prompt-pack.v1.json +20 -0
- package/.pi/output-contracts/qa.v1.json +40 -0
- package/.pi/output-contracts/research.v1.json +36 -0
- package/.pi/output-contracts/spec.v1.json +22 -0
- package/.pi/output-contracts/synthesis.v1.json +44 -0
- package/.pi/output-contracts/temp-agent-card.v1.json +23 -0
- package/.pi/output-contracts/todo-child-result.v1.json +20 -0
- package/.pi/output-contracts/todo-child-result.v2.json +22 -0
- package/.pi/output-contracts/todo-claim-validation.v1.json +22 -0
- package/.pi/output-contracts/todo-split-request.v1.json +20 -0
- package/.pi/prompts/adaptive-workflow.md +63 -0
- package/.pi/prompts/autonomous-runtime.md +15 -0
- package/.pi/prompts/benchmark-contender.md +15 -0
- package/.pi/prompts/benchmark-judge.md +19 -0
- package/.pi/prompts/clarify-spec.md +20 -0
- package/.pi/prompts/compute-plan.md +36 -0
- package/.pi/prompts/compute-preview.md +42 -0
- package/.pi/prompts/contract.md +29 -0
- package/.pi/prompts/explore.md +13 -0
- package/.pi/prompts/factory-run.md +36 -0
- package/.pi/prompts/factory.md +20 -0
- package/.pi/prompts/implement.md +27 -0
- package/.pi/prompts/model-catalog.md +68 -0
- package/.pi/prompts/model-economy.md +64 -0
- package/.pi/prompts/oracle-merge.md +18 -0
- package/.pi/prompts/oracle.md +13 -0
- package/.pi/prompts/orchestrator.md +48 -0
- package/.pi/prompts/parallel-review.md +21 -0
- package/.pi/prompts/plan.md +21 -0
- package/.pi/prompts/project-dna.md +90 -0
- package/.pi/prompts/refactor-oracle.md +23 -0
- package/.pi/prompts/refactor-slice.md +24 -0
- package/.pi/prompts/research.md +20 -0
- package/.pi/prompts/spec.md +19 -0
- package/.pi/prompts/synthesis.md +18 -0
- package/.pi/rules/always.md +38 -0
- package/.pi/rules/docs.md +32 -0
- package/.pi/rules/factory.md +44 -0
- package/.pi/rules/oracle.md +34 -0
- package/.pi/rules/orchestration.md +44 -0
- package/.pi/rules/project.md +34 -0
- package/.pi/rules/prompts.md +43 -0
- package/.pi/rules/runtime.md +43 -0
- package/.pi/rules/sandbox.md +43 -0
- package/.pi/settings.json +28 -0
- package/.pi/skills/zob-agentic-access/SKILL.md +20 -0
- package/.pi/skills/zob-autonomous-runtime/SKILL.md +41 -0
- package/.pi/skills/zob-commit/SKILL.md +79 -0
- package/.pi/skills/zob-compaction-policy/SKILL.md +92 -0
- package/.pi/skills/zob-compute-profile/SKILL.md +108 -0
- package/.pi/skills/zob-coms-safety/SKILL.md +54 -0
- package/.pi/skills/zob-coms-v2-live/SKILL.md +47 -0
- package/.pi/skills/zob-delegation-routing/SKILL.md +82 -0
- package/.pi/skills/zob-factory/SKILL.md +28 -0
- package/.pi/skills/zob-goal-todo-tree/SKILL.md +279 -0
- package/.pi/skills/zob-harness/SKILL.md +68 -0
- package/.pi/skills/zob-mission-control-coms/SKILL.md +39 -0
- package/.pi/skills/zob-oracle/SKILL.md +21 -0
- package/.pi/skills/zob-owner-pool-drill-writer/SKILL.md +244 -0
- package/.pi/skills/zob-owner-pool-launcher/SKILL.md +261 -0
- package/.pi/skills/zob-project-dna/SKILL.md +275 -0
- package/.pi/skills/zob-sandbox/SKILL.md +29 -0
- package/.pi/skills/zob-spec/SKILL.md +25 -0
- package/.pi/skills/zob-split-refactor/SKILL.md +39 -0
- package/.pi/skills/zob-tool-router/SKILL.md +104 -0
- package/.pi/teams/zob-core.json +122 -0
- package/AGENTS.md +89 -0
- package/CONTRIBUTING.md +56 -0
- package/LICENSE +21 -0
- package/README.md +360 -0
- package/SECURITY.md +35 -0
- package/SOURCE_INDEX.md +46 -0
- package/package.json +135 -0
- package/scripts/README.md +57 -0
- package/scripts/autonomy/mission-readiness-secret-smoke.mjs +90 -0
- package/scripts/compute-profile/plan-workflow.mjs +85 -0
- package/scripts/compute-profile/preview.mjs +242 -0
- package/scripts/compute-profile/regression-smoke.mjs +38 -0
- package/scripts/compute-profile/summarize.mjs +72 -0
- package/scripts/compute-profile/validate-policy.mjs +50 -0
- package/scripts/compute-profile/validate-preview.mjs +95 -0
- package/scripts/compute-profile/validate-workflow.mjs +58 -0
- package/scripts/git-ops/commit-policy-smoke.mjs +221 -0
- package/scripts/goal-todo/child-goal-ref-smoke.mjs +252 -0
- package/scripts/harness-switch/static-smoke.mjs +43 -0
- package/scripts/model-catalog/validate-economy.mjs +223 -0
- package/scripts/model-catalog/validate.mjs +199 -0
- package/scripts/package-surface/validate-script-refs.mjs +190 -0
- package/scripts/path-policy/validate-smoke.mjs +103 -0
- package/scripts/project-dna/bench-smoke.mjs +217 -0
- package/scripts/project-dna/build-capsules.mjs +207 -0
- package/scripts/project-dna/build-sample-spec.mjs +140 -0
- package/scripts/project-dna/emit-golden-cases.mjs +75 -0
- package/scripts/project-dna/emit-ontology.mjs +75 -0
- package/scripts/project-dna/generate-sample.mjs +302 -0
- package/scripts/project-dna/oracle-review-smoke.mjs +157 -0
- package/scripts/project-dna/plan-workflow.mjs +289 -0
- package/scripts/project-dna/query-context.mjs +276 -0
- package/scripts/project-dna/query-steward.mjs +149 -0
- package/scripts/project-dna/scan.mjs +553 -0
- package/scripts/project-dna/validate-5of5.mjs +159 -0
- package/scripts/project-dna/validate-golden-cases.mjs +78 -0
- package/scripts/project-dna/validate-ontology.mjs +97 -0
- package/scripts/project-dna/validate-sample-project.mjs +105 -0
- package/scripts/project-dna/validate-scaffold.mjs +383 -0
- package/scripts/project-dna/validate-scan-artifacts.mjs +187 -0
- package/scripts/project-dna/validate-workflow.mjs +166 -0
- package/scripts/start-pi.sh +4 -0
- package/scripts/worker-pool/static-smoke.mjs +54 -0
- package/scripts/zpeer-local-e2e-smoke.mjs +395 -0
- package/scripts/zpeer-static-smoke.mjs +129 -0
- package/tsconfig.json +12 -0
package/README.md
ADDED
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
# ZOB Harness
|
|
2
|
+
|
|
3
|
+
**A governed Pi harness for human-controlled agentic engineering.**
|
|
4
|
+
|
|
5
|
+
ZOB Harness turns an open-ended coding-agent chat into a governed engineering loop: clear contracts, specialist agents, mode-aware workflows, safety gates, evidence reports, skeptical oracle review, and repeatable software factories.
|
|
6
|
+
|
|
7
|
+
It is for developers and evaluators who want agents to help with real repository work without losing the plot, touching secrets, silently committing, or declaring victory without proof.
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
Human intent
|
|
11
|
+
-> six-part contract
|
|
12
|
+
-> scoped mode and tools
|
|
13
|
+
-> specialist agent or local implementation
|
|
14
|
+
-> validation evidence
|
|
15
|
+
-> oracle review / no-ship decision
|
|
16
|
+
-> reusable workflow when the pattern repeats
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
ZOB is not an “unleash the agent” project. It is a control plane for making agent work reviewable, bounded, and repeatable.
|
|
20
|
+
|
|
21
|
+
## Why ZOB exists
|
|
22
|
+
|
|
23
|
+
Normal coding-agent sessions can be impressive and still fail in predictable ways:
|
|
24
|
+
|
|
25
|
+
- The agent drifts from the task or expands scope.
|
|
26
|
+
- Research, planning, implementation, and review blur together.
|
|
27
|
+
- Delegated work comes back without enough evidence.
|
|
28
|
+
- Generated artifacts mix with source files.
|
|
29
|
+
- Safety rules live in prose instead of enforceable gates.
|
|
30
|
+
- “Done” is claimed before commands, diffs, and blockers are visible.
|
|
31
|
+
|
|
32
|
+
ZOB adds an operating layer around Pi so each step has a job, a boundary, and an audit trail.
|
|
33
|
+
|
|
34
|
+
## What you get
|
|
35
|
+
|
|
36
|
+
### 1. Contract-first delegation
|
|
37
|
+
|
|
38
|
+
Every delegated task can be expressed as a six-part contract:
|
|
39
|
+
|
|
40
|
+
```text
|
|
41
|
+
1. TASK: [atomic goal]
|
|
42
|
+
2. EXPECTED OUTCOME: [observable deliverable/verdict]
|
|
43
|
+
3. REQUIRED TOOLS: [allowed tools only]
|
|
44
|
+
4. MUST DO: [positive constraints]
|
|
45
|
+
5. MUST NOT DO: [hard stops]
|
|
46
|
+
6. CONTEXT: [paths, prior evidence, downstream use]
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
This keeps child work bounded and makes review easier: what changed, what was verified, what remains risky, and what should stop shipment.
|
|
50
|
+
|
|
51
|
+
### 2. Mode-aware engineering loops
|
|
52
|
+
|
|
53
|
+
ZOB separates the work into explicit modes:
|
|
54
|
+
|
|
55
|
+
- **Explore** — inspect and map facts without editing.
|
|
56
|
+
- **Plan** — turn evidence into a bounded implementation path.
|
|
57
|
+
- **Implement** — change the smallest safe file set and verify it.
|
|
58
|
+
- **Oracle** — review skeptically and surface no-ship blockers.
|
|
59
|
+
- **Factory** — convert repeatable workflows into manifests, checkpoints, sentinels, and smoke gates.
|
|
60
|
+
- **Orchestrator** — coordinate goals, TODO graphs, and specialist handoffs without bypassing safety.
|
|
61
|
+
|
|
62
|
+
For non-trivial work, the default loop is:
|
|
63
|
+
|
|
64
|
+
```text
|
|
65
|
+
Explore -> Plan -> Implement -> Oracle
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 3. Specialist agents and domain skills
|
|
69
|
+
|
|
70
|
+
The repo includes reusable operating assets for focused work:
|
|
71
|
+
|
|
72
|
+
- [`.pi/agents/`](.pi/agents/) — specialist roles for exploration, planning, implementation, QA, oracle review, synthesis, ProjectDNA, and more.
|
|
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.
|
|
76
|
+
|
|
77
|
+
The goal is not to make prompts longer. The goal is to route the right instructions only when a task needs them.
|
|
78
|
+
|
|
79
|
+
### 4. Evidence-gated completion
|
|
80
|
+
|
|
81
|
+
A ZOB result should make review straightforward. Agents are expected to report:
|
|
82
|
+
|
|
83
|
+
- exact files changed;
|
|
84
|
+
- exact commands run;
|
|
85
|
+
- command outcomes;
|
|
86
|
+
- evidence references;
|
|
87
|
+
- unresolved risks and blockers;
|
|
88
|
+
- compliance with forbidden paths, commit policy, and scope.
|
|
89
|
+
|
|
90
|
+
That evidence posture is built into the project instructions in [AGENTS.md](AGENTS.md), the source map in [SOURCE_INDEX.md](SOURCE_INDEX.md), and the validation helpers in [scripts/README.md](scripts/README.md).
|
|
91
|
+
|
|
92
|
+
### 5. Safety-first local operation
|
|
93
|
+
|
|
94
|
+
ZOB is deliberately conservative around risky actions:
|
|
95
|
+
|
|
96
|
+
- no `.env`, private key, SSH, AWS, or credential reads;
|
|
97
|
+
- no destructive shell/git operations without explicit approval;
|
|
98
|
+
- no direct commits, pushes, tags, or force pushes by default;
|
|
99
|
+
- governed commits go through `/zcommit` only when explicitly authorized;
|
|
100
|
+
- generated reports, ledgers, sessions, and local coordination state stay local;
|
|
101
|
+
- autonomy checks are supervised evidence, not a claim of unrestricted autonomy.
|
|
102
|
+
|
|
103
|
+
The safety posture is backed by [`.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).
|
|
104
|
+
|
|
105
|
+
### 6. Factories for repeatable work
|
|
106
|
+
|
|
107
|
+
When a workflow repeats, ZOB can turn it into a factory-shaped process: manifest, checkpoints, sentinels, smoke/pilot/batch gates, artifacts, and oracle review. The repository includes safe scaffolds under [`.pi/factories/`](.pi/factories/) and validation commands for public, reproducible workflows.
|
|
108
|
+
|
|
109
|
+
### 7. Local code knowledge with ProjectDNA
|
|
110
|
+
|
|
111
|
+
ProjectDNA scaffolding helps turn approved local code scan artifacts into bounded, cited context packs and sample/spec outputs. The public posture is intentionally safe: read-only approved sources, generated artifacts under `reports/`, and no external knowledge-backend import/sync/embed/write unless explicitly approved.
|
|
112
|
+
|
|
113
|
+
## Quick start
|
|
114
|
+
|
|
115
|
+
### Requirements
|
|
116
|
+
|
|
117
|
+
- Node.js **22+**; Node 24 is recommended.
|
|
118
|
+
- npm.
|
|
119
|
+
- Pi installed and available on `PATH`.
|
|
120
|
+
|
|
121
|
+
### Install from npm for normal Pi use
|
|
122
|
+
|
|
123
|
+
After the package is published to npm, install the pinned Pi package:
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
pi install npm:zob-harness@0.1.0
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
Then verify that Pi can load the package extension set and return a deterministic response:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
pi -e npm:zob-harness@0.1.0 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Expected result:
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
zob-harness-ok
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
If `pi install` cannot find the package, confirm the npm release is visible first:
|
|
142
|
+
|
|
143
|
+
```bash
|
|
144
|
+
npm view zob-harness@0.1.0 version
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
Expected result:
|
|
148
|
+
|
|
149
|
+
```text
|
|
150
|
+
0.1.0
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
Pi package discovery on `pi.dev/packages` is based on the npm `pi-package` keyword and may lag behind npm publication.
|
|
154
|
+
|
|
155
|
+
### Try from a local checkout before publication
|
|
156
|
+
|
|
157
|
+
Use this path when developing or validating a release candidate before npm publication:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
git clone https://github.com/cgarrot/zob-harness.git
|
|
161
|
+
cd zob-harness
|
|
162
|
+
npm install
|
|
163
|
+
npm run check -- --pretty false
|
|
164
|
+
npm run pi:check
|
|
165
|
+
npm run pack:dry-run
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
Expected results:
|
|
169
|
+
|
|
170
|
+
- TypeScript completes with exit code 0 and no diagnostics.
|
|
171
|
+
- Pi loads the local configured ZOB extension offline and replies with `zob-harness-ok`.
|
|
172
|
+
- `npm pack --dry-run --json` lists the Pi manifest, extensions, prompts, skills, agents, and validation scripts in the tarball.
|
|
173
|
+
|
|
174
|
+
### Start Pi with the local harness checkout
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
npm run pi
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Inside Pi, try:
|
|
181
|
+
|
|
182
|
+
```text
|
|
183
|
+
/zmode
|
|
184
|
+
/agents
|
|
185
|
+
/contract
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
You should see ZOB modes, specialist agents, and the six-part delegation contract helper.
|
|
189
|
+
|
|
190
|
+
### Public smoke baseline
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
npm run validate:script-surface
|
|
194
|
+
npm run smoke:harness
|
|
195
|
+
npm run check -- --pretty false
|
|
196
|
+
npm run pack:dry-run
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
These commands verify the public script surface, core path/child-goal smokes, TypeScript baseline, and npm package surface.
|
|
200
|
+
|
|
201
|
+
## Common workflows
|
|
202
|
+
|
|
203
|
+
### A safe single-agent implementation loop
|
|
204
|
+
|
|
205
|
+
```text
|
|
206
|
+
1. Ask for Explore: inspect files and state a gap verdict.
|
|
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.
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
This keeps implementation from starting before the repo facts and stop conditions are clear.
|
|
213
|
+
|
|
214
|
+
### Delegating work to a specialist
|
|
215
|
+
|
|
216
|
+
Use `/contract` to create a bounded handoff, then route to an appropriate specialist agent. A good delegated result should come back with changed files, validation commands, evidence refs, risks, and no-ship status for parent/oracle review.
|
|
217
|
+
|
|
218
|
+
### Goal-linked TODO work
|
|
219
|
+
|
|
220
|
+
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.
|
|
221
|
+
|
|
222
|
+
### Governed commits
|
|
223
|
+
|
|
224
|
+
ZOB does not encourage invisible git operations. When a user explicitly asks for a commit, agents must use `/zcommit` and follow [`.pi/git-policy.json`](.pi/git-policy.json). Autocommit and autopush are off by default.
|
|
225
|
+
|
|
226
|
+
### Repeatable factory runs
|
|
227
|
+
|
|
228
|
+
For recurring tasks, use factory scaffolds rather than ad hoc repetition. Factories should keep manifests, checkpoints, sentinels, generated artifacts, smoke gates, and oracle evidence visible.
|
|
229
|
+
|
|
230
|
+
### Bounded ProjectDNA context
|
|
231
|
+
|
|
232
|
+
Use ProjectDNA commands and scripts when a task needs cited local code context. Keep scans approved, artifacts local, and writeback proposal-only unless the parent explicitly authorizes more.
|
|
233
|
+
|
|
234
|
+
## Command cheat sheet
|
|
235
|
+
|
|
236
|
+
Inside Pi:
|
|
237
|
+
|
|
238
|
+
- `/zmode` — switch between `explore`, `plan`, `implement`, `oracle`, `factory`, and `orchestrator`.
|
|
239
|
+
- `/stop` — abort current foreground work and local background activity without shutting down Pi.
|
|
240
|
+
- `/contract` — insert the six-part delegation template.
|
|
241
|
+
- `/agents` — list specialist agents.
|
|
242
|
+
- `/goal`, `/todo`, `/todos`, `/goal_gate` — manage goal-linked TODO work and scope anchors.
|
|
243
|
+
- `/compute` or `/effort` — preview/resolve compute profiles without bypassing safety gates.
|
|
244
|
+
- `/project-dna` — query or operate bounded ProjectDNA context workflows.
|
|
245
|
+
- `/zcompact` — configure proactive context compaction.
|
|
246
|
+
- `/zcommit` — governed commit workflow; no direct git commit/push/tag shortcuts.
|
|
247
|
+
- `/zpeer` — local peer/coms workflow commands where enabled.
|
|
248
|
+
|
|
249
|
+
From npm/local checkout:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
npm run pi # start Pi with configured harness wiring
|
|
253
|
+
npm run pi:check # offline extension load check
|
|
254
|
+
npm run check -- --pretty false # TypeScript validation baseline
|
|
255
|
+
npm run check:ci # CI-style TypeScript check
|
|
256
|
+
npm run validate:script-surface # package script/file surface validation
|
|
257
|
+
npm run smoke:harness # path-policy + child-goal-ref smoke
|
|
258
|
+
npm run smoke:git-ops # governed commit policy smoke
|
|
259
|
+
npm run smoke:worker-pool # worker-pool static smoke
|
|
260
|
+
npm run smoke:zpeer # static + local ZPeer smoke
|
|
261
|
+
npm run validate:project-dna # ProjectDNA scaffold validation
|
|
262
|
+
npm run pack:dry-run # npm package dry-run surface check
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Published package install/check:
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
pi install npm:zob-harness@0.1.0
|
|
269
|
+
pi -e npm:zob-harness@0.1.0 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
270
|
+
npm view zob-harness@0.1.0 version
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
See [scripts/README.md](scripts/README.md) for the script family map.
|
|
274
|
+
|
|
275
|
+
## Repository map
|
|
276
|
+
|
|
277
|
+
- [README.md](README.md) — project landing page and quickstart.
|
|
278
|
+
- [AGENTS.md](AGENTS.md) — project-local agent operating rules.
|
|
279
|
+
- [CONTRIBUTING.md](CONTRIBUTING.md) — contributor workflow and validation expectations.
|
|
280
|
+
- [SECURITY.md](SECURITY.md) — security policy.
|
|
281
|
+
- [SOURCE_INDEX.md](SOURCE_INDEX.md) — tracked source and local/generated area map.
|
|
282
|
+
- [package.json](package.json) — package metadata, Pi wiring, and npm scripts.
|
|
283
|
+
- [scripts/README.md](scripts/README.md) — public script surface guide.
|
|
284
|
+
- [`.pi/extensions/zob-harness/`](.pi/extensions/zob-harness/) — main Pi extension.
|
|
285
|
+
- [`.pi/extensions/zob-child-safety/`](.pi/extensions/zob-child-safety/) — child-agent safety extension.
|
|
286
|
+
- [`.pi/agents/`](.pi/agents/) — specialist agent definitions.
|
|
287
|
+
- [`.pi/skills/`](.pi/skills/) — domain-specific operating instructions.
|
|
288
|
+
- [`.pi/prompts/`](.pi/prompts/) — reusable prompt templates.
|
|
289
|
+
- [`.pi/factories/`](.pi/factories/) — safe factory scaffolds.
|
|
290
|
+
- [`.pi/output-contracts/`](.pi/output-contracts/) — structured output contract manifests.
|
|
291
|
+
- [`.pi/capabilities/`](.pi/capabilities/) — public runtime capability registry.
|
|
292
|
+
- [`scripts/`](scripts/README.md) — local validation, smoke, audit, and proof helpers.
|
|
293
|
+
|
|
294
|
+
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
|
+
|
|
296
|
+
## Current status and limits
|
|
297
|
+
|
|
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.
|
|
299
|
+
|
|
300
|
+
Current limits are intentional:
|
|
301
|
+
|
|
302
|
+
- explicit scoped tools, paths, and stop conditions by default;
|
|
303
|
+
- human approval for risky writes and commits;
|
|
304
|
+
- no global autonomy claim from dry-run or read-only validation;
|
|
305
|
+
- no public claims based on private benchmark artifacts;
|
|
306
|
+
- generated reports and local runtime ledgers are kept out of source control;
|
|
307
|
+
- advanced runtime moves and broad refactors should be split into reviewed slices.
|
|
308
|
+
|
|
309
|
+
## Validation standard for changes
|
|
310
|
+
|
|
311
|
+
For a normal README/docs or harness-surface change, start with:
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
npm run validate:script-surface
|
|
315
|
+
git diff --check
|
|
316
|
+
npm run check -- --pretty false
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
When relevant, add:
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
npm run smoke:harness
|
|
323
|
+
npm run smoke:git-ops
|
|
324
|
+
npm run smoke:worker-pool
|
|
325
|
+
npm run validate:project-dna
|
|
326
|
+
npm run pack:dry-run
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
For a public npm release, maintainers should additionally run:
|
|
330
|
+
|
|
331
|
+
```bash
|
|
332
|
+
npm whoami
|
|
333
|
+
npm view zob-harness@0.1.0 version || true
|
|
334
|
+
npm publish --dry-run
|
|
335
|
+
npm publish
|
|
336
|
+
npm view zob-harness@0.1.0 version
|
|
337
|
+
pi install npm:zob-harness@0.1.0
|
|
338
|
+
pi -e npm:zob-harness@0.1.0 --offline --no-session -p "Reply exactly: zob-harness-ok"
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
`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.
|
|
342
|
+
|
|
343
|
+
Report exact command outcomes before claiming readiness.
|
|
344
|
+
|
|
345
|
+
## Contributing
|
|
346
|
+
|
|
347
|
+
Contributions should preserve the ZOB operating style:
|
|
348
|
+
|
|
349
|
+
- small, reversible changes;
|
|
350
|
+
- explicit scope and stop conditions;
|
|
351
|
+
- no secret access;
|
|
352
|
+
- no hidden commits or pushes;
|
|
353
|
+
- no unsupported benchmark/autonomy claims;
|
|
354
|
+
- validation evidence attached to every readiness claim.
|
|
355
|
+
|
|
356
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for the contributor workflow.
|
|
357
|
+
|
|
358
|
+
## License
|
|
359
|
+
|
|
360
|
+
MIT.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
ZOB Harness is designed for local-first, safety-gated agentic engineering.
|
|
4
|
+
|
|
5
|
+
## Supported version
|
|
6
|
+
|
|
7
|
+
This repository currently publishes the active `main` branch as the supported development line.
|
|
8
|
+
|
|
9
|
+
## Reporting a vulnerability
|
|
10
|
+
|
|
11
|
+
Please report security issues privately through GitHub Security Advisories when available, or by opening a minimal issue that avoids posting exploit details or secrets publicly.
|
|
12
|
+
|
|
13
|
+
When reporting, include:
|
|
14
|
+
|
|
15
|
+
- affected component or path;
|
|
16
|
+
- expected vs actual safety behavior;
|
|
17
|
+
- reproduction steps that do not expose secrets;
|
|
18
|
+
- whether generated artifacts, sessions, or logs are involved.
|
|
19
|
+
|
|
20
|
+
## Security expectations
|
|
21
|
+
|
|
22
|
+
The harness should never require contributors or agents to read or commit:
|
|
23
|
+
|
|
24
|
+
- `.env` files;
|
|
25
|
+
- private keys;
|
|
26
|
+
- SSH/AWS credential folders;
|
|
27
|
+
- provider API keys;
|
|
28
|
+
- local session transcripts;
|
|
29
|
+
- generated runtime ledgers or reports that may contain private context.
|
|
30
|
+
|
|
31
|
+
Generated local artifacts such as `reports/`, `.pi/sessions/`, `.pi/agent-sessions/`, `.pi/tmp/`, `.pi/logs/`, coms ledgers, merge queues, and workspace claims are intentionally ignored by default.
|
|
32
|
+
|
|
33
|
+
## No production-write guarantee
|
|
34
|
+
|
|
35
|
+
This open-source release does not grant agents unrestricted production write access. Browser, cloud, billing, GitHub write, network, or production mutation workflows require explicit human approval and additional gates.
|
package/SOURCE_INDEX.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# ZOB Harness Source Index
|
|
2
|
+
|
|
3
|
+
This file is the human-facing map of the tracked source surface. It is intentionally small and should stay current when public source folders change.
|
|
4
|
+
|
|
5
|
+
## Core package files
|
|
6
|
+
|
|
7
|
+
- `README.md` — project overview and quick start.
|
|
8
|
+
- `AGENTS.md` — project-local operating rules for agents.
|
|
9
|
+
- `CONTRIBUTING.md` — contributor workflow and validation expectations.
|
|
10
|
+
- `SECURITY.md` — security policy.
|
|
11
|
+
- `package.json` — npm scripts, package metadata, Pi extension/prompts/skills wiring.
|
|
12
|
+
- `tsconfig.json` — TypeScript configuration.
|
|
13
|
+
|
|
14
|
+
## Pi harness source
|
|
15
|
+
|
|
16
|
+
- `.pi/extensions/zob-harness/` — main Pi extension.
|
|
17
|
+
- `.pi/extensions/zob-child-safety/` — child-agent safety extension.
|
|
18
|
+
- `.pi/capabilities/` — public runtime capabilities registry.
|
|
19
|
+
- `.pi/agents/` — specialist agent definitions.
|
|
20
|
+
- `.pi/skills/` — domain-specific operating instructions.
|
|
21
|
+
- `.pi/prompts/` — prompt templates.
|
|
22
|
+
- `.pi/output-contracts/` — output contract manifests.
|
|
23
|
+
- `.pi/factories/` — reusable factory scaffolds that are safe for source control.
|
|
24
|
+
- `.pi/chains/` — read-only/plan-only chain definitions.
|
|
25
|
+
- `.pi/orchestrations/` — reusable orchestration profiles.
|
|
26
|
+
- `.pi/teams/` — reusable team topology profiles.
|
|
27
|
+
- `.pi/rules/` — rule packs.
|
|
28
|
+
- `.pi/compute-profiles/` — compute profile defaults and risk rules.
|
|
29
|
+
|
|
30
|
+
## Scripts
|
|
31
|
+
|
|
32
|
+
See `scripts/README.md` for the script surface map.
|
|
33
|
+
|
|
34
|
+
## Local/generated areas
|
|
35
|
+
|
|
36
|
+
These are intentionally local/generated and should not be committed by default:
|
|
37
|
+
|
|
38
|
+
- `docs/` — legacy/internal docs for now; future curated docs should be recreated intentionally.
|
|
39
|
+
- `plans/` — captured planning artifacts.
|
|
40
|
+
- `reports/` — generated reports and evidence.
|
|
41
|
+
- `.pi/tmp/`, `.pi/logs/`, `.pi/sessions/`, `.pi/agent-sessions/` — runtime local state.
|
|
42
|
+
- `.pi/coms/`, `.pi/context/`, `.pi/goal-rooms/`, `.pi/workspace-claims/`, `.pi/worker-pools/`, `.pi/merge-queue/` — generated ledgers/coordination state.
|
|
43
|
+
|
|
44
|
+
## Cleanup rule
|
|
45
|
+
|
|
46
|
+
Before moving, deleting, or committing a local/generated file, classify it first in a report under `reports/zob-cleanup-lanes/` and keep no-ship blockers visible.
|
package/package.json
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zob-harness",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "A governed, human-controlled Pi harness for contract-driven agentic engineering, safety gates, specialist delegation, and software-factory workflows.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/cgarrot/zob-harness.git"
|
|
10
|
+
},
|
|
11
|
+
"bugs": {
|
|
12
|
+
"url": "https://github.com/cgarrot/zob-harness/issues"
|
|
13
|
+
},
|
|
14
|
+
"homepage": "https://github.com/cgarrot/zob-harness#readme",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"pi-package",
|
|
17
|
+
"agentic-engineering",
|
|
18
|
+
"coding-agent",
|
|
19
|
+
"pi-extension",
|
|
20
|
+
"software-factory",
|
|
21
|
+
"safety-gates"
|
|
22
|
+
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=22.0.0"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"AGENTS.md",
|
|
28
|
+
"README.md",
|
|
29
|
+
"SOURCE_INDEX.md",
|
|
30
|
+
"LICENSE",
|
|
31
|
+
"SECURITY.md",
|
|
32
|
+
"CONTRIBUTING.md",
|
|
33
|
+
"tsconfig.json",
|
|
34
|
+
".pi/adapters/registry.json",
|
|
35
|
+
".pi/agents",
|
|
36
|
+
".pi/autonomy-policy.json",
|
|
37
|
+
".pi/budget-policy.json",
|
|
38
|
+
".pi/capabilities",
|
|
39
|
+
".pi/chains",
|
|
40
|
+
".pi/compute-profiles",
|
|
41
|
+
".pi/daemon-policy.json",
|
|
42
|
+
".pi/damage-control-rules.json",
|
|
43
|
+
".pi/extensions",
|
|
44
|
+
".pi/factories/budget-preflight-dry-run",
|
|
45
|
+
".pi/factories/code-review-matrix",
|
|
46
|
+
".pi/factories/factory-forge",
|
|
47
|
+
".pi/factories/opencode-pattern-canonizer",
|
|
48
|
+
".pi/factories/project-dna",
|
|
49
|
+
".pi/factories/roadmap-smoke-lots",
|
|
50
|
+
".pi/git-policy.json",
|
|
51
|
+
".pi/mission-control/zob_coms_transport.json",
|
|
52
|
+
".pi/model-routing.json",
|
|
53
|
+
".pi/orchestrations",
|
|
54
|
+
".pi/output-contracts",
|
|
55
|
+
".pi/prompts",
|
|
56
|
+
".pi/rules",
|
|
57
|
+
".pi/settings.json",
|
|
58
|
+
".pi/skills",
|
|
59
|
+
".pi/teams",
|
|
60
|
+
"scripts/README.md",
|
|
61
|
+
"scripts/autonomy",
|
|
62
|
+
"scripts/compute-profile",
|
|
63
|
+
"scripts/git-ops",
|
|
64
|
+
"scripts/goal-todo",
|
|
65
|
+
"scripts/harness-switch",
|
|
66
|
+
"scripts/model-catalog",
|
|
67
|
+
"scripts/package-surface",
|
|
68
|
+
"scripts/path-policy",
|
|
69
|
+
"scripts/project-dna",
|
|
70
|
+
"scripts/worker-pool",
|
|
71
|
+
"scripts/zpeer-static-smoke.mjs",
|
|
72
|
+
"scripts/zpeer-local-e2e-smoke.mjs",
|
|
73
|
+
"scripts/start-pi.sh",
|
|
74
|
+
".pi/model-catalog.example.json",
|
|
75
|
+
".pi/model-economy.example.json"
|
|
76
|
+
],
|
|
77
|
+
"scripts": {
|
|
78
|
+
"pi": "pi",
|
|
79
|
+
"pi:explore": "pi --no-extensions -e ./.pi/extensions/zob-harness/index.ts --tools read,grep,find,ls,delegate_agent --append-system-prompt 'Start in ZOB explore mode.'",
|
|
80
|
+
"pi:check": "pi --offline --no-session --no-extensions -e ./.pi/extensions/zob-harness/index.ts -p 'Reply exactly: zob-harness-ok'",
|
|
81
|
+
"check": "tsc --noEmit --pretty false",
|
|
82
|
+
"check:ci": "npm run check -- --pretty false",
|
|
83
|
+
"smoke:path-policy": "node scripts/path-policy/validate-smoke.mjs",
|
|
84
|
+
"smoke:child-goal-ref": "node scripts/goal-todo/child-goal-ref-smoke.mjs",
|
|
85
|
+
"smoke:git-ops": "node scripts/git-ops/commit-policy-smoke.mjs",
|
|
86
|
+
"smoke:harness": "npm run smoke:path-policy && npm run smoke:child-goal-ref",
|
|
87
|
+
"smoke:worker-pool": "node scripts/worker-pool/static-smoke.mjs",
|
|
88
|
+
"smoke:autonomy-readiness-secret": "node scripts/autonomy/mission-readiness-secret-smoke.mjs",
|
|
89
|
+
"smoke:zpeer": "node scripts/zpeer-static-smoke.mjs && node scripts/zpeer-local-e2e-smoke.mjs",
|
|
90
|
+
"validate:script-surface": "node scripts/package-surface/validate-script-refs.mjs",
|
|
91
|
+
"pack:dry-run": "npm pack --dry-run --json",
|
|
92
|
+
"validate:compute-profile-policy": "node scripts/compute-profile/validate-policy.mjs",
|
|
93
|
+
"smoke:compute-profile-regression": "node scripts/compute-profile/regression-smoke.mjs",
|
|
94
|
+
"validate:project-dna": "node scripts/project-dna/validate-scaffold.mjs",
|
|
95
|
+
"smoke:project-dna-scan": "node scripts/project-dna/scan.mjs --source-path .pi/factories/project-dna --source-id project-dna-factory --out-dir reports/project-dna-scans/project-dna-factory-smoke",
|
|
96
|
+
"validate:project-dna-scan:smoke": "node scripts/project-dna/validate-scan-artifacts.mjs --scan-dir reports/project-dna-scans/project-dna-factory-smoke",
|
|
97
|
+
"plan:project-dna-workflow:smoke": "node scripts/project-dna/plan-workflow.mjs --manifest .pi/factories/project-dna/example-project-dna-manifest-v2.json --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke} --out ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}/agentic-plan.json",
|
|
98
|
+
"validate:project-dna-workflow:smoke": "node scripts/project-dna/validate-workflow.mjs --plan ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}/agentic-plan.json --manifest .pi/factories/project-dna/example-project-dna-manifest-v2.json",
|
|
99
|
+
"emit:project-dna-ontology:smoke": "node scripts/project-dna/emit-ontology.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}",
|
|
100
|
+
"validate:project-dna-ontology:smoke": "node scripts/project-dna/validate-ontology.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}",
|
|
101
|
+
"emit:project-dna-golden-cases:smoke": "node scripts/project-dna/emit-golden-cases.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}",
|
|
102
|
+
"validate:project-dna-golden-cases:smoke": "node scripts/project-dna/validate-golden-cases.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}",
|
|
103
|
+
"steward:project-dna-query:smoke": "node scripts/project-dna/query-steward.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke} --query 'How does ProjectDNA keep bounded cited context?' --golden-case-id agentic-control-plane --out ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}/query-steward-smoke.json",
|
|
104
|
+
"validate:project-dna-5of5:smoke": "node scripts/project-dna/validate-5of5.mjs --scan-dir ${PROJECT_DNA_SCAN_DIR:-reports/project-dna-scans/project-dna-factory-smoke}",
|
|
105
|
+
"validate:model-catalog": "node scripts/model-catalog/validate.mjs",
|
|
106
|
+
"validate:model-economy": "node scripts/model-catalog/validate-economy.mjs",
|
|
107
|
+
"smoke:harness-switch": "node scripts/harness-switch/static-smoke.mjs"
|
|
108
|
+
},
|
|
109
|
+
"pi": {
|
|
110
|
+
"extensions": [
|
|
111
|
+
".pi/extensions/zob-switch/index.ts",
|
|
112
|
+
".pi/extensions/zob-harness/index.ts"
|
|
113
|
+
],
|
|
114
|
+
"prompts": [
|
|
115
|
+
".pi/prompts"
|
|
116
|
+
],
|
|
117
|
+
"skills": [
|
|
118
|
+
".pi/skills"
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
"peerDependencies": {
|
|
122
|
+
"@earendil-works/pi-ai": "*",
|
|
123
|
+
"@earendil-works/pi-coding-agent": "*",
|
|
124
|
+
"@earendil-works/pi-tui": "*",
|
|
125
|
+
"typebox": "*"
|
|
126
|
+
},
|
|
127
|
+
"devDependencies": {
|
|
128
|
+
"@earendil-works/pi-ai": "0.75.5",
|
|
129
|
+
"@earendil-works/pi-coding-agent": "0.75.5",
|
|
130
|
+
"@earendil-works/pi-tui": "0.75.5",
|
|
131
|
+
"@types/node": "22.19.19",
|
|
132
|
+
"typebox": "1.0.66",
|
|
133
|
+
"typescript": "5.9.3"
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# ZOB Harness Scripts
|
|
2
|
+
|
|
3
|
+
This folder contains local validation, smoke, audit, and proof helpers.
|
|
4
|
+
|
|
5
|
+
## Public/reproducible script families
|
|
6
|
+
|
|
7
|
+
These script families are intended to be part of the normal tracked repo workflow:
|
|
8
|
+
|
|
9
|
+
- `scripts/autonomy/` — static/read-only autonomy readiness smokes.
|
|
10
|
+
- `scripts/compute-profile/` — compute profile policy and regression checks.
|
|
11
|
+
- `scripts/git-ops/` — governed `/zcommit` policy smokes.
|
|
12
|
+
- `scripts/goal-todo/` — Goal/TODO tree compatibility smokes.
|
|
13
|
+
- `scripts/model-catalog/` — local model catalog/economy validators.
|
|
14
|
+
- `scripts/package-surface/` — package.json script/file surface validation.
|
|
15
|
+
- `scripts/path-policy/` — path safety smoke checks.
|
|
16
|
+
- `scripts/project-dna/` — ProjectDNA scaffold/scan/query smoke helpers.
|
|
17
|
+
- `scripts/worker-pool/` — worker-pool metadata/static checks.
|
|
18
|
+
- `scripts/start-pi.sh` — local Pi startup helper.
|
|
19
|
+
|
|
20
|
+
## Root smoke helpers
|
|
21
|
+
|
|
22
|
+
Some root-level `*.mjs` files are one-off or transitional smoke helpers. Root-level scripts are ignored by default unless explicitly unignored/tracked.
|
|
23
|
+
|
|
24
|
+
Public root-level helpers currently referenced by `package.json` are exact-file allowlisted in `.gitignore` and included in `package.json.files`:
|
|
25
|
+
|
|
26
|
+
- `scripts/zpeer-static-smoke.mjs`
|
|
27
|
+
- `scripts/zpeer-local-e2e-smoke.mjs`
|
|
28
|
+
|
|
29
|
+
Deferred/local root helpers (for example, transitional delegation proof scripts) stay out of the public npm script surface until they are intentionally promoted.
|
|
30
|
+
|
|
31
|
+
If a future `package.json` script references a root-level helper, that helper must either be tracked/unignored and added to `package.json.files`, or the npm script must be marked local-only/removed.
|
|
32
|
+
|
|
33
|
+
## Local-only / private benchmark scripts
|
|
34
|
+
|
|
35
|
+
The private benchmark scaffold is intentionally local-only and ignored:
|
|
36
|
+
|
|
37
|
+
- `scripts/coding-agent-benchmark/`
|
|
38
|
+
|
|
39
|
+
Do not expose these helpers through public `package.json` scripts or package files. Local benchmark operators can run private commands directly from their local checkout, but public/fresh-clone validation must not depend on this ignored scaffold unless the benchmark is sanitized and committed intentionally.
|
|
40
|
+
|
|
41
|
+
## Generated outputs
|
|
42
|
+
|
|
43
|
+
Scripts may write reports under `reports/`. Those outputs are generated evidence and are ignored by git.
|
|
44
|
+
|
|
45
|
+
## Validation baseline
|
|
46
|
+
|
|
47
|
+
Common safe checks:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npm run validate:script-surface
|
|
51
|
+
npm run check -- --pretty false
|
|
52
|
+
npm run smoke:harness
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Run `npm run validate:script-surface` after changing `package.json` scripts, adding/removing script helper files, or changing `package.json.files`. It verifies package script file references exist, are not ignored, are tracked or visible as pending adds in the current patch, and are included in the package file surface.
|
|
56
|
+
|
|
57
|
+
Run additional domain-specific smokes only when their source files are present and the task requires them.
|