repo-harness 0.21.2 → 0.23.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/AGENTS.md +21 -7
- package/CLAUDE.md +21 -7
- package/README.es.md +64 -104
- package/README.fr.md +67 -105
- package/README.ja.md +63 -101
- package/README.md +62 -148
- package/README.zh-CN.md +54 -114
- package/SKILL.md +7 -1
- package/agents/fleet/deep-worker.md +6 -5
- package/agents/fleet/fast-worker.md +6 -5
- package/agents/fleet/harness-evaluator.md +1 -1
- package/assets/partials/05-workflow.partial.md +1 -1
- package/assets/reference-configs/agentic-development-flow.md +47 -3
- package/assets/reference-configs/development-protocol.md +2 -4
- package/assets/reference-configs/document-generation.md +2 -3
- package/assets/reference-configs/external-tooling.md +189 -214
- package/assets/reference-configs/global-working-rules.md +12 -4
- package/assets/reference-configs/harness-overview.md +54 -29
- package/assets/reference-configs/heartbeat-triage.md +1 -3
- package/assets/reference-configs/herdr-notify.md +35 -1
- package/assets/reference-configs/hook-operations.md +177 -103
- package/assets/reference-configs/host-invariants.md +9 -12
- package/assets/reference-configs/minimal-change-hooks.md +25 -111
- package/assets/reference-configs/release-deploy.md +7 -4
- package/assets/skill-commands/AGENTS.md +0 -7
- package/assets/skill-commands/CLAUDE.md +0 -7
- package/assets/skill-commands/manifest.json +36 -15
- package/assets/skill-commands/repo-harness-architecture/SKILL.md +4 -3
- package/assets/skill-commands/repo-harness-architecture/agents/openai.yaml +2 -0
- package/assets/skill-commands/repo-harness-architecture/references/worker.md +139 -38
- package/assets/skill-commands/repo-harness-check/SKILL.md +5 -0
- package/assets/skill-commands/repo-harness-check/references/architecture-evidence.md +101 -0
- package/assets/skill-commands/repo-harness-check/references/deploy-readiness.md +0 -2
- package/assets/skill-commands/repo-harness-check/references/pr-verification.md +96 -0
- package/assets/skill-commands/repo-harness-check/references/review.md +0 -2
- package/assets/skill-commands/repo-harness-ship/SKILL.md +6 -0
- package/assets/skill-commands/repo-harness-ship/references/worker.md +3 -1
- package/assets/skill-version.json +2 -2
- package/assets/skills/repo-harness-chatgpt/SKILL.md +1 -1
- package/assets/skills/repo-harness-chatgpt/references/bridge.md +0 -8
- package/assets/skills/repo-harness-cross-review/SKILL.md +5 -4
- package/assets/skills/repo-harness-cross-review/references/generic-review.md +29 -39
- package/assets/skills/repo-harness-product/references/goal.md +0 -2
- package/assets/skills/repo-harness-product/references/prd.md +0 -2
- package/assets/skills/repo-harness-product/references/sprint.md +0 -2
- package/assets/skills/repo-harness-setup/references/capability.md +7 -2
- package/assets/skills/repo-harness-setup/references/init.md +0 -2
- package/assets/skills/repo-harness-setup/references/migrate.md +0 -5
- package/assets/skills/repo-harness-setup/references/repair.md +0 -2
- package/assets/skills/repo-harness-setup/references/scaffold.md +0 -2
- package/assets/skills/repo-harness-setup/references/upgrade.md +0 -2
- package/assets/skills/repo-harness-test/references/authoring.md +11 -3
- package/assets/skills/repo-harness-test/references/running.md +74 -25
- package/assets/skills/repo-harness-test/references/verification-plan.md +15 -13
- package/assets/skills/windows-python-first/SKILL.md +76 -0
- package/assets/skills/windows-python-first/agents/openai.yaml +4 -0
- package/assets/templates/helpers/archive-workflow.sh +10 -22
- package/assets/templates/helpers/capability-resolver.ts +268 -122
- package/assets/templates/helpers/check-agent-tooling.sh +77 -16
- package/assets/templates/helpers/codex-handoff-resume.sh +4 -5
- package/assets/templates/helpers/contract-worktree-runtime.ts +18 -0
- package/assets/templates/helpers/contract-worktree.sh +43 -108
- package/assets/templates/helpers/evidence-gc.ts +103 -18
- package/assets/templates/helpers/heartbeat-triage.sh +0 -18
- package/assets/templates/helpers/install-agent-fleet.sh +2 -2
- package/assets/templates/helpers/merge-gate.ts +12 -2
- package/assets/templates/helpers/prepare-codex-handoff.sh +3 -3
- package/assets/templates/helpers/prepare-handoff.sh +14 -21
- package/assets/templates/helpers/recovery-view-cli.ts +46 -783
- package/assets/templates/helpers/refresh-current-status.sh +1 -1
- package/assets/templates/helpers/runtime-evidence-receipt.ts +6 -23
- package/assets/templates/helpers/select-agent-context-blocks.sh +72 -4
- package/assets/templates/helpers/ship-worktrees.sh +11 -209
- package/assets/templates/helpers/sprint-backlog.sh +11 -2
- package/assets/templates/helpers/summarize-failures.sh +16 -48
- package/assets/templates/helpers/workflow-contract.ts +1 -1
- package/assets/templates/helpers/workstream-sync.sh +12 -6
- package/assets/templates/helpers/worktree-merge-lib.sh +9 -9
- package/assets/templates/runtime.gitignore +4 -7
- package/assets/tool-catalog.v1.json +89 -0
- package/assets/workflow-contract.v1.json +46 -22
- package/dist/hook-entry.js +10211 -19526
- package/dist/oar-coding-host.js +206 -13
- package/dist/oar-review-host.js +211 -8
- package/dist/operator-ui/assets/ArchitectureWorkspace-CR9FiYz3.js +1 -0
- package/dist/operator-ui/assets/index-DY7Cw9qc.css +2 -0
- package/dist/operator-ui/assets/index-jrycyCyb.js +18 -0
- package/dist/operator-ui/index.html +6 -6
- package/package.json +13 -32
- package/references/bot-control.md +49 -0
- package/references/pm-operations.md +21 -1
- package/scripts/archive-workflow.sh +10 -22
- package/scripts/axr5-archctx-clean-room.ts +9 -5
- package/scripts/capability-resolver.ts +94 -35
- package/scripts/check-agent-tooling.sh +77 -16
- package/scripts/check-ci.sh +142 -25
- package/scripts/check-context-map.ts +15 -29
- package/scripts/check-npm-release.sh +6 -6
- package/scripts/check-release-published.sh +1 -2
- package/scripts/check-state-boundaries.ts +3 -2
- package/scripts/check-tarball-install-smoke.sh +28 -27
- package/scripts/ci-documentation-consumers.ts +31 -78
- package/scripts/ci-edge-audit.ts +102 -0
- package/scripts/ci-path-consumers.ts +111 -0
- package/scripts/codex-handoff-resume.sh +4 -5
- package/scripts/contract-worktree-runtime.ts +18 -0
- package/scripts/contract-worktree.sh +43 -108
- package/scripts/create-project-dirs.sh +2 -14
- package/scripts/evidence-gc.ts +103 -18
- package/scripts/heartbeat-triage.sh +0 -18
- package/scripts/init-project.sh +2 -14
- package/scripts/install-agent-fleet.sh +2 -2
- package/scripts/lib/ci-run-tests.sh +10 -0
- package/scripts/lib/path-values.ts +100 -0
- package/scripts/lib/project-init-lib.sh +35 -94
- package/scripts/me2b-runtime-admission-canary.ts +4 -4
- package/scripts/merge-gate.ts +12 -2
- package/scripts/prepare-codex-handoff.sh +3 -3
- package/scripts/prepare-handoff.sh +14 -21
- package/scripts/recovery-view-cli.ts +46 -758
- package/scripts/refresh-current-status.sh +1 -1
- package/scripts/replay-ci-coverage.ts +120 -23
- package/scripts/report-ci.ts +97 -9
- package/scripts/run-harness-profile-benchmark.ts +63 -41
- package/scripts/runtime-evidence-receipt.ts +6 -23
- package/scripts/select-agent-context-blocks.sh +72 -4
- package/scripts/select-ci-coverage.ts +153 -34
- package/scripts/select-test-suite.ts +15 -0
- package/scripts/ship-worktrees.sh +11 -209
- package/scripts/sprint-backlog.sh +11 -2
- package/scripts/summarize-failures.sh +16 -48
- package/scripts/sync-helper-sources.ts +12 -27
- package/scripts/sync-reference-configs.ts +44 -4
- package/scripts/test-file-durations.json +0 -88
- package/scripts/workflow-contract.ts +1 -1
- package/scripts/workstream-sync.sh +12 -6
- package/scripts/worktree-merge-lib.sh +9 -9
- package/src/cli/chatgpt-browser/file-policy.ts +3 -6
- package/src/cli/commands/architecture-configuration.ts +20 -5
- package/src/cli/commands/architecture-debt.ts +143 -0
- package/src/cli/commands/architecture-projection.ts +21 -128
- package/src/cli/commands/capability-context.ts +75 -212
- package/src/cli/commands/delegation.ts +1 -14
- package/src/cli/commands/docs.ts +0 -2
- package/src/cli/commands/doctor.ts +113 -47
- package/src/cli/commands/global-runtime.ts +100 -19
- package/src/cli/commands/init-hook.ts +92 -31
- package/src/cli/commands/init.ts +5 -7
- package/src/cli/commands/install.ts +18 -28
- package/src/cli/commands/mcp.ts +0 -20
- package/src/cli/commands/module.ts +22 -6
- package/src/cli/commands/operator.ts +5 -2
- package/src/cli/commands/pm.ts +2 -3
- package/src/cli/commands/refactor.ts +89 -197
- package/src/cli/commands/retention.ts +53 -0
- package/src/cli/commands/review.ts +7 -4
- package/src/cli/commands/run.ts +0 -4
- package/src/cli/commands/security.ts +1 -1
- package/src/cli/commands/setup-check-child.ts +8 -0
- package/src/cli/commands/setup-snapshot.ts +70 -0
- package/src/cli/commands/state.ts +0 -13
- package/src/cli/commands/status.ts +4 -3
- package/src/cli/commands/validators.ts +1 -1
- package/src/cli/hook/AGENTS.md +33 -0
- package/src/cli/hook/CLAUDE.md +33 -0
- package/src/cli/hook/board-slice-context.ts +11 -14
- package/src/cli/hook/circuit-breaker.ts +14 -36
- package/src/cli/hook/event-telemetry.ts +51 -387
- package/src/cli/hook/handler-contract.ts +24 -121
- package/src/cli/hook/handler-registry.ts +58 -182
- package/src/cli/hook/hook-input.ts +50 -206
- package/src/cli/hook/hook-protocol.ts +57 -0
- package/src/cli/hook/mutation-guard.ts +116 -820
- package/src/cli/hook/return-channel.ts +56 -0
- package/src/cli/hook/route-registry.ts +15 -67
- package/src/cli/hook/runtime.ts +125 -453
- package/src/cli/hook/session-context-budget.ts +28 -440
- package/src/cli/hook/session-context.ts +117 -1622
- package/src/cli/hook/stop-handler.ts +79 -459
- package/src/cli/hook/subagent-context.ts +485 -0
- package/src/cli/hook/task-inbox-handler.ts +23 -64
- package/src/cli/hook-entry.ts +21 -107
- package/src/cli/index.ts +25 -51
- package/src/cli/installer/configuration-ownership.ts +5 -1
- package/src/cli/installer/install-profile.ts +8 -7
- package/src/cli/installer/managed-entries.ts +8 -13
- package/src/cli/installer/targets/claude.ts +16 -28
- package/src/cli/installer/targets/codex.ts +16 -36
- package/src/cli/installer/types.ts +2 -7
- package/src/cli/installer/uninstall.ts +2 -2
- package/src/cli/mcp/auth.ts +0 -6
- package/src/cli/mcp/instructions.ts +0 -1
- package/src/cli/mcp/pm-server.ts +9 -6
- package/src/cli/mcp/policy.ts +6 -22
- package/src/cli/mcp/server.ts +4 -42
- package/src/cli/mcp/setup.ts +2 -58
- package/src/cli/mcp/tools.ts +4 -148
- package/src/cli/mcp/transports/http.ts +19 -2
- package/src/cli/mcp/types.ts +0 -6
- package/src/core/adoption/managed-hook-config.ts +21 -16
- package/src/core/adoption/minimum-harness-version.ts +90 -0
- package/src/core/adoption/standard-plan.ts +53 -18
- package/src/core/adoption/workflow-contract-asset.ts +8 -2
- package/src/core/architecture/module-view.ts +52 -12
- package/src/core/architecture/projection.ts +82 -549
- package/src/core/capabilities/ownership-blocker.ts +69 -0
- package/src/core/capabilities/registry.ts +178 -86
- package/src/core/dev-activity/decode.ts +175 -0
- package/src/core/dev-activity/projection.ts +223 -0
- package/src/core/dev-activity/types.ts +122 -0
- package/src/core/engineers/delegation.ts +3 -9
- package/src/core/engineers/scheduling.ts +48 -5
- package/src/core/evidence/payload-cap.ts +2 -4
- package/src/core/operator/architecture.ts +10 -6
- package/src/core/operator/planning-snapshot.ts +2 -2
- package/src/core/operator/repository-snapshot.ts +12 -37
- package/src/core/pm/protocol.ts +15 -0
- package/src/core/refactor/provider-contract.ts +20 -181
- package/src/core/release/runtime-evidence.ts +5 -98
- package/src/core/review/module-review-prompt.ts +21 -3
- package/src/core/setup/decode.ts +174 -0
- package/src/core/setup/projection.ts +212 -0
- package/src/core/setup/types.ts +154 -0
- package/src/core/skill-surface/catalog.ts +4 -7
- package/src/core/state/project-effective-state.ts +11 -3
- package/src/core/state/types.ts +26 -0
- package/src/core/tools/catalog.ts +101 -0
- package/src/core/upgrade/legacy-inventory.ts +3 -3
- package/src/effects/architecture/archctx-provider.ts +396 -437
- package/src/effects/architecture/model-reader.ts +270 -130
- package/src/effects/architecture/projection-apply.ts +36 -0
- package/src/effects/architecture/projection-config.ts +19 -6
- package/src/effects/artifact-retention.ts +314 -0
- package/src/effects/capabilities/archcontext-owners.ts +127 -0
- package/src/effects/dev-activity/collector.ts +442 -0
- package/src/effects/engineers/delegated-run-store.ts +2 -40
- package/src/effects/engineers/profile-store.ts +9 -26
- package/src/effects/engineers/scheduling.ts +5 -5
- package/src/effects/evidence/recovery-materializer.ts +65 -85
- package/src/effects/locking/exclusive-directory-lock.ts +158 -76
- package/src/effects/loop/state-input-collector.ts +29 -118
- package/src/effects/operator/architecture.ts +3 -1
- package/src/effects/operator/fleet-collector-process.ts +6 -15
- package/src/effects/operator/{collaboration-worker.ts → repository-snapshot-worker.ts} +16 -16
- package/src/effects/operator/{collaboration.ts → repository-snapshot.ts} +40 -49
- package/src/effects/operator/runtime-service.ts +8 -59
- package/src/effects/operator/server.ts +210 -200
- package/src/effects/pm/operations.ts +4 -3
- package/src/effects/publication/feedback-store.ts +108 -58
- package/src/effects/publication/merge-readiness.ts +6 -3
- package/src/effects/publication/publication-receipt.ts +45 -0
- package/src/effects/refactor/archctx-provider.ts +24 -84
- package/src/effects/refactor/recommendations.ts +106 -97
- package/src/effects/release/runtime-evidence.ts +14 -53
- package/src/effects/review/diff-fingerprint.ts +21 -17
- package/src/effects/review/generic-review.ts +114 -34
- package/src/effects/review/oar-review-host.ts +28 -10
- package/src/effects/run-summary-retention.ts +44 -88
- package/src/effects/runtime/helper-runner.ts +4 -36
- package/src/effects/runtime/protected-helper-platform.ts +34 -1
- package/src/effects/setup/collector.ts +164 -0
- package/src/effects/state/collect-board-inputs.ts +1 -2
- package/src/effects/state/coordination-claim-token.ts +9 -0
- package/src/effects/state/coordination-worktree-topology.ts +64 -37
- package/src/effects/state/owed-capabilities.ts +150 -0
- package/src/effects/state/resolve-effective-state.ts +313 -107
- package/src/effects/state/worktree-trash.ts +12 -4
- package/src/effects/terminal/coding-session.ts +3 -3
- package/src/effects/terminal/oar-coding-host.ts +10 -7
- package/src/effects/terminal/task-role-profiles.ts +14 -28
- package/src/effects/terminal/task-runtime-observation.ts +183 -0
- package/src/effects/terminal/task-session.ts +185 -126
- package/src/operator-web/App.tsx +413 -1698
- package/src/operator-web/ArchitectureWorkspace.tsx +2 -18
- package/src/operator-web/Board.tsx +405 -0
- package/src/operator-web/Drawer.tsx +113 -0
- package/src/operator-web/ItemDrawer.tsx +152 -0
- package/src/operator-web/ModuleGraph.tsx +1 -1
- package/src/operator-web/OrganizationSummary.tsx +3 -3
- package/src/operator-web/PlanningView.tsx +2 -2
- package/src/operator-web/RepositoriesPage.tsx +90 -0
- package/src/operator-web/RepositoryWorkspace.tsx +874 -0
- package/src/operator-web/RuntimeBadges.tsx +8 -61
- package/src/operator-web/SetupPages.tsx +443 -0
- package/src/operator-web/SystemPage.tsx +95 -0
- package/src/operator-web/ToolsPage.tsx +136 -0
- package/src/operator-web/app.css +195 -0
- package/src/operator-web/clipboard.ts +13 -0
- package/src/operator-web/css.d.ts +2 -0
- package/src/operator-web/dev-activity.ts +143 -0
- package/src/operator-web/fixture.ts +7 -234
- package/src/operator-web/fixtures/dev-activity.ts +178 -0
- package/src/operator-web/fixtures/index.ts +78 -0
- package/src/operator-web/fixtures/setup.ts +163 -0
- package/src/operator-web/fleet-api.ts +132 -0
- package/src/operator-web/i18n.ts +578 -518
- package/src/operator-web/index.html +4 -4
- package/src/operator-web/labels.ts +25 -0
- package/src/operator-web/main.tsx +34 -6
- package/src/operator-web/marks.tsx +4 -88
- package/src/operator-web/setup.ts +120 -0
- package/src/operator-web/theme.ts +71 -0
- package/src/operator-web/types.ts +27 -200
- package/src/operator-web/ui.tsx +94 -0
- package/src/operator-web/worklist.ts +131 -0
- package/src/operator-web/workspace-location.ts +54 -12
- package/assets/hooks/AGENTS.md +0 -41
- package/assets/hooks/CLAUDE.md +0 -41
- package/assets/hooks/lib/workflow-state.sh +0 -1599
- package/assets/hooks/projection.json +0 -9
- package/assets/reference-configs/AGENTS.md +0 -13
- package/assets/reference-configs/CLAUDE.md +0 -13
- package/assets/skills/repo-harness-cross-review/references/codex-mode.md +0 -18
- package/assets/templates/helpers/architecture-event.ts +0 -1411
- package/assets/templates/helpers/architecture-queue.sh +0 -709
- package/assets/templates/helpers/archive-architecture-request.sh +0 -423
- package/assets/templates/helpers/check-architecture-sync.sh +0 -436
- package/dist/operator-ui/assets/ArchitectureWorkspace-CBlfSPBR.js +0 -1
- package/dist/operator-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff +0 -0
- package/dist/operator-ui/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2 +0 -0
- package/dist/operator-ui/assets/index-BCD_MgSs.js +0 -9
- package/dist/operator-ui/assets/index-CRN670y2.css +0 -1
- package/dist/operator-ui/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/dist/operator-ui/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/dist/operator-ui/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/dist/operator-ui/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- package/dist/operator-ui/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2 +0 -0
- package/dist/operator-ui/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-400-normal-BnQMeOim.woff +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2 +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2 +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-600-normal-BflQw4A9.woff +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2 +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff +0 -0
- package/dist/operator-ui/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2 +0 -0
- package/scripts/architecture-event.ts +0 -1411
- package/scripts/architecture-queue.sh +0 -709
- package/scripts/archive-architecture-request.sh +0 -423
- package/scripts/c9-collaboration-dispatch-runner.ts +0 -27
- package/scripts/check-architecture-sync.sh +0 -436
- package/scripts/check-pi-package-smoke.ts +0 -59
- package/scripts/sync-hook-sources.ts +0 -277
- package/scripts/sync-pi-package.ts +0 -27
- package/src/cli/commands/automation.ts +0 -250
- package/src/cli/commands/collaboration.ts +0 -297
- package/src/cli/commands/hook.ts +0 -44
- package/src/cli/commands/pipeline.ts +0 -46
- package/src/cli/commands/prompt-guard-decision.ts +0 -240
- package/src/cli/commands/refactor-recommendation-configuration.ts +0 -13
- package/src/cli/commands/task-agent.ts +0 -59
- package/src/cli/hook/architecture-drift.ts +0 -345
- package/src/cli/hook/command-observed.ts +0 -289
- package/src/cli/hook/delegation-state.ts +0 -315
- package/src/cli/hook/minimal-change-cli.ts +0 -130
- package/src/cli/hook/minimal-change-context.ts +0 -60
- package/src/cli/hook/minimal-change-policy.ts +0 -192
- package/src/cli/hook/minimal-change-signals.ts +0 -637
- package/src/cli/hook/mutation-observed.ts +0 -849
- package/src/cli/hook/prompt-guard-decision.ts +0 -248
- package/src/cli/hook/prompt-handler.ts +0 -41
- package/src/cli/hook/prompt-intents.ts +0 -580
- package/src/cli/hook/prompt-router.ts +0 -75
- package/src/cli/hook/review-rubric.ts +0 -78
- package/src/cli/hook/review-subject.ts +0 -45
- package/src/cli/hook/run-identity.ts +0 -173
- package/src/cli/hook/subagent-handler.ts +0 -907
- package/src/cli/hook/trace-observer.ts +0 -209
- package/src/cli/mcp/collaboration-tools.ts +0 -333
- package/src/core/architecture/restamp-publication.ts +0 -94
- package/src/core/automation/budget.ts +0 -1584
- package/src/core/automation/controller.ts +0 -246
- package/src/core/automation/projection.ts +0 -201
- package/src/core/collaboration/admission.ts +0 -245
- package/src/core/collaboration/adoption.ts +0 -154
- package/src/core/collaboration/common.ts +0 -396
- package/src/core/collaboration/context-packet.ts +0 -601
- package/src/core/collaboration/contribution.ts +0 -444
- package/src/core/collaboration/handoff.ts +0 -376
- package/src/core/collaboration/hotspot.ts +0 -146
- package/src/core/collaboration/run-binding.ts +0 -263
- package/src/core/collaboration/signal.ts +0 -174
- package/src/core/collaboration/thread-projection.ts +0 -390
- package/src/core/collaboration/work-exchange.ts +0 -531
- package/src/core/engineers/automation-attempt.ts +0 -93
- package/src/core/hook-work-budget.ts +0 -5
- package/src/core/loop/loop-event-protocol.ts +0 -248
- package/src/core/operator/automation-summary.ts +0 -72
- package/src/core/operator/collaboration-snapshot.ts +0 -304
- package/src/core/pipeline/board.ts +0 -43
- package/src/core/pipeline/gates.ts +0 -32
- package/src/core/pipeline/health.ts +0 -53
- package/src/core/pipeline/projection.ts +0 -63
- package/src/core/pipeline/stage-machine.ts +0 -47
- package/src/core/pipeline/types.ts +0 -108
- package/src/core/refactor/activation.ts +0 -42
- package/src/core/refactor/architecture-intervention.ts +0 -49
- package/src/core/refactor/board.ts +0 -54
- package/src/core/refactor/candidate-verification.ts +0 -49
- package/src/core/refactor/execution-binding.ts +0 -61
- package/src/core/refactor/materialization.ts +0 -154
- package/src/core/refactor/policy.ts +0 -125
- package/src/core/refactor/program-state.ts +0 -209
- package/src/core/refactor/program.ts +0 -178
- package/src/core/refactor/proposal-authoring.ts +0 -78
- package/src/core/refactor/workflow-route.ts +0 -76
- package/src/effects/architecture/projection-acceptance.ts +0 -879
- package/src/effects/architecture/projection-continuation.ts +0 -55
- package/src/effects/architecture/projection-jobs.ts +0 -579
- package/src/effects/architecture/projection-orchestrator.ts +0 -280
- package/src/effects/architecture/refresh-consumer.ts +0 -119
- package/src/effects/architecture/restamp-publication.ts +0 -293
- package/src/effects/automation/budget-store.internal.ts +0 -15
- package/src/effects/automation/budget-store.ts +0 -1861
- package/src/effects/automation/clock.ts +0 -91
- package/src/effects/automation/controller-run.ts +0 -264
- package/src/effects/automation/controller-store.ts +0 -165
- package/src/effects/automation/grant-store.ts +0 -226
- package/src/effects/collaboration/actor.ts +0 -167
- package/src/effects/collaboration/admission-bridge.ts +0 -410
- package/src/effects/collaboration/adoption-store.ts +0 -271
- package/src/effects/collaboration/agent-surface.ts +0 -547
- package/src/effects/collaboration/context-delivery.ts +0 -449
- package/src/effects/collaboration/contribution-collector.ts +0 -483
- package/src/effects/collaboration/contribution-store.ts +0 -118
- package/src/effects/collaboration/feature-flag.ts +0 -64
- package/src/effects/collaboration/handoff-store.ts +0 -260
- package/src/effects/collaboration/provider-output-adapter.ts +0 -281
- package/src/effects/collaboration/record-store.ts +0 -488
- package/src/effects/collaboration/signal-store.ts +0 -241
- package/src/effects/collaboration/succession.ts +0 -409
- package/src/effects/collaboration/work-exchange.ts +0 -410
- package/src/effects/engineers/automation-attempt-store.ts +0 -48
- package/src/effects/evidence/post-bash-importer.ts +0 -362
- package/src/effects/operator/automation-summary.ts +0 -95
- package/src/effects/operator/pipeline-status.ts +0 -15
- package/src/effects/pipeline/authority.ts +0 -140
- package/src/effects/pipeline/ingest.ts +0 -91
- package/src/effects/pipeline/ledger.ts +0 -179
- package/src/effects/pipeline/read.ts +0 -93
- package/src/effects/pipeline/store.ts +0 -268
- package/src/effects/refactor/activation-store.ts +0 -17
- package/src/effects/refactor/architecture-intervention.ts +0 -54
- package/src/effects/refactor/candidate-verification.ts +0 -127
- package/src/effects/refactor/discovery-authoring.ts +0 -109
- package/src/effects/refactor/execution-binding-store.ts +0 -54
- package/src/effects/refactor/materialization.ts +0 -158
- package/src/effects/refactor/post-merge-resolution.ts +0 -155
- package/src/effects/refactor/program-store.ts +0 -198
- package/src/effects/refactor/recommendation-settings.ts +0 -13
- package/src/effects/refactor/resolution-store.ts +0 -24
- package/src/effects/refactor/shadow-discovery.ts +0 -132
- package/src/effects/state/coordination-lease-reclaim.ts +0 -60
- package/src/operator-web/AutomationSummary.tsx +0 -134
- package/src/operator-web/PipelineBoard.tsx +0 -376
- package/src/operator-web/icons.tsx +0 -80
- package/src/operator-web/repository-snapshot.ts +0 -27
- package/src/operator-web/styles.css +0 -523
- package/src/operator-web/styles.d.ts +0 -4
- package/src/pi/extension.ts +0 -211
- package/src/pi/hook-bridge.ts +0 -101
- package/src/pi/hook-protocol.ts +0 -37
package/AGENTS.md
CHANGED
|
@@ -4,22 +4,34 @@
|
|
|
4
4
|
- For non-trivial work, follow the global Progressive Due Diligence rule (P1 map, P2 trace, P3 decision) before design decisions or code edits.
|
|
5
5
|
- Keep root CLAUDE.md and AGENTS.md as standalone regular files; repeat shared rules in both and keep host-specific guidance separate.
|
|
6
6
|
- Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome.
|
|
7
|
+
- Read `tasks/lessons.md` at session start and apply its active lessons. Current repo state and evidence override a lesson.
|
|
8
|
+
- Finish the main task first. Fix a small problem found on the way directly. For a large problem, open a GitHub issue before you work on it.
|
|
7
9
|
- Write output text (docs, PR descriptions, commit messages, reports) in ASD-STE100 Simplified Technical English: short sentences, one idea per sentence, active voice, approved-dictionary words; write Chinese output the same way, with short sentences and one idea per sentence.
|
|
8
10
|
- Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No mandatory plan/contract/review/notes chain; notes are only for non-obvious decisions.
|
|
9
11
|
- Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
|
|
10
12
|
- Only when the current task explicitly authorizes main publication may a model squash-merge after automated checks pass and GitHub has no outstanding change requests or unresolved review threads; an explicit no-merge instruction always wins. Push/tag still require task authorization; credentials/permissions, other deletion and release/production retain their separate approval boundaries. Record authorized publication, the provider-confirmed merge SHA and parent SHA, `git revert <squash-commit>`, and the daily report. Do not create rollback tags.
|
|
11
|
-
- Default
|
|
12
|
-
- Closeout
|
|
13
|
-
- `start` recovers only a real target directory registered by this clone on the expected branch, under the topology lock, with no lock or other owner. Recovery requires a current-user-owned checkout directory without group or other write access, a regular owned Git pointer, its matching admin backpointer, and the original directory identity saved by start. Git metadata can be group-writable but must not be other-writable. Start still creates a checkout when uid is unavailable; recovery then refuses. Exact removal retires the identity after Git readback. Missing identity or a replacement directory blocks recovery. Files, symlinks, unregistered paths and other branches are refused. Cleanup refuses a registered worktree whose branch is missing. MCP cleanup also refuses active markers and retained native verification evidence. Sweep reports name processed paths. Deferred entries are reported as counts. `kept` excludes deferred entries. A command timeout sends SIGTERM to the direct child only. A grandchild can briefly extend the deadline. No detached cleanup process starts. Herdr notifications accept registered default task worktrees and paths inside them. Other temporary paths and `rh-herdr-` labels stay filtered.
|
|
13
|
+
- Default worktrees are at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`). Commit or push before a reboot or a tmp cleanup.
|
|
14
|
+
- Closeout and sweep remove only merged, clean and unowned worktrees. To keep one, give it an unmerged commit, keep it dirty, or mark or lease it. Details: [agentic-development-flow](docs/reference-configs/agentic-development-flow.md).
|
|
14
15
|
- Automatically delete only merged, clean worktrees/branches; ask the user for every other deletion. Credentials/permissions (including confirmation bypass) and release/production operations require user approval.
|
|
15
16
|
- Use gatekeeper/cross-model review for large changes, security/permissions, or unresolved model uncertainty; ordinary steps record diagnostics without approval loops.
|
|
16
|
-
-
|
|
17
|
+
- When you delegate, investigate first, then split work by write ownership. Give each parallel writer its own worktree from a clean source. Implementation sub-agents edit only their scope. They do not run build, typecheck or tests. They commit early in their own worktree and return early. In a shared checkout they do not commit; the parent commits. Evidence roles run the named check that is their task and do not commit. The parent agent owns task management, conflict resolution, build, typecheck, tests and integration. After integration, the parent removes each sub-agent worktree and branch whose commits are in the task branch and whose checkout is clean. It also removes the intermediate build output and temporary files that the work created. Other deletion still needs the user.
|
|
18
|
+
- Model division and cross-model dispatch/review follow [Herdr Dispatch](docs/reference-configs/herdr-notify.md#herdr-dispatch).
|
|
17
19
|
- GitHub operations (PRs, reviews, merges, labels, releases, comments) go only through the gh/git CLI or the GitHub API. Never use simulated browser clicks on github.com: the account can be banned.
|
|
18
20
|
- When one PR changes both test assertions and implementation code, run one read-only review focused on tests bent to fit a bug (on-demand, not a restored gate; dispatch per the herdr guide).
|
|
19
21
|
- `.archcontext/model/` owns architecture boundaries; read `docs/architecture/` on demand and update only real responsibility changes. Architecture diagnostics do not block work or author nested agent instructions.
|
|
22
|
+
- When a branch changes a capability's responsibility, entrypoints, relations or flows, run `repo-harness architecture-projection check --json` before review and follow `repo-harness-architecture` (`assets/skill-commands/repo-harness-architecture/references/worker.md`).
|
|
20
23
|
- Preserve `agents/fleet/`, release checklists and downstream `assets/templates` / `assets/partials*`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract.
|
|
21
24
|
- `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
|
|
22
25
|
|
|
26
|
+
## GitHub Issue Claims
|
|
27
|
+
- Before an agent starts work on a GitHub issue, read its current state, assignees and all comments through `gh` or the GitHub API. Use pagination for comments. Check existing work claims, linked PRs and handoff notes.
|
|
28
|
+
- An active claim is an assignee other than the current task owner, an open PR that links the issue, or an active claim comment that no later status comment released. If another agent or person has an active claim, do not start duplicate work. Coordinate with that owner within the authorized task scope. Take over only after an explicit handoff or user instruction. Silence, an old timestamp or a disconnected session does not release a claim.
|
|
29
|
+
- When taking an unclaimed issue or an approved handoff, post a claim comment before edits, tests or worker dispatch. Use `gh issue comment <issue-url> --body-file <file>`. This rule authorizes claim and status comments for an issue within the user's task scope. It grants no other GitHub write authority.
|
|
30
|
+
- Start the comment with `repo-harness issue claim`. Include `Status: active`, the agent kind and unique session or task ID, the branch, the work scope and any prior claim comment URL for a handoff. Use this identity in later status comments. A shared GitHub login is not an agent identity. Do not include secrets or private host paths.
|
|
31
|
+
- Read the issue comments again after posting. Confirm the published comment URL and body. If a competing claim appeared, stop duplicate work and resolve ownership before continuing. For simultaneous claims without an explicit assignment or handoff, the earliest GitHub comment wins; break timestamp ties by comment ID. These comments coordinate agents; they are not an atomic lock and do not replace canonical task claims or leases.
|
|
32
|
+
- On resume, check the current claim before continuing. Reuse the same active claim instead of posting it again. If a read or post fails, or delivery is uncertain, stop and report the failure. Read back before retrying an uncertain post.
|
|
33
|
+
- Post a status comment that links the claim when the work is blocked, ready for review, complete or released. Keep a blocked or review-pending claim active. Include the PR or result when available. Release ownership explicitly on cancellation or handoff. Do not close the issue unless the task authorizes closure.
|
|
34
|
+
|
|
23
35
|
## Code Optimization Principles
|
|
24
36
|
- Identify observable conditions, controllable inputs, the invariant and the actual pressure point before changing structure.
|
|
25
37
|
- Keep one source of truth for each datum; other representations are deterministic projections with drift checks.
|
|
@@ -30,10 +42,12 @@
|
|
|
30
42
|
- Self-review before committing: remove dead code, empty branches and debug leftovers, and split functions by responsibility instead of one large block.
|
|
31
43
|
|
|
32
44
|
## Testing
|
|
33
|
-
- Run `bun run check:type`
|
|
45
|
+
- Run `bun run check:type` for code changes and tests covering the changed behavior once after the implementation is stable. Development-time debugging can run focused checks before that final verification.
|
|
46
|
+
- For a bug fix, prefer a focused failing regression before the fix. Run only the reproducer during RED. Record a reproduction gap when the environment cannot produce it; ordinary tasks do not require RED artifacts.
|
|
47
|
+
- A diff's size, a new test file, a new agent or a rebase does not by itself require a full run.
|
|
34
48
|
- Use `bun run test:files <affected tests> --timeout 60000 --max-concurrency 1`; extend existing coverage before creating a new test file.
|
|
35
49
|
- Select tests by observable risk and owning runtime boundary, including error/recovery paths when affected.
|
|
36
|
-
- Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting.
|
|
50
|
+
- Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting or that deleted files stay deleted.
|
|
37
51
|
- Reviewers consume the recorded command, result, revision and environment; they do not rerun passing checks to claim ownership.
|
|
38
52
|
- Changed inputs or a new uncovered failure justify affected delta checks; an old pass is only historical evidence for its old subject.
|
|
39
53
|
- Run the full suite daily; a failure opens an automatic repair task and appears in the daily report.
|
|
@@ -53,7 +67,7 @@
|
|
|
53
67
|
|
|
54
68
|
## Codex
|
|
55
69
|
- Own backend implementation and testing; Claude owns frontend implementation and interaction, and the parent coordinates scope and integration.
|
|
56
|
-
- User-level `~/.codex/hooks.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler.
|
|
70
|
+
- User-level `~/.codex/hooks.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler. Operator helpers run from the package through `repo-harness run <helper>`.
|
|
57
71
|
- Use `~/.codex/skills` as the runtime skill source; `~/.agents/skills` is staging/cache only. Keep `think`, `hunt`, `check` and `health` updates verified before runtime use.
|
|
58
72
|
- The Codex automation profile requires runtime-provided `health`, `check` and `mermaid`; do not vendor their bodies.
|
|
59
73
|
- Treat auto-compact as a fallback; prepare ignored `.ai/harness/handoff/current.md` and `resume.md` when long-task rollover is needed.
|
package/CLAUDE.md
CHANGED
|
@@ -4,22 +4,34 @@
|
|
|
4
4
|
- For non-trivial work, follow the global Progressive Due Diligence rule (P1 map, P2 trace, P3 decision) before design decisions or code edits.
|
|
5
5
|
- Keep root CLAUDE.md and AGENTS.md as standalone regular files; repeat shared rules in both and keep host-specific guidance separate.
|
|
6
6
|
- Read the current request and repo-local agent context, work on a branch, make bounded commits, verify once, then report the PR outcome.
|
|
7
|
+
- Read `tasks/lessons.md` at session start and apply its active lessons. Current repo state and evidence override a lesson.
|
|
8
|
+
- Finish the main task first. Fix a small problem found on the way directly. For a large problem, open a GitHub issue before you work on it.
|
|
7
9
|
- Write output text (docs, PR descriptions, commit messages, reports) in ASD-STE100 Simplified Technical English: short sentences, one idea per sentence, active voice, approved-dictionary words; write Chinese output the same way, with short sentences and one idea per sentence.
|
|
8
10
|
- Ordinary tasks use the PR description: goal, scope, changes, verification, risk and rollback. No mandatory plan/contract/review/notes chain; notes are only for non-obvious decisions.
|
|
9
11
|
- Keep four hard boundaries: main publication, deletion, credentials/permissions, and release/production operations.
|
|
10
12
|
- Only when the current task explicitly authorizes main publication may a model squash-merge after automated checks pass and GitHub has no outstanding change requests or unresolved review threads; an explicit no-merge instruction always wins. Push/tag still require task authorization; credentials/permissions, other deletion and release/production retain their separate approval boundaries. Record authorized publication, the provider-confirmed merge SHA and parent SHA, `git revert <squash-commit>`, and the daily report. Do not create rollback tags.
|
|
11
|
-
- Default
|
|
12
|
-
- Closeout
|
|
13
|
-
- `start` recovers only a real target directory registered by this clone on the expected branch, under the topology lock, with no lock or other owner. Recovery requires a current-user-owned checkout directory without group or other write access, a regular owned Git pointer, its matching admin backpointer, and the original directory identity saved by start. Git metadata can be group-writable but must not be other-writable. Start still creates a checkout when uid is unavailable; recovery then refuses. Exact removal retires the identity after Git readback. Missing identity or a replacement directory blocks recovery. Files, symlinks, unregistered paths and other branches are refused. Cleanup refuses a registered worktree whose branch is missing. MCP cleanup also refuses active markers and retained native verification evidence. Sweep reports name processed paths. Deferred entries are reported as counts. `kept` excludes deferred entries. A command timeout sends SIGTERM to the direct child only. A grandchild can briefly extend the deadline. No detached cleanup process starts. Herdr notifications accept registered default task worktrees and paths inside them. Other temporary paths and `rh-herdr-` labels stay filtered.
|
|
13
|
+
- Default worktrees are at `/tmp/<repo>-wt-<slug>` (Windows: `os.tmpdir()`). Commit or push before a reboot or a tmp cleanup.
|
|
14
|
+
- Closeout and sweep remove only merged, clean and unowned worktrees. To keep one, give it an unmerged commit, keep it dirty, or mark or lease it. Details: [agentic-development-flow](docs/reference-configs/agentic-development-flow.md).
|
|
14
15
|
- Automatically delete only merged, clean worktrees/branches; ask the user for every other deletion. Credentials/permissions (including confirmation bypass) and release/production operations require user approval.
|
|
15
16
|
- Use gatekeeper/cross-model review for large changes, security/permissions, or unresolved model uncertainty; ordinary steps record diagnostics without approval loops.
|
|
16
|
-
-
|
|
17
|
+
- When you delegate, investigate first, then split work by write ownership. Give each parallel writer its own worktree from a clean source. Implementation sub-agents edit only their scope. They do not run build, typecheck or tests. They commit early in their own worktree and return early. In a shared checkout they do not commit; the parent commits. Evidence roles run the named check that is their task and do not commit. The parent agent owns task management, conflict resolution, build, typecheck, tests and integration. After integration, the parent removes each sub-agent worktree and branch whose commits are in the task branch and whose checkout is clean. It also removes the intermediate build output and temporary files that the work created. Other deletion still needs the user.
|
|
18
|
+
- Model division and cross-model dispatch/review follow [Herdr Dispatch](docs/reference-configs/herdr-notify.md#herdr-dispatch).
|
|
17
19
|
- GitHub operations (PRs, reviews, merges, labels, releases, comments) go only through the gh/git CLI or the GitHub API. Never use simulated browser clicks on github.com: the account can be banned.
|
|
18
20
|
- When one PR changes both test assertions and implementation code, run one read-only review focused on tests bent to fit a bug (on-demand, not a restored gate; dispatch per the herdr guide).
|
|
19
21
|
- `.archcontext/model/` owns architecture boundaries; read `docs/architecture/` on demand and update only real responsibility changes. Architecture diagnostics do not block work or author nested agent instructions.
|
|
22
|
+
- When a branch changes a capability's responsibility, entrypoints, relations or flows, run `repo-harness architecture-projection check --json` before review and follow `repo-harness-architecture` (`assets/skill-commands/repo-harness-architecture/references/worker.md`).
|
|
20
23
|
- Preserve `agents/fleet/`, release checklists and downstream `assets/templates` / `assets/partials*`. `.ai/harness/workflow-contract.json` is the opt-in marker. `assets/workflow-contract.v1.json` is the contract.
|
|
21
24
|
- `_ops/` is ignored private operations state: never commit or agent-edit it. `_ref/` is an ignored reference cache; cite influential revisions. Follow deploy SQL policy, otherwise use ascending 4-digit files under `deploy/sql/`.
|
|
22
25
|
|
|
26
|
+
## GitHub Issue Claims
|
|
27
|
+
- Before an agent starts work on a GitHub issue, read its current state, assignees and all comments through `gh` or the GitHub API. Use pagination for comments. Check existing work claims, linked PRs and handoff notes.
|
|
28
|
+
- An active claim is an assignee other than the current task owner, an open PR that links the issue, or an active claim comment that no later status comment released. If another agent or person has an active claim, do not start duplicate work. Coordinate with that owner within the authorized task scope. Take over only after an explicit handoff or user instruction. Silence, an old timestamp or a disconnected session does not release a claim.
|
|
29
|
+
- When taking an unclaimed issue or an approved handoff, post a claim comment before edits, tests or worker dispatch. Use `gh issue comment <issue-url> --body-file <file>`. This rule authorizes claim and status comments for an issue within the user's task scope. It grants no other GitHub write authority.
|
|
30
|
+
- Start the comment with `repo-harness issue claim`. Include `Status: active`, the agent kind and unique session or task ID, the branch, the work scope and any prior claim comment URL for a handoff. Use this identity in later status comments. A shared GitHub login is not an agent identity. Do not include secrets or private host paths.
|
|
31
|
+
- Read the issue comments again after posting. Confirm the published comment URL and body. If a competing claim appeared, stop duplicate work and resolve ownership before continuing. For simultaneous claims without an explicit assignment or handoff, the earliest GitHub comment wins; break timestamp ties by comment ID. These comments coordinate agents; they are not an atomic lock and do not replace canonical task claims or leases.
|
|
32
|
+
- On resume, check the current claim before continuing. Reuse the same active claim instead of posting it again. If a read or post fails, or delivery is uncertain, stop and report the failure. Read back before retrying an uncertain post.
|
|
33
|
+
- Post a status comment that links the claim when the work is blocked, ready for review, complete or released. Keep a blocked or review-pending claim active. Include the PR or result when available. Release ownership explicitly on cancellation or handoff. Do not close the issue unless the task authorizes closure.
|
|
34
|
+
|
|
23
35
|
## Code Optimization Principles
|
|
24
36
|
- Identify observable conditions, controllable inputs, the invariant and the actual pressure point before changing structure.
|
|
25
37
|
- Keep one source of truth for each datum; other representations are deterministic projections with drift checks.
|
|
@@ -30,10 +42,12 @@
|
|
|
30
42
|
- Self-review before committing: remove dead code, empty branches and debug leftovers, and split functions by responsibility instead of one large block.
|
|
31
43
|
|
|
32
44
|
## Testing
|
|
33
|
-
- Run `bun run check:type`
|
|
45
|
+
- Run `bun run check:type` for code changes and tests covering the changed behavior once after the implementation is stable. Development-time debugging can run focused checks before that final verification.
|
|
46
|
+
- For a bug fix, prefer a focused failing regression before the fix. Run only the reproducer during RED. Record a reproduction gap when the environment cannot produce it; ordinary tasks do not require RED artifacts.
|
|
47
|
+
- A diff's size, a new test file, a new agent or a rebase does not by itself require a full run.
|
|
34
48
|
- Use `bun run test:files <affected tests> --timeout 60000 --max-concurrency 1`; extend existing coverage before creating a new test file.
|
|
35
49
|
- Select tests by observable risk and owning runtime boundary, including error/recovery paths when affected.
|
|
36
|
-
- Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting.
|
|
50
|
+
- Mechanical prose changes need link/scope validation, not new product tests; do not test incidental formatting or that deleted files stay deleted.
|
|
37
51
|
- Reviewers consume the recorded command, result, revision and environment; they do not rerun passing checks to claim ownership.
|
|
38
52
|
- Changed inputs or a new uncovered failure justify affected delta checks; an old pass is only historical evidence for its old subject.
|
|
39
53
|
- Run the full suite daily; a failure opens an automatic repair task and appears in the daily report.
|
|
@@ -54,6 +68,6 @@
|
|
|
54
68
|
## Claude Code
|
|
55
69
|
- Own frontend implementation and interaction; Codex owns backend implementation and testing, and the parent coordinates scope and integration.
|
|
56
70
|
- Use Claude Code's available tools within granted permissions; changes to tool grants, hooks or confirmation bypass require approval of the exact change.
|
|
57
|
-
- User-level `~/.claude/settings.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler.
|
|
71
|
+
- User-level `~/.claude/settings.json` hooks invoke `repo-harness-hook`; its typed route registry selects one in-process handler. Operator helpers run from the package through `repo-harness run <helper>`.
|
|
58
72
|
- Write comments, commits and PR text from the final diff; comments explain non-obvious reasons, and PRs describe final behavior and material rationale.
|
|
59
73
|
- Keep this file short; load [development flow](docs/reference-configs/agentic-development-flow.md) and [external tooling](docs/reference-configs/external-tooling.md) only when needed.
|
package/README.es.md
CHANGED
|
@@ -22,10 +22,10 @@ proyecto, de modo que la siguiente sesión de agente continúa desde archivos en
|
|
|
22
22
|
lugar del historial de chat. Adopta un repositorio existente con un contract
|
|
23
23
|
de agente tasks-first que mantiene alineados a Claude y Codex.
|
|
24
24
|
|
|
25
|
-
Sobre ese contract
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
Sobre ese contract, el Bot planifica **programas de larga duración**: los task
|
|
26
|
+
offers y los leases permiten que un Sprint avance a través de sesiones.
|
|
27
|
+
repo-harness aporta las herramientas y la evidencia; el Bot decide qué se
|
|
28
|
+
ejecuta a continuación.
|
|
29
29
|
|
|
30
30
|
## Índice
|
|
31
31
|
|
|
@@ -156,9 +156,8 @@ repo-harness mcp uninstall --services-stopped # after stopping all MCP HTTP serv
|
|
|
156
156
|
- **Sesiones respaldadas por archivos, no por historial de chat.** Las
|
|
157
157
|
sesiones separadas de Claude y Codex se mantienen coordinadas a través del
|
|
158
158
|
repositorio. `SessionStart` inyecta el resume packet de la sesión anterior,
|
|
159
|
-
`Stop` escribe el handoff
|
|
160
|
-
|
|
161
|
-
exactamente el próximo paso, los blockers y los archivos modificados, sin
|
|
159
|
+
y `Stop` escribe el handoff y el resume. Una sesión puede terminar a mitad
|
|
160
|
+
de tarea, y la siguiente retoma exactamente el próximo paso, los blockers y los archivos modificados, sin
|
|
162
161
|
tener que volver a inferirlos.
|
|
163
162
|
- **Ahorro de tokens por diseño.** En lugar de bucles de grep-and-read que
|
|
164
163
|
reescanean el repositorio en cada sesión, el harness se apoya en un índice
|
|
@@ -172,10 +171,9 @@ repo-harness mcp uninstall --services-stopped # after stopping all MCP HTTP serv
|
|
|
172
171
|
decisión humana cabe en una sola pantalla — verdict, archivos previstos vs
|
|
173
172
|
reales, comandos que pasaron, riesgo residual, rollback — en lugar de una
|
|
174
173
|
reconstrucción de lo que el agente afirma haber hecho.
|
|
175
|
-
- **El trabajo
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
aceptación sin un receipt. La autonomía está acotada por artefactos, no por
|
|
174
|
+
- **El trabajo planificado sigue siendo responsable.** Una tarea no puede
|
|
175
|
+
retenerse más allá de su lease. Tampoco puede reclamar aceptación sin un
|
|
176
|
+
receipt. El Bot planifica a partir de evidencia registrada, no de la
|
|
179
177
|
confianza.
|
|
180
178
|
|
|
181
179
|
En un repositorio adoptado, la superficie se mantiene intencionalmente
|
|
@@ -199,21 +197,20 @@ completo para un repositorio en solitario, y todo lo que está en
|
|
|
199
197
|
[Flujo de trabajo de tareas](#flujo-de-trabajo-de-tareas) pertenece aquí. Nada
|
|
200
198
|
de lo que sigue es necesario para usarlo.
|
|
201
199
|
|
|
202
|
-
**Capa 2 — programas
|
|
203
|
-
una sesión: un
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
y retiene el trabajo mediante leases renovables. Ver
|
|
200
|
+
**Capa 2 — programas planificados por el Bot.** Trabajo de larga duración que
|
|
201
|
+
sobrevive a una sesión: un plano de colaboración donde varios Module Engineers
|
|
202
|
+
intercambian señales y handoffs, y task offers de engineer retenidos mediante
|
|
203
|
+
leases renovables. El Bot decide qué planificar. repo-harness aporta las
|
|
204
|
+
herramientas y la evidencia. Ver
|
|
208
205
|
[Programas autorizados](#programas-autorizados).
|
|
209
206
|
|
|
210
207
|
| | Capa 1 | Capa 2 |
|
|
211
208
|
| --- | --- | --- |
|
|
212
|
-
| Unidad de trabajo | Un task contract |
|
|
213
|
-
| Quién lo conduce | Un humano en una sesión |
|
|
214
|
-
| Autoridad | Plan, contract, review, checks | Lo anterior, más
|
|
215
|
-
| Punto de entrada | `repo-harness init` | `repo-harness
|
|
216
|
-
| Condición de parada | Closeout de la tarea |
|
|
209
|
+
| Unidad de trabajo | Un task contract | Una engineer task planificada |
|
|
210
|
+
| Quién lo conduce | Un humano en una sesión | El Bot, a través del CLI de repo-harness y Herdr |
|
|
211
|
+
| Autoridad | Plan, contract, review, checks | Lo anterior, más engineer binding y lease |
|
|
212
|
+
| Punto de entrada | `repo-harness init` | `repo-harness engineer acquire-next` |
|
|
213
|
+
| Condición de parada | Closeout de la tarea | Closeout de la tarea o lease perdido |
|
|
217
214
|
|
|
218
215
|
La capa 2 no reemplaza a la capa 1: cada paso de un programa sigue
|
|
219
216
|
proyectándose en los mismos artefactos de plan, contract y review que habría
|
|
@@ -224,10 +221,9 @@ escrito un humano.
|
|
|
224
221
|
| | |
|
|
225
222
|
| --- | --- |
|
|
226
223
|
| **Sesiones respaldadas por archivos** | Plans, contracts, checks y handoffs viven en el repositorio, de modo que una sesión nueva retoma desde artefactos en vez de un hilo de chat |
|
|
227
|
-
| **Typed hook runtime** |
|
|
224
|
+
| **Typed hook runtime** | 6 routes públicas (Claude 5, Codex 5), cada una atada a exactamente un typed handler in-process, con guards fail-closed en el límite de edición |
|
|
228
225
|
| **Plan → Contract → Review** | Un solo ciclo de vida desde el plan aprobado hasta el contract proyectado, el worktree aislado, la evidencia estructurada y un closeout revisable |
|
|
229
|
-
| **Programas
|
|
230
|
-
| **Controller desatendido acotado** | Un bucle de dispatch de Engineer bajo topes duros de pasos, duración y reintentos, que reserva budget antes de cada intento |
|
|
226
|
+
| **Programas planificados por el Bot** | Programas de collaboration con task offers de engineer y leases renovables; el Bot planifica, repo-harness aporta herramientas y evidencia |
|
|
231
227
|
| **Carga de contexto progresiva** | Un root context estable de ~12KB más capability contracts de ~1KB que solo se cargan para los archivos que realmente se están tocando |
|
|
232
228
|
| **Integración con CodeGraph** | Consultas estructurales (callers, callees, definitions) respondidas desde un índice pre-construido en vez de pasadas repetidas de grep-and-read |
|
|
233
229
|
| **MCP planner sidecar** | ChatGPT lee el estado real del repositorio y escribe artefactos de PRD/Sprint/Goal; Codex los ejecuta, sin acceso de escritura al código fuente por defecto |
|
|
@@ -302,13 +298,13 @@ flowchart TD
|
|
|
302
298
|
CurrentTree --> Implement
|
|
303
299
|
ContractRun --> Changes
|
|
304
300
|
|
|
305
|
-
Implement["Edit and run commands"] --> PreHooks["Pre-edit guards<br/>
|
|
306
|
-
PreHooks -->|blocked| ScopeFix["Fix
|
|
301
|
+
Implement["Edit and run commands"] --> PreHooks["Pre-edit guards<br/>RepoScopeGuard, ExternalReferenceGuard, OpsPrivateGuard"]
|
|
302
|
+
PreHooks -->|blocked| ScopeFix["Fix the target path"]
|
|
307
303
|
ScopeFix --> Implement
|
|
308
304
|
PreHooks -->|allowed| Changes["Code, docs, tests, or config changes"]
|
|
309
|
-
Changes --> PostHooks["
|
|
310
|
-
PostHooks -->
|
|
311
|
-
|
|
305
|
+
Changes --> PostHooks["Bash observer and Stop hook<br/>repair circuit, owed architecture, handoff"]
|
|
306
|
+
PostHooks --> ArchUpdate["Explicit architecture update<br/>archctx ChangeSet when responsibilities change<br/>architecture-projection apply"]
|
|
307
|
+
ArchUpdate --> Verify["Run verification<br/>tests plus repo workflow checks"]
|
|
312
308
|
|
|
313
309
|
Verify --> Checks["Structured evidence<br/>.ai/harness/evidence/events/log.jsonl<br/>.ai/harness/runs/*.json"]
|
|
314
310
|
Checks --> CheckReview["Evaluator review<br/>Waza /check -> review file"]
|
|
@@ -341,40 +337,15 @@ y [`workflow-orchestration.md`](docs/reference-configs/workflow-orchestration.md
|
|
|
341
337
|
|
|
342
338
|
## Programas autorizados
|
|
343
339
|
|
|
344
|
-
Un programa es trabajo que sobrevive a una sesión.
|
|
345
|
-
|
|
340
|
+
Un programa es trabajo que sobrevive a una sesión. El Bot lo planifica a
|
|
341
|
+
través del CLI de repo-harness y Herdr. repo-harness no mantiene un scheduler,
|
|
342
|
+
un budget ledger ni un controller propios.
|
|
346
343
|
|
|
347
|
-
```bash
|
|
348
|
-
repo-harness automation grant mint # store one operator ProgramAuthorizationV2
|
|
349
|
-
repo-harness automation grant list # digests held for this repository
|
|
350
|
-
repo-harness automation budget show # the enforceable per-goal ledger
|
|
351
|
-
repo-harness automation budget repair # seal a stopped or expired run's exhaustion receipt
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
- **Authorization.** Un `ProgramAuthorizationV2` emitido por un operador vive
|
|
355
|
-
en el gate store del home del harness. No existe una ruta de arranque sin
|
|
356
|
-
autenticar, y un programa nunca deriva su propio actor — el autor de cada
|
|
357
|
-
registro se resuelve desde `--authorization-id`.
|
|
358
|
-
- **Budget.** Los agent turns, acquisitions y runner invocations reservan el presupuesto antes del trabajo. `budget repair` conserva los límites.
|
|
359
344
|
- **Lease.** El trabajo retenido lleva un lease renovable con un intervalo de
|
|
360
345
|
renovación, un TTL máximo y un conjunto cerrado de fuentes de evidencia. Un
|
|
361
346
|
estado de liveness no probado exige atención en lugar de reclamarse en
|
|
362
347
|
silencio.
|
|
363
348
|
|
|
364
|
-
### Controller desatendido
|
|
365
|
-
|
|
366
|
-
```bash
|
|
367
|
-
repo-harness automation controller start --maximum-steps 20 --maximum-duration-ms 300000
|
|
368
|
-
repo-harness automation controller step
|
|
369
|
-
repo-harness automation controller status
|
|
370
|
-
repo-harness automation controller stop
|
|
371
|
-
```
|
|
372
|
-
|
|
373
|
-
Un bucle de dispatch de Engineer bajo topes duros, con backoff determinista y
|
|
374
|
-
un ledger acotado de reintentos por intento. Cada intento reserva budget antes
|
|
375
|
-
de quedar registrado, y un resultado proyectado fuera del enum cerrado no puede
|
|
376
|
-
contarse como satisfecho.
|
|
377
|
-
|
|
378
349
|
### Scheduling de Engineer
|
|
379
350
|
|
|
380
351
|
```bash
|
|
@@ -393,20 +364,17 @@ sobre un backlog más antiguo.
|
|
|
393
364
|
|
|
394
365
|
Campaign execution moved to the existing Bot skills on 2026-10-04. Use [repo-harness](SKILL.md) to dispatch and collect work through Herdr/OAR. Use [repo-harness-product](assets/skills/repo-harness-product/SKILL.md) for planning and [repo-harness-check](assets/skill-commands/repo-harness-check/SKILL.md) for scope and verification. repo-harness has no campaign runtime.
|
|
395
366
|
|
|
396
|
-
### Refactor
|
|
367
|
+
### Refactor recommendations
|
|
397
368
|
|
|
398
369
|
```bash
|
|
399
|
-
repo-harness refactor
|
|
400
|
-
repo-harness refactor
|
|
401
|
-
repo-harness refactor verify-candidate
|
|
402
|
-
repo-harness refactor board
|
|
370
|
+
repo-harness refactor recommendations [--import-node-limit <n>] # measured suggestions with evidence
|
|
371
|
+
repo-harness refactor decide <id> accept|defer|reject --reason "<text>" [--import-node-limit <n>]
|
|
403
372
|
```
|
|
404
373
|
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
active.
|
|
374
|
+
ArchContext mide problemas estructurales como ciclos y violaciones de
|
|
375
|
+
dirección. repo-harness muestra cada sugerencia con sus métricas, su evidencia
|
|
376
|
+
acotada y las estadísticas de sus módulos, y registra la decisión del usuario. Nunca ejecuta
|
|
377
|
+
un refactor; una sugerencia aceptada sigue el flujo normal de plan y pull request.
|
|
410
378
|
|
|
411
379
|
### Plano de colaboración
|
|
412
380
|
|
|
@@ -446,30 +414,17 @@ repo-harness review status --contract tasks/contracts/<task>.contract.md
|
|
|
446
414
|
repo-harness review close --contract tasks/contracts/<task>.contract.md
|
|
447
415
|
```
|
|
448
416
|
|
|
417
|
+
En la app de escritorio de Claude sin Herdr, añada `--launch app-terminal` y omita `--herdr-endpoint`. La primera llamada imprime el comando fijo del host. Claude lo ejecuta una vez en una pestaña Terminal de la app y repite la misma ronda. OAR, Seatbelt y el Receipt no cambian.
|
|
418
|
+
|
|
449
419
|
Un task-agent fleet `deep-reasoner` persiste en un linked checkout dedicado y la sesión Herdr indicada, durante un máximo de tres rondas. Por defecto se elige el harness opuesto al owner; `--harness` permite elegirlo explícitamente. Sólo un ejecutable ausente antes de iniciar permite fallback anunciado. El Result de archivo pasa la validación de dominio y el writer/verifier Receipt generic-review; close verifica el Receipt otra vez. History es observación. Claude usa una allowlist de archivos resultado y fingerprints; aislamiento OS de producción e ingestión completa de paquetes grandes siguen sin verificar.
|
|
450
420
|
|
|
451
421
|
## Hooks
|
|
452
422
|
|
|
453
|
-
El adapter instalado
|
|
454
|
-
tuple `event + routeId + matcher` es el contract estable;
|
|
455
|
-
exactamente un typed handler in-process.
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
| --- | --- | --- | --- |
|
|
459
|
-
| `SessionStart.default` | all sessions | `src/cli/hook/session-context.ts` (in-process builder) | Inyecta el handoff anterior, el estado del sprint, guía de minimal-change y hallazgos de config-security de solo lectura antes de que empiece el trabajo. |
|
|
460
|
-
| `PreToolUse.edit` | `Edit\|Write` | `src/cli/hook/mutation-guard.ts` (in-process handler) | Aplica la worktree policy y la readiness de plan/contract antes de las ediciones de implementación. |
|
|
461
|
-
| `PreToolUse.subagent` | `Task\|Agent\|SendUserMessage` | `src/cli/hook/subagent-handler.ts` | Mantiene el trabajo delegado retornando a través de la sesión padre, en lugar de dejar escapar afirmaciones de finalización. |
|
|
462
|
-
| `PostToolUse.edit` | `Edit\|Write` | `src/cli/hook/mutation-observed.ts` (in-process handler) | Escribe como máximo un pequeño evento de bitácora con dirty bits por cada edición calificada; la verificación del contract, el sync de architecture/context/capability y la evidencia de minimal-change se difieren a Stop en vez de ejecutarse por cada edición. |
|
|
463
|
-
| `PostToolUse.bash` | `Bash` | `src/cli/hook/command-observed.ts` | Observa los resultados de comandos y captura evidencia de verificación sin reemplazar el command runner. |
|
|
464
|
-
| `PostToolUse.always` | all tools | `src/cli/hook/trace-observer.ts` | Provee trace y runtime observation de bajo ruido y siempre activo. |
|
|
465
|
-
| `UserPromptSubmit.default` | all prompts | `src/cli/hook/prompt-handler.ts` | Clasifica la intención del prompt, enruta hints de planning/check y renderiza guía de workflow host-safe. |
|
|
466
|
-
| `Stop.default` | session stop | `src/cli/hook/stop-handler.ts` (in-process handler) | Finaliza el handoff y protege contra terminar con draft-plans sin resolver o vacíos de evidencia de completion. |
|
|
467
|
-
|
|
468
|
-
Codex también instala tres Codex-only bounded-delegation routes —
|
|
469
|
-
`UserPromptSubmit.delegation`, `SubagentStart.context`, y
|
|
470
|
-
`SubagentStop.quality`, todas atadas a `src/cli/hook/subagent-handler.ts`;
|
|
471
|
-
Claude solo conserva la route compartida de return-channel,
|
|
472
|
-
`PreToolUse.subagent`.
|
|
423
|
+
El adapter instalado ata 6 hook routes públicas: Claude instala 5 y Codex instala
|
|
424
|
+
5. El route tuple `event + routeId + matcher` es el contract estable;
|
|
425
|
+
cada tuple ata exactamente un typed handler in-process. La tabla de routes, con una
|
|
426
|
+
columna Host, está en
|
|
427
|
+
[`docs/reference-configs/hook-operations.md`](docs/reference-configs/hook-operations.md#hook-authority-map).
|
|
473
428
|
|
|
474
429
|
`repo-harness-hook` y su typed handler registry son el host-event runtime;
|
|
475
430
|
`~/.claude/settings.json` y `~/.codex/hooks.json` son los adapters a nivel de
|
|
@@ -478,13 +433,14 @@ esos hooks corran. `.claude/settings.json` y `.codex/hooks.json` repo-locales
|
|
|
478
433
|
son config legacy a retirar. Depura en este orden: adapter config ->
|
|
479
434
|
`repo-harness-hook` -> route registry -> typed handler.
|
|
480
435
|
|
|
481
|
-
Cuando un hook bloquea el trabajo, lee primero
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
436
|
+
Cuando un hook bloquea el trabajo, lee primero la salida del terminal: una
|
|
437
|
+
línea `[<Guard>] <reason>` y una línea `Fix:`. El registro durable en
|
|
438
|
+
`.ai/harness/failures/latest.jsonl` lleva `guard`, `reason`, `fix`,
|
|
439
|
+
`failure_class`, y `run_id`. `.ai/harness/runs/hook-events.jsonl` registra
|
|
440
|
+
cada evento de hook. Los edit guards son `RepoScopeGuard` (una ruta fuera del
|
|
441
|
+
repositorio), `ExternalReferenceGuard` (`_ref/`), `OpsPrivateGuard`
|
|
442
|
+
(`_ops/`), y `ApplyPatchScopeGuard` y `EditScopeGuard` (sin una ruta de
|
|
443
|
+
destino legible).
|
|
488
444
|
Playbook completo:
|
|
489
445
|
[`docs/reference-configs/hook-operations.md`](docs/reference-configs/hook-operations.md).
|
|
490
446
|
|
|
@@ -583,11 +539,12 @@ host mientras el CLI y los hooks poseen la ejecución.
|
|
|
583
539
|
| `repo-harness-product` | Modos PRD, Sprint y Goal para el product planning de upper-layer |
|
|
584
540
|
| `repo-harness-check` | Definir el plan. Revisar el plan. Verificar los resultados registrados. |
|
|
585
541
|
| `repo-harness-ship` | Valida worktrees terminados, hace push de branches y abre PRs |
|
|
586
|
-
| `repo-harness-architecture` |
|
|
542
|
+
| `repo-harness-architecture` | Modelo de architecture, docs proyectados y diagramas sin un refresh completo del harness |
|
|
587
543
|
| `repo-harness-cross-review` | Generic acceptance through persistent fleet deep-reasoner task-agent + Herdr review; direct advisory runtime retired |
|
|
588
544
|
| `repo-harness-chatgpt` | Consultas de Oracle browser/GPT Pro, setup del MCP Connector y bridge handoff; solo setup explícito |
|
|
589
545
|
| `obsidian-memory` | Bot: leer o guardar memoria por solicitud explícita. |
|
|
590
546
|
| `repo-harness-test` | Worker: pruebas del código fuente y fixtures reales. |
|
|
547
|
+
| `windows-python-first` | Worker: tareas de archivos, texto y shell en Windows nativo con Python. |
|
|
591
548
|
| `merge-gate` (externo) | Gate final de exact-candidate; repo-harness no distribuye ningún Skill de merge-gate — ver [external tooling](docs/reference-configs/external-tooling.md) |
|
|
592
549
|
|
|
593
550
|
Los Bot skills definen el alcance, la delegación y las decisiones. Los Worker skills ejecutan los pasos.
|
|
@@ -595,7 +552,8 @@ Los Bot skills definen el alcance, la delegación y las decisiones. Los Worker s
|
|
|
595
552
|
Bot: `repo-harness`, `repo-harness-check`, `repo-harness-product`,
|
|
596
553
|
`repo-harness-ship`, `obsidian-memory`, `repo-harness-cross-review`,
|
|
597
554
|
`repo-harness-chatgpt`. Worker: `repo-harness-setup`,
|
|
598
|
-
`repo-harness-test`,
|
|
555
|
+
`repo-harness-test`, `repo-harness-architecture`, and
|
|
556
|
+
`windows-python-first`.
|
|
599
557
|
`obsidian-memory`, and `repo-harness-ship` requieren una invocación explícita.
|
|
600
558
|
Las tareas comunes usan un brief corto y la descripción del PR. PRD, Sprint y Goal sirven para el trabajo de producto solicitado.
|
|
601
559
|
|
|
@@ -625,9 +583,11 @@ Ese checkout es la única fuente de verdad editable; las rutas locales de
|
|
|
625
583
|
skill de Claude/Codex son runtime entrypoints respaldados por symlinks,
|
|
626
584
|
reconstruidos por `scripts/sync-codex-installed-copies.sh`.
|
|
627
585
|
|
|
628
|
-
`bun run check:ci` es el único gate equivalente a CI
|
|
629
|
-
|
|
630
|
-
|
|
586
|
+
`bun run check:ci` es el único gate equivalente a CI. `bun run check:release`
|
|
587
|
+
añade el preflight de unpublished-version de npm y después ejecuta el lane
|
|
588
|
+
`release`: los tests protegidos por el gate de coste y el smoke de instalación
|
|
589
|
+
del tarball. No es una segunda suite completa ni el gate de CI; un release
|
|
590
|
+
depende de un CI en verde para el SHA del release.
|
|
631
591
|
Las pruebas afectadas cubren el routing del runtime. El antiguo gate de routing eval está retirado.
|
|
632
592
|
|
|
633
593
|
```bash
|
|
@@ -638,8 +598,8 @@ repo-harness docs show harness-overview
|
|
|
638
598
|
bun scripts/assemble-template.ts --plan C --name "MyProject"
|
|
639
599
|
```
|
|
640
600
|
|
|
641
|
-
Los cambios de hook
|
|
642
|
-
|
|
601
|
+
Los cambios de hook handler van a `src/cli/hook/`. Los operator helpers están en
|
|
602
|
+
`scripts/` y se ejecutan con `repo-harness run <helper>`. Los
|
|
643
603
|
reference docs son canónicos bajo `assets/reference-configs/` y se proyectan
|
|
644
604
|
en `docs/reference-configs/`; `bun run check:reference-configs` verifica esa
|
|
645
605
|
proyección.
|
|
@@ -676,8 +636,8 @@ repositorio adopte la misma política.
|
|
|
676
636
|
|
|
677
637
|
## Versión actual
|
|
678
638
|
|
|
679
|
-
- Paquete npm: `repo-harness@0.
|
|
680
|
-
- Sello de workflow generado: `repo-harness@0.
|
|
639
|
+
- Paquete npm: `repo-harness@0.23.0`
|
|
640
|
+
- Sello de workflow generado: `repo-harness@0.23.0+template@0.23.0`
|
|
681
641
|
- Repositorio de GitHub: `Ancienttwo/repo-harness`
|
|
682
642
|
- Notas de versión e historial: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
|
|
683
643
|
|