{
  "name": "zob-harness",
  "version": "0.2.0",
  "type": "module",
  "description": "A governed, human-controlled Pi harness for contract-driven agentic engineering, safety gates, specialist delegation, and software-factory workflows.",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/cgarrot/zob-harness.git"
  },
  "bugs": {
    "url": "https://github.com/cgarrot/zob-harness/issues"
  },
  "homepage": "https://github.com/cgarrot/zob-harness#readme",
  "keywords": [
    "pi-package",
    "agentic-engineering",
    "coding-agent",
    "pi-extension",
    "software-factory",
    "safety-gates"
  ],
  "engines": {
    "node": ">=22.0.0"
  },
  "files": [
    "AGENTS.md",
    "README.md",
    "SOURCE_INDEX.md",
    "LICENSE",
    "SECURITY.md",
    "CONTRIBUTING.md",
    "tsconfig.json",
    ".pi/adapters/registry.json",
    ".pi/agents",
    ".pi/autonomy-policy.json",
    ".pi/budget-policy.json",
    ".pi/capabilities",
    ".pi/chains",
    ".pi/compute-profiles",
    ".pi/daemon-policy.json",
    ".pi/damage-control-rules.json",
    ".pi/extensions",
    ".pi/factories/budget-preflight-dry-run",
    ".pi/factories/code-review-matrix",
    ".pi/factories/factory-forge",
    ".pi/factories/opencode-pattern-canonizer",
    ".pi/factories/project-dna",
    ".pi/factories/roadmap-smoke-lots",
    ".pi/git-policy.json",
    ".pi/mission-control/zob_coms_transport.json",
    ".pi/model-routing.json",
    ".pi/orchestrations",
    ".pi/output-contracts",
    ".pi/prompts",
    ".pi/rules",
    ".pi/settings.json",
    ".pi/skills",
    ".pi/teams",
    "scripts/README.md",
    "scripts/autonomy",
    "scripts/compute-profile",
    "scripts/git-ops",
    "scripts/goal-todo",
    "scripts/harness-switch",
    "scripts/model-catalog",
    "scripts/package-surface",
    "scripts/path-policy",
    "scripts/project-dna",
    "scripts/worker-pool",
    "scripts/zpeer-static-smoke.mjs",
    "scripts/zagent-static-smoke.mjs",
    "scripts/zpeer-local-e2e-smoke.mjs",
    "scripts/start-pi.sh",
    ".pi/model-catalog.example.json",
    ".pi/model-economy.example.json"
  ],
  "scripts": {
    "pi": "pi",
    "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.'",
    "pi:check": "pi --offline --no-session --no-extensions -e ./.pi/extensions/zob-harness/index.ts -p 'Reply exactly: zob-harness-ok'",
    "check": "tsc --noEmit --pretty false",
    "check:ci": "npm run check -- --pretty false",
    "smoke:path-policy": "node scripts/path-policy/validate-smoke.mjs",
    "smoke:child-goal-ref": "node scripts/goal-todo/child-goal-ref-smoke.mjs",
    "smoke:git-ops": "node scripts/git-ops/commit-policy-smoke.mjs",
    "smoke:harness": "npm run smoke:path-policy && npm run smoke:child-goal-ref",
    "smoke:worker-pool": "node scripts/worker-pool/static-smoke.mjs",
    "smoke:autonomy-readiness-secret": "node scripts/autonomy/mission-readiness-secret-smoke.mjs",
    "smoke:zpeer": "node scripts/zpeer-static-smoke.mjs && node scripts/zpeer-local-e2e-smoke.mjs",
    "smoke:zagent": "node scripts/zagent-static-smoke.mjs",
    "validate:script-surface": "node scripts/package-surface/validate-script-refs.mjs",
    "pack:dry-run": "npm pack --dry-run --json",
    "validate:compute-profile-policy": "node scripts/compute-profile/validate-policy.mjs",
    "smoke:compute-profile-regression": "node scripts/compute-profile/regression-smoke.mjs",
    "validate:project-dna": "node scripts/project-dna/validate-scaffold.mjs",
    "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",
    "validate:project-dna-scan:smoke": "node scripts/project-dna/validate-scan-artifacts.mjs --scan-dir reports/project-dna-scans/project-dna-factory-smoke",
    "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",
    "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",
    "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}",
    "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}",
    "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}",
    "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}",
    "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",
    "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}",
    "validate:model-catalog": "node scripts/model-catalog/validate.mjs",
    "validate:model-economy": "node scripts/model-catalog/validate-economy.mjs",
    "smoke:harness-switch": "node scripts/harness-switch/static-smoke.mjs"
  },
  "pi": {
    "extensions": [
      ".pi/extensions/zob-switch/index.ts",
      ".pi/extensions/zob-harness/index.ts"
    ],
    "prompts": [
      ".pi/prompts"
    ],
    "skills": [
      ".pi/skills"
    ]
  },
  "peerDependencies": {
    "@earendil-works/pi-ai": "*",
    "@earendil-works/pi-coding-agent": "*",
    "@earendil-works/pi-tui": "*",
    "typebox": "*"
  },
  "devDependencies": {
    "@earendil-works/pi-ai": "0.75.5",
    "@earendil-works/pi-coding-agent": "0.75.5",
    "@earendil-works/pi-tui": "0.75.5",
    "@types/node": "22.19.19",
    "typebox": "1.0.66",
    "typescript": "5.9.3"
  }
}
