@moretea-labs/forge 1.7.1 → 1.8.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 +58 -62
- package/CHANGELOG.md +39 -0
- package/CLAUDE.md +42 -62
- package/README.md +2 -2
- package/SKILL.md +0 -1
- package/THIRD_PARTY_NOTICES.md +5 -2
- package/adapters/browser/index.ts +2 -0
- package/adapters/chatgpt/browser-delivery-host.ts +71 -0
- package/adapters/chatgpt/browser-delivery-runtime.ts +783 -0
- package/adapters/chatgpt/controller-binding-store.ts +55 -0
- package/adapters/chatgpt/controller-host.ts +119 -0
- package/adapters/chatgpt/controller-round-host.ts +78 -0
- package/adapters/chatgpt/controller-round-settlement-store.ts +45 -0
- package/adapters/chatgpt/provider-delivery.ts +113 -0
- package/adapters/chatgpt/work-conversation-binding-store.ts +192 -0
- package/adapters/chatgpt/wsl-bridge-delivery-host.ts +63 -0
- package/adapters/computer/desktop-operator-contract.ts +7 -0
- package/adapters/computer/desktop-operator-discovery.ts +201 -0
- package/adapters/computer/desktop-operator-negotiation.ts +174 -0
- package/adapters/computer/desktop-operator-provider.ts +312 -0
- package/adapters/computer/index.ts +1 -0
- package/adapters/computer/interaction-target-authority.ts +944 -0
- package/adapters/controller-process/binding-store.ts +34 -0
- package/adapters/controller-process/controller-host.ts +26 -0
- package/adapters/mcp/access-mode.ts +132 -0
- package/adapters/mcp/audit.ts +32 -0
- package/adapters/mcp/auth.ts +407 -0
- package/adapters/mcp/controller-round-compatibility.ts +184 -0
- package/adapters/mcp/frozen-client-semantic-compatibility.ts +292 -0
- package/adapters/mcp/instructions.ts +36 -0
- package/adapters/mcp/legacy-context.ts +18 -0
- package/adapters/mcp/multi-repository.ts +437 -0
- package/adapters/mcp/oauth.ts +391 -0
- package/adapters/mcp/paths.ts +140 -0
- package/adapters/mcp/policy.ts +232 -0
- package/adapters/mcp/proxy-env.ts +62 -0
- package/adapters/mcp/readiness-projection.ts +24 -0
- package/adapters/mcp/redaction.ts +21 -0
- package/adapters/mcp/repo.ts +24 -0
- package/adapters/mcp/runtime-gateway/artifact-adapter.ts +52 -0
- package/adapters/mcp/runtime-gateway/context-adapter.ts +829 -0
- package/adapters/mcp/runtime-gateway/controller-authority-adapter.ts +191 -0
- package/adapters/mcp/runtime-gateway/engineering-preconditions.ts +147 -0
- package/adapters/mcp/runtime-gateway/execution-control-adapter.ts +28 -0
- package/adapters/mcp/runtime-gateway/execution-tools.ts +207 -0
- package/adapters/mcp/runtime-gateway/filesystem-adapter.ts +38 -0
- package/adapters/mcp/runtime-gateway/gateway-execution-adapter.ts +411 -0
- package/adapters/mcp/runtime-gateway/legacy-ios-tool-adapter.ts +105 -0
- package/adapters/mcp/runtime-gateway/maintenance-adapter.ts +44 -0
- package/adapters/mcp/runtime-gateway/model-adapter.ts +63 -0
- package/adapters/mcp/runtime-gateway/persisted-check-process.ts +3 -0
- package/adapters/mcp/runtime-gateway/plugin-adapter.ts +308 -0
- package/adapters/mcp/runtime-gateway/process-tools.ts +289 -0
- package/adapters/mcp/runtime-gateway/protected-computer-adapter.ts +76 -0
- package/adapters/mcp/runtime-gateway/recovery-adapter.ts +268 -0
- package/adapters/mcp/runtime-gateway/recovery-client-adapter.ts +70 -0
- package/adapters/mcp/runtime-gateway/recovery-tool-contract.ts +99 -0
- package/adapters/mcp/runtime-gateway/repository-compat-adapter.ts +110 -0
- package/adapters/mcp/runtime-gateway/result-adapter.ts +108 -0
- package/adapters/mcp/runtime-gateway/router.ts +728 -0
- package/adapters/mcp/runtime-gateway/runtime-observation-adapter.ts +1251 -0
- package/adapters/mcp/runtime-gateway/runtime-tool-definitions.ts +634 -0
- package/adapters/mcp/runtime-gateway/runtime-tool-shared.ts +27 -0
- package/adapters/mcp/runtime-gateway/runtime-tools.ts +68 -0
- package/adapters/mcp/runtime-gateway/scheduler-adapter.ts +186 -0
- package/adapters/mcp/runtime-gateway/shared-adapter.ts +25 -0
- package/adapters/mcp/runtime-gateway/status-inbox-adapter.ts +870 -0
- package/adapters/mcp/runtime-gateway/work-adapter.ts +3186 -0
- package/adapters/mcp/runtime-gateway/work-compat-adapter.ts +502 -0
- package/adapters/mcp/runtime-gateway/work-validation-reconciler.ts +1 -0
- package/adapters/mcp/server.ts +1048 -0
- package/adapters/mcp/setup.ts +791 -0
- package/adapters/mcp/tool-capability-cache.ts +87 -0
- package/adapters/mcp/tool-mapping/access-tools.ts +387 -0
- package/adapters/mcp/tool-mapping/legacy-tool-service.ts +5265 -0
- package/adapters/mcp/tool-mapping/post-finalize-work-attribution.ts +150 -0
- package/adapters/mcp/tool-mapping/repository-tools.ts +1691 -0
- package/adapters/mcp/tool-mapping/tools.ts +9 -0
- package/adapters/mcp/tool-mapping/umbrella-tools.ts +117 -0
- package/adapters/mcp/toolset-names.ts +74 -0
- package/adapters/mcp/toolset-selection.ts +41 -0
- package/adapters/mcp/toolset.ts +336 -0
- package/adapters/mcp/transports/http.ts +1456 -0
- package/adapters/mcp/transports/session-registry.ts +513 -0
- package/adapters/mcp/transports/stdio.ts +8 -0
- package/adapters/mcp/tunnels/openai-secure-tunnel.ts +139 -0
- package/adapters/mcp/types.ts +41 -0
- package/assets/AGENTS.md +2 -16
- package/assets/CLAUDE.md +2 -16
- package/assets/hooks/AGENTS.md +3 -14
- package/assets/hooks/CLAUDE.md +3 -14
- package/assets/hooks/hook-input.sh +9 -2
- package/assets/hooks/lib/workflow-state.sh +28 -10
- package/assets/hooks/prompt-guard.sh +63 -37
- package/assets/hooks/security-sentinel.sh +2 -1
- package/assets/hooks/session-start-context.sh +7 -5
- package/assets/hooks/stop-orchestrator.sh +13 -3
- package/assets/initializer-question-pack.v4.json +11 -7
- package/assets/partials/05-workflow.partial.md +18 -73
- package/assets/partials/07-footer.partial.md +1 -1
- package/assets/partials-agents/02-operating-mode.partial.md +1 -2
- package/assets/partials-agents/04-task-protocol.partial.md +14 -59
- package/assets/partials-agents/06-quality-safety.partial.md +11 -16
- package/assets/partials-agents/08-deep-docs.partial.md +1 -2
- package/assets/plan-map.json +11 -11
- package/assets/plugin-registry.v1.json +9 -3
- package/assets/plugin-trust-policy.v1.json +6 -0
- package/assets/recovery/ForgeRecovery.ps1 +100 -0
- package/assets/recovery/forge-wsl-rescue +271 -0
- package/assets/reference-configs/development-protocol.md +11 -15
- package/assets/reference-configs/document-generation.md +1 -1
- package/assets/reference-configs/global-working-rules.md +9 -1
- package/assets/reference-configs/harness-overview.md +22 -112
- package/assets/reference-configs/hook-operations.md +1 -1
- package/assets/reference-configs/sprint-contracts.md +2 -2
- package/assets/skill-version.json +2 -2
- package/assets/templates/helpers/architecture-event.ts +3 -34
- package/assets/templates/helpers/architecture-queue.sh +61 -10
- package/assets/templates/helpers/archive-workflow.sh +90 -180
- package/assets/templates/helpers/capability-config.ts +8 -11
- package/assets/templates/helpers/capability-resolver.ts +37 -19
- package/assets/templates/helpers/capture-plan.sh +2 -2
- package/assets/templates/helpers/check-architecture-sync.sh +1 -9
- package/assets/templates/helpers/check-task-sync.sh +82 -11
- package/assets/templates/helpers/check-task-workflow.sh +1 -3
- package/assets/templates/helpers/context-contract-sync.sh +1 -12
- package/assets/templates/helpers/contract-worktree.sh +26 -24
- package/assets/templates/helpers/ensure-task-workflow.sh +6 -8
- package/assets/templates/helpers/inspect-project-state.ts +1 -1
- package/assets/templates/helpers/migrate-project-template.sh +1 -1
- package/assets/templates/helpers/migrate-workflow-docs.ts +53 -239
- package/assets/templates/helpers/new-plan.sh +2 -2
- package/assets/templates/helpers/plan-to-todo.sh +3 -31
- package/assets/templates/helpers/sprint-backlog.sh +1 -1
- package/assets/templates/helpers/switch-plan.sh +1 -1
- package/assets/templates/helpers/workflow-contract.ts +1 -0
- package/assets/workflow-contract.v1.json +63 -171
- package/assets/workflows/xiaohongshu/xiaohongshu.collect-metrics.v1.draft.json +118 -0
- package/assets/workflows/xiaohongshu/xiaohongshu.publish-image-note.v1.draft.json +316 -0
- package/assets/workflows/xiaohongshu/xiaohongshu.publish-long-text.v1.draft.json +324 -0
- package/docs/architecture/CURRENT.md +148 -13
- package/docs/architecture/EVOLUTION.md +13 -0
- package/docs/architecture/decisions/20260801-controller-home-sqlite-state.md +2 -1
- package/docs/architecture/decisions/20260831-independent-windows-wsl-host-rescue.md +59 -0
- package/docs/architecture/decisions/20260904-ios-device-migration-baseline.md +120 -0
- package/docs/architecture/decisions/20260904-repository-runtime-data-boundary.md +42 -0
- package/docs/architecture/decisions/20260907-assistant-learning-loop.md +35 -0
- package/docs/architecture/decisions/20260907-controller-round-transition-policy.md +296 -0
- package/docs/architecture/decisions/20260907-maintenance-diagnosis-bounded-read.md +39 -0
- package/docs/architecture/domains/verification.md +7 -0
- package/docs/architecture/domains/workflow-engine.md +1 -1
- package/docs/architecture/index.md +3 -3
- package/docs/architecture/modules/controller-runtime/transport-lifecycle.md +19 -8
- package/docs/architecture/requests/2026-09-04-computer-plugin-workflow-taxonomy.md +124 -0
- package/docs/forge-chatgpt-mcp-setup.md +5 -3
- package/docs/forge-plugin-management.md +20 -4
- package/docs/forge-runtime-self-healing-loop.md +2 -0
- package/docs/operations/benchmark-cross-version-freeze.md +38 -0
- package/docs/operations/controller-browser-plugin.md +3 -1
- package/docs/operations/homebrew.md +2 -2
- package/docs/operations/platform-support.md +16 -8
- package/docs/operations/platform-support.zh-CN.md +2 -2
- package/docs/operations/standalone-disaster-recovery.md +26 -1
- package/docs/operations/uu-remote-rescue.md +41 -0
- package/docs/operations/windows-wsl-host-rescue.md +133 -0
- package/docs/public-usage-guide.md +1 -1
- package/docs/public-usage-guide.zh-CN.md +1 -1
- package/docs/tutorials/01-install-and-start.md +1 -1
- package/docs/tutorials/01-install-and-start.zh-CN.md +1 -1
- package/docs/tutorials/02-connect-chatgpt.md +4 -4
- package/docs/tutorials/02-connect-chatgpt.zh-CN.md +4 -4
- package/docs/wiki/Implementation.md +1 -1
- package/package.json +23 -14
- package/packages/kernel/controller/api/index.ts +2 -0
- package/packages/kernel/controller/application/controller-round-service.ts +29 -0
- package/packages/kernel/controller/application/controller-service.ts +30 -0
- package/packages/kernel/controller/domain/controller-round-transition-policy.ts +308 -0
- package/packages/kernel/controller/domain/controller-round.ts +107 -0
- package/packages/kernel/controller/domain/execution-quality.ts +133 -0
- package/packages/kernel/controller/domain/types.ts +56 -0
- package/packages/kernel/controller/index.ts +1 -0
- package/packages/kernel/controller/infrastructure/controller-binding-store.ts +84 -0
- package/packages/kernel/controller/infrastructure/controller-round-store.ts +1384 -0
- package/packages/kernel/controller/infrastructure/controller-session-store.ts +578 -0
- package/packages/kernel/controller/ports/controller-host.ts +16 -0
- package/packages/kernel/goal/api/index.ts +1 -0
- package/packages/kernel/goal/domain/types.ts +40 -0
- package/packages/kernel/goal/index.ts +1 -0
- package/packages/kernel/identity/api/index.ts +5 -0
- package/packages/kernel/identity/application/identity-service.ts +67 -0
- package/packages/kernel/identity/domain/scope.ts +63 -0
- package/packages/kernel/identity/domain/semantic-sync.ts +81 -0
- package/packages/kernel/identity/domain/types.ts +44 -0
- package/packages/kernel/identity/domain/workspace.ts +56 -0
- package/packages/kernel/identity/index.ts +1 -0
- package/packages/kernel/identity/infrastructure/identity-store.ts +75 -0
- package/packages/kernel/memory/api/index.ts +5 -0
- package/packages/kernel/memory/application/experience-service.ts +118 -0
- package/packages/kernel/memory/application/outcome-service.ts +77 -0
- package/packages/kernel/memory/domain/experience.ts +103 -0
- package/packages/kernel/memory/domain/operational-prior.ts +92 -0
- package/packages/kernel/memory/index.ts +1 -0
- package/packages/kernel/progression/api/index.ts +2 -0
- package/packages/kernel/progression/application/projector.ts +211 -0
- package/packages/kernel/progression/domain/types.ts +116 -0
- package/packages/kernel/progression/index.ts +1 -0
- package/packages/kernel/scheduler/api/index.ts +6 -0
- package/packages/kernel/scheduler/application/continuation-service.ts +212 -0
- package/packages/kernel/scheduler/application/eligibility.ts +252 -0
- package/packages/kernel/scheduler/application/schedule-service.ts +24 -0
- package/packages/kernel/scheduler/application/settlement.ts +197 -0
- package/packages/kernel/scheduler/domain/continuation.ts +38 -0
- package/packages/kernel/scheduler/domain/schedule.ts +149 -0
- package/packages/kernel/scheduler/index.ts +1 -0
- package/packages/kernel/scheduler/infrastructure/continuation-dispatch-store.ts +38 -0
- package/packages/kernel/scheduler/infrastructure/schedule-store.ts +785 -0
- package/packages/kernel/work/api/index.ts +15 -0
- package/packages/kernel/work/application/work-service.ts +148 -0
- package/packages/kernel/work/domain/admission-policy.ts +34 -0
- package/packages/kernel/work/domain/check-receipt.ts +43 -0
- package/packages/kernel/work/domain/context-closure-receipt.ts +32 -0
- package/packages/kernel/work/domain/engineering-contracts.ts +157 -0
- package/packages/kernel/work/domain/engineering-design.ts +281 -0
- package/packages/kernel/work/domain/engineering-profile.ts +242 -0
- package/packages/kernel/work/domain/execution-concurrency.ts +254 -0
- package/packages/kernel/work/domain/execution-snapshot.ts +33 -0
- package/packages/kernel/work/domain/implementation-review.ts +510 -0
- package/packages/kernel/work/domain/project-engineering-contract.ts +202 -0
- package/packages/kernel/work/domain/repository-completion-receipt.ts +73 -0
- package/packages/kernel/work/domain/state-machine.ts +259 -0
- package/packages/kernel/work/domain/types.ts +528 -0
- package/packages/kernel/work/index.ts +1 -0
- package/packages/kernel/work/infrastructure/work-contract-store.ts +1876 -0
- package/packages/kernel/work/ports/work-contract-store.ts +18 -0
- package/packages/plugin-runtime/browser/index.ts +3 -0
- package/packages/plugin-runtime/browser/provider-registry.ts +110 -0
- package/packages/plugin-runtime/browser/runtime-contract.ts +150 -0
- package/packages/plugin-runtime/browser/session-authority.ts +61 -0
- package/packages/plugin-runtime/computer/index.ts +6 -0
- package/packages/plugin-runtime/computer/provider-error.ts +26 -0
- package/packages/plugin-runtime/computer/provider-registration.ts +52 -0
- package/packages/plugin-runtime/computer/provider-registry.ts +63 -0
- package/packages/plugin-runtime/computer/provider.ts +19 -0
- package/packages/plugin-runtime/computer/target-authority.ts +190 -0
- package/packages/plugin-runtime/computer/target-persistence.ts +54 -0
- package/packages/plugin-runtime/external/index.ts +1 -0
- package/packages/plugin-runtime/external/unix-jsonl-transport.ts +457 -0
- package/packages/plugin-runtime/index.ts +3 -0
- package/packages/protocols/browser/index.ts +1 -0
- package/packages/protocols/browser/session.ts +98 -0
- package/packages/protocols/computer/contract.ts +199 -0
- package/packages/protocols/computer/index.ts +1 -0
- package/packages/protocols/failure/contract.ts +158 -0
- package/packages/protocols/failure/index.ts +1 -0
- package/packages/protocols/handoff/index.ts +1 -0
- package/packages/protocols/handoff/status.ts +22 -0
- package/packages/protocols/mcp/execution-context.ts +11 -0
- package/packages/protocols/mcp/index.ts +2 -0
- package/packages/protocols/mcp/tool-contract.ts +42 -0
- package/packages/workflow-runtime/api/index.ts +2 -0
- package/packages/workflow-runtime/application/interpreter.ts +342 -0
- package/packages/workflow-runtime/domain/workflow-asset.ts +223 -0
- package/packages/workflow-runtime/index.ts +1 -0
- package/scripts/assemble-template.ts +1 -1
- package/scripts/benchmark-computer-hotpath.ts +255 -0
- package/scripts/benchmark-controller-round2.ts +54 -2
- package/scripts/benchmark-ios-agent-device.ts +3 -6
- package/scripts/benchmark-mcp-transport.ts +3 -4
- package/scripts/benchmark-operational-memory-activation.ts +235 -0
- package/scripts/benchmark-operational-shadow.ts +28 -0
- package/scripts/bootstrap-runtime-maintenance-recovery.sh +4 -1
- package/scripts/canary-chatgpt-provider-delivery.ts +97 -0
- package/scripts/canary-controller-semantic-wait.ts +195 -0
- package/scripts/canary-global-hook.sh +2 -2
- package/scripts/check-mcp-compatibility.ts +173 -7
- package/scripts/check-platform-support.mjs +28 -2
- package/scripts/check-public-docs.sh +1 -1
- package/scripts/check-release-readiness.sh +1 -1
- package/scripts/check-repository-hygiene.mjs +92 -0
- package/scripts/check-runtime-architecture.mjs +1206 -95
- package/scripts/check-source-duplication.mjs +9 -1
- package/scripts/check-tarball-install-smoke.sh +98 -15
- package/scripts/controller-ngrok-rotation.sh +5 -4
- package/scripts/create-project-dirs.sh +10 -74
- package/scripts/forge-local-recovery-helper.mjs +204 -0
- package/scripts/forge-uu-remote-rescue-helper.d.mts +31 -0
- package/scripts/forge-uu-remote-rescue-helper.mjs +409 -0
- package/scripts/forge-windows-host-recovery-helper.mjs +136 -0
- package/scripts/hook-shim.sh +2 -2
- package/scripts/init-project.sh +12 -70
- package/scripts/install-desktop-operator-registration.ts +4 -2
- package/scripts/install-independent-windows-wsl-recovery.ts +125 -0
- package/scripts/install-standalone-recovery.ts +122 -10
- package/scripts/install-uu-remote-rescue-registration.ts +74 -0
- package/scripts/install-windows-host-recovery-registration.ts +22 -0
- package/scripts/lib/controller-home-env.sh +6 -3
- package/scripts/lib/project-init-lib.sh +39 -582
- package/scripts/migrate-chatgpt-automation-schedules.ts +2 -2
- package/scripts/migrate-windows-wsl-controller-home.ts +306 -0
- package/scripts/open-source-audit-allowlist.txt +12 -1
- package/scripts/portability-bindings.mjs +70 -0
- package/scripts/run-bounded-command.mjs +55 -0
- package/scripts/run-bun-test-file.ts +22 -6
- package/scripts/run-governed-gate.ts +4 -1
- package/scripts/smoke-mcp-http-runtime.ts +1 -1
- package/scripts/smoke-runtime-recovery.ts +34 -1
- package/scripts/smoke-schedule-engine.ts +1 -1
- package/scripts/stage-runtime-release.ts +6 -1
- package/scripts/test-governance.ts +51 -2
- package/src/cli/agent-jobs/job-manager.ts +10 -1
- package/src/cli/chatgpt-browser/bind-server.ts +2 -1
- package/src/cli/chatgpt-browser/binding.ts +20 -10
- package/src/cli/chatgpt-browser/bridge-extension.ts +75 -0
- package/src/cli/chatgpt-browser/bridge-provider.ts +376 -11
- package/src/cli/chatgpt-browser/engine.ts +10 -11
- package/src/cli/chatgpt-browser/native-provider.ts +24 -83
- package/src/cli/chatgpt-browser/oracle-provider.ts +5 -3
- package/src/cli/chatgpt-browser/types.ts +1 -0
- package/src/cli/commands/bootstrap-control.ts +334 -0
- package/src/cli/commands/brain-assistant.ts +38 -0
- package/src/cli/commands/brain.ts +193 -40
- package/src/cli/commands/chatgpt.ts +127 -0
- package/src/cli/commands/computer.ts +437 -0
- package/src/cli/commands/doctor.ts +18 -1
- package/src/cli/commands/init-hook.ts +71 -61
- package/src/cli/commands/init.ts +3 -1
- package/src/cli/commands/mcp.ts +16 -10
- package/src/cli/commands/plugin.ts +38 -12
- package/src/cli/commands/recovery.ts +493 -80
- package/src/cli/commands/runtime.ts +9 -4
- package/src/cli/commands/setup-profile.ts +89 -39
- package/src/cli/commands/status.ts +2 -1
- package/src/cli/controller/check-runner.ts +487 -98
- package/src/cli/controller/context/types.ts +7 -1
- package/src/cli/controller/context-pack.ts +23 -3
- package/src/cli/controller/issue-store.ts +1 -1
- package/src/cli/controller/systemd-user.ts +110 -0
- package/src/cli/controller/types.ts +10 -70
- package/src/cli/controller/worklog.ts +67 -13
- package/src/cli/editing/edit-operation-contract.ts +92 -0
- package/src/cli/editing/edit-session.ts +289 -13
- package/src/cli/github/plugin.ts +17 -12
- package/src/cli/hook/route-registry.ts +3 -5
- package/src/cli/hook/runtime.ts +49 -3
- package/src/cli/index.ts +3 -0
- package/src/cli/local-bridge/connector-freshness.ts +2 -2
- package/src/cli/local-bridge/console-automations.ts +2 -2
- package/src/cli/local-bridge/facade-api.ts +41 -14
- package/src/cli/local-bridge/job-store.ts +1 -1
- package/src/cli/local-bridge/server.ts +24 -27
- package/src/cli/mcp/access-mode.ts +2 -132
- package/src/cli/mcp/access-tools.ts +2 -387
- package/src/cli/mcp/audit.ts +2 -32
- package/src/cli/mcp/auth.ts +2 -404
- package/src/cli/mcp/instructions.ts +2 -34
- package/src/cli/mcp/legacy-context.ts +2 -16
- package/src/cli/mcp/legacy-tool-service.ts +2 -5308
- package/src/cli/mcp/multi-repository.ts +2 -436
- package/src/cli/mcp/oauth.ts +2 -375
- package/src/cli/mcp/openai-secure-tunnel.ts +2 -0
- package/src/cli/mcp/paths.ts +2 -140
- package/src/cli/mcp/policy.ts +2 -232
- package/src/cli/mcp/post-finalize-work-attribution.ts +2 -150
- package/src/cli/mcp/proxy-env.ts +2 -62
- package/src/cli/mcp/readiness-projection.ts +2 -24
- package/src/cli/mcp/redaction.ts +2 -21
- package/src/cli/mcp/repo.ts +2 -24
- package/src/cli/mcp/repository-tools.ts +2 -1585
- package/src/cli/mcp/server.ts +2 -951
- package/src/cli/mcp/setup.ts +2 -737
- package/src/cli/mcp/tool-capability-cache.ts +2 -87
- package/src/cli/mcp/tool-contract.ts +2 -14
- package/src/cli/mcp/tools.ts +2 -9
- package/src/cli/mcp/toolset-names.ts +2 -70
- package/src/cli/mcp/toolset-selection.ts +2 -41
- package/src/cli/mcp/toolset.ts +2 -336
- package/src/cli/mcp/transports/AGENTS.md +1 -10
- package/src/cli/mcp/transports/CLAUDE.md +1 -10
- package/src/cli/mcp/transports/http.ts +2 -1414
- package/src/cli/mcp/transports/session-registry.ts +2 -490
- package/src/cli/mcp/transports/stdio.ts +2 -8
- package/src/cli/mcp/types.ts +2 -41
- package/src/cli/mcp/umbrella-tools.ts +2 -117
- package/src/cli/repositories/command-executor.ts +64 -18
- package/src/cli/repositories/command-scope.ts +117 -1
- package/src/cli/repositories/controller-home.ts +119 -1
- package/src/cli/repositories/identity.ts +13 -0
- package/src/cli/repositories/registry.ts +68 -49
- package/src/cli/repositories/repository-snapshot.ts +53 -7
- package/src/cli/repositories/runtime-storage.ts +27 -2
- package/src/cli/repositories/safe-patch.ts +34 -38
- package/src/cli/repositories/selected-path-actions.ts +22 -2
- package/src/cli/repositories/structured-git.ts +105 -25
- package/src/cli/runtime/helper-runner.ts +7 -0
- package/src/cli/runtime-invocation.ts +8 -1
- package/src/cli/tools/codegraph.ts +44 -25
- package/src/core/adoption/manifest-templates.ts +1 -1
- package/src/core/adoption/plan.ts +3 -26
- package/src/core/adoption/workflow-contract-plan.ts +17 -9
- package/src/effects/process-runner.ts +8 -14
- package/src/runtime/context/assistant-context.ts +154 -0
- package/src/runtime/context/assistant-work-context.ts +147 -0
- package/src/runtime/context/codegraph-cache-boundary.ts +255 -0
- package/src/runtime/context/codegraph-read-provider.ts +55 -22
- package/src/runtime/context/codegraph-sidecar.cjs +8 -1
- package/src/runtime/context/context-closure.ts +268 -0
- package/src/runtime/context/context-plane.ts +211 -0
- package/src/runtime/context/project-engineering-contract.ts +60 -0
- package/src/runtime/control-plane/bootstrap/capability-provider.ts +74 -0
- package/src/runtime/control-plane/bootstrap/control-api.ts +57 -0
- package/src/runtime/control-plane/bootstrap/index.ts +5 -0
- package/src/runtime/control-plane/bootstrap/state-machine.ts +141 -0
- package/src/runtime/control-plane/bootstrap/store.ts +21 -0
- package/src/runtime/control-plane/bootstrap/types.ts +87 -0
- package/src/runtime/control-plane/cleanup-artifact-retention.ts +328 -0
- package/src/runtime/control-plane/codegraph-cache-retention.ts +164 -0
- package/src/runtime/control-plane/concurrency/work-execution-concurrency.ts +320 -0
- package/src/runtime/control-plane/execution/content-equivalent-commit-authority.ts +169 -0
- package/src/runtime/control-plane/execution/controller-authority-recovery.ts +350 -0
- package/src/runtime/control-plane/execution/direct-canonical-work-reconciliation.ts +85 -0
- package/src/runtime/control-plane/execution/direct-edit-work-completion.ts +417 -100
- package/src/runtime/control-plane/execution/edit-validation-coordinator.ts +103 -15
- package/src/runtime/control-plane/execution/implementation-review-content.ts +95 -0
- package/src/runtime/control-plane/execution/repository-work-attribution.ts +2 -2
- package/src/runtime/control-plane/execution/retained-work-resume.ts +336 -6
- package/src/runtime/control-plane/execution/validation.ts +28 -3
- package/src/runtime/control-plane/execution/work-authority-reconciler.ts +116 -0
- package/src/runtime/control-plane/execution/work-completion-authority.ts +44 -2
- package/src/runtime/control-plane/execution/work-evidence-policy.ts +34 -3
- package/src/runtime/control-plane/execution/work-execution-support.ts +42 -22
- package/src/runtime/control-plane/execution/work-finalization-service.ts +1103 -166
- package/src/runtime/control-plane/execution/work-handle-authority.ts +267 -16
- package/src/runtime/control-plane/execution/work-handle-store.ts +77 -0
- package/src/runtime/control-plane/execution/work-head-settlement.ts +75 -0
- package/src/runtime/control-plane/execution/work-lifecycle-audit.ts +145 -23
- package/src/runtime/control-plane/execution/work-operation-service.ts +49 -13
- package/src/runtime/control-plane/execution/work-preparation-service.ts +31 -15
- package/src/runtime/control-plane/execution/work-remote-delivery.ts +1 -1
- package/src/runtime/control-plane/execution/work-task-receipt.ts +20 -1
- package/src/runtime/control-plane/execution/work-terminal-cleanup.ts +407 -76
- package/src/runtime/control-plane/execution/work-validation-reconciler.ts +88 -18
- package/src/runtime/control-plane/execution/work-verification-context.ts +1 -1
- package/src/runtime/control-plane/execution/work-verification-service.ts +258 -4
- package/src/runtime/control-plane/execution/work-verification-snapshot.ts +200 -15
- package/src/runtime/control-plane/facade/capability-registry.ts +21 -10
- package/src/runtime/control-plane/facade/controller-round-relay.ts +3 -1118
- package/src/runtime/control-plane/facade/controller-session-store.ts +2 -488
- package/src/runtime/control-plane/facade/goal-workloop-access.ts +6 -3
- package/src/runtime/control-plane/facade/goal-workloop.ts +972 -137
- package/src/runtime/control-plane/facade/handoff-inbox-application.ts +158 -0
- package/src/runtime/control-plane/facade/handoff-inbox-store.ts +10 -0
- package/src/runtime/control-plane/facade/index.ts +4 -2
- package/src/runtime/control-plane/facade/operation-digest.ts +22 -58
- package/src/runtime/control-plane/facade/plan-contract-store.ts +1004 -38
- package/src/runtime/control-plane/facade/repository-work-admission.ts +19 -1
- package/src/runtime/control-plane/facade/requirement-authority.ts +218 -0
- package/src/runtime/control-plane/facade/requirement-board.ts +6 -1
- package/src/runtime/control-plane/facade/rh-work-operation-contract.ts +48 -0
- package/src/runtime/control-plane/facade/semantic-admission.ts +8 -16
- package/src/runtime/control-plane/facade/suggested-actions.ts +4 -1
- package/src/runtime/control-plane/facade/types.ts +189 -532
- package/src/runtime/control-plane/facade/work-admission-policy.ts +84 -35
- package/src/runtime/control-plane/facade/work-contract-store.ts +2 -1043
- package/src/runtime/control-plane/facade/work-implementation-review.ts +2 -0
- package/src/runtime/control-plane/facade/work-state-machine.ts +2 -250
- package/src/runtime/control-plane/generated-cache-retention.ts +239 -18
- package/src/runtime/control-plane/global-scheduler/durable-admission.ts +12 -1
- package/src/runtime/control-plane/global-scheduler/maintenance.ts +76 -13
- package/src/runtime/control-plane/global-scheduler/periodic-cleanup-entry.ts +55 -0
- package/src/runtime/control-plane/global-scheduler/periodic-cleanup-process.ts +98 -0
- package/src/runtime/control-plane/global-scheduler/reconciliation.ts +1 -1
- package/src/runtime/control-plane/global-scheduler/scheduler-worker-entry.ts +10 -0
- package/src/runtime/control-plane/global-scheduler/scheduler.ts +173 -81
- package/src/runtime/control-plane/global-scheduler/worker-launch.ts +18 -6
- package/src/runtime/control-plane/launcher/chatgpt-round-continuation.ts +397 -0
- package/src/runtime/control-plane/launcher/chatgpt-work-binding-store.ts +2 -177
- package/src/runtime/control-plane/launcher/chatgpt-work-continuation.ts +301 -560
- package/src/runtime/control-plane/launcher/provider-mcp-bootstrap.ts +20 -4
- package/src/runtime/control-plane/launcher/thin-launcher.ts +50 -4
- package/src/runtime/control-plane/lifecycle-retention-metrics.ts +60 -0
- package/src/runtime/control-plane/persistence/experience-store.ts +169 -0
- package/src/runtime/control-plane/persistence/operational-prior-store.ts +348 -0
- package/src/runtime/control-plane/persistence/requirement-store.ts +30 -22
- package/src/runtime/control-plane/persistence/sqlite-store.ts +545 -76
- package/src/runtime/control-plane/persistence/workflow-content-store.ts +98 -0
- package/src/runtime/control-plane/persistence/workflow-registry-store.ts +186 -0
- package/src/runtime/control-plane/persistence/workflow-run-store.ts +123 -0
- package/src/runtime/control-plane/release-retention.ts +56 -16
- package/src/runtime/control-plane/repository-namespace-retention.ts +208 -0
- package/src/runtime/control-plane/routing/route-policy.ts +19 -0
- package/src/runtime/control-plane/runtime-cleanup.ts +574 -37
- package/src/runtime/control-plane/runtime-generation.ts +6 -0
- package/src/runtime/control-plane/workspace/semantic-sync-service.ts +465 -0
- package/src/runtime/control-plane/workspace/workspace-store.ts +80 -0
- package/src/runtime/diagnostics/incident-repair.ts +406 -0
- package/src/runtime/diagnostics/mcp-timing.ts +125 -6
- package/src/runtime/diagnostics/performance.ts +6 -14
- package/src/runtime/diagnostics/read-only-tool.ts +1 -1
- package/src/runtime/evidence/artifact-store.ts +65 -2
- package/src/runtime/evidence/operational-shadow.ts +38 -0
- package/src/runtime/evidence/process-check-receipt.ts +5 -43
- package/src/runtime/evidence/sensitive-output.ts +4 -4
- package/src/runtime/execution/jobs/receipt-recovery.ts +1 -1
- package/src/runtime/execution/jobs/store.ts +121 -2
- package/src/runtime/execution/managed-workspace.ts +55 -5
- package/src/runtime/execution/process-runtime/canary.ts +19 -5
- package/src/runtime/execution/process-runtime/check-classification.ts +48 -0
- package/src/runtime/execution/process-runtime/check-facade.ts +23 -9
- package/src/runtime/execution/process-runtime/check-receipt.ts +1 -1
- package/src/runtime/execution/process-runtime/check-result-retention.ts +132 -0
- package/src/runtime/execution/process-runtime/check-result.ts +73 -2
- package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +42 -3
- package/src/runtime/execution/process-runtime/check-storage.ts +187 -0
- package/src/runtime/execution/process-runtime/command-facade.ts +38 -87
- package/src/runtime/execution/process-runtime/index.ts +1 -0
- package/src/runtime/execution/process-runtime/interactive-admission.ts +2 -1
- package/src/runtime/execution/process-runtime/lightweight-managed.ts +32 -1
- package/src/runtime/execution/process-runtime/persisted-check.ts +128 -21
- package/src/runtime/execution/process-runtime/resource-claims.ts +60 -3
- package/src/runtime/execution/process-runtime/runtime.ts +132 -15
- package/src/runtime/execution/process-runtime/types.ts +22 -0
- package/src/runtime/execution/workers/executor.ts +16 -13
- package/src/runtime/execution/workers/worker-entry.ts +1 -1
- package/src/runtime/gateway/mcp/execution-tools.ts +2 -207
- package/src/runtime/gateway/mcp/legacy-ios-tool-adapter.ts +2 -61
- package/src/runtime/gateway/mcp/persisted-check-process.ts +2 -3
- package/src/runtime/gateway/mcp/process-tools.ts +2 -289
- package/src/runtime/gateway/mcp/router.ts +2 -1125
- package/src/runtime/gateway/mcp/runtime-tool-definitions.ts +2 -565
- package/src/runtime/gateway/mcp/runtime-tools.ts +2 -6651
- package/src/runtime/gateway/mcp/work-validation-reconciler.ts +2 -1
- package/src/runtime/maintenance/cleanup.ts +38 -24
- package/src/runtime/platform/browser-product-discovery.ts +174 -0
- package/src/runtime/platform/computer-platform.ts +14 -0
- package/src/runtime/platform/executable-discovery.ts +54 -0
- package/src/runtime/platform/fetch-http-server.ts +90 -0
- package/src/runtime/platform/service-manager.ts +138 -0
- package/src/runtime/platform/windows-host-discovery.ts +118 -0
- package/src/runtime/platform/windows-recovery-deployment.ts +67 -0
- package/src/runtime/plugins/action-application.ts +135 -0
- package/src/runtime/plugins/app-store-connect-adapter.ts +9 -21
- package/src/runtime/plugins/browser-adapter.ts +140 -100
- package/src/runtime/plugins/browser-automation-service.ts +15 -36
- package/src/runtime/plugins/browser-macos-bridge.ts +69 -21
- package/src/runtime/plugins/browser-manifest-surface.ts +30 -6
- package/src/runtime/plugins/browser-native-session-service.ts +1 -1
- package/src/runtime/plugins/browser-provider-registry.ts +2 -109
- package/src/runtime/plugins/browser-registration.ts +16 -0
- package/src/runtime/plugins/browser-runtime-contract.ts +2 -154
- package/src/runtime/plugins/browser-runtime.ts +41 -9
- package/src/runtime/plugins/browser-session-authority.ts +101 -291
- package/src/runtime/plugins/browser-session-legacy-migration.ts +203 -0
- package/src/runtime/plugins/browser-session-store.ts +229 -36
- package/src/runtime/plugins/browser-session-types.ts +2 -98
- package/src/runtime/plugins/capability-authorization-grants.ts +17 -0
- package/src/runtime/plugins/catalog-trust.ts +82 -0
- package/src/runtime/plugins/computer-registration.ts +839 -0
- package/src/runtime/plugins/config-store.ts +119 -0
- package/src/runtime/plugins/desktop-operator-external-policy.ts +932 -0
- package/src/runtime/plugins/desktop-operator-registration.ts +111 -8
- package/src/runtime/plugins/errors.ts +8 -1
- package/src/runtime/plugins/external-adapter.ts +45 -322
- package/src/runtime/plugins/external-provider-policy.ts +48 -0
- package/src/runtime/plugins/external-registration.ts +9 -1
- package/src/runtime/plugins/external-unix-socket-probe.cjs +9 -3
- package/src/runtime/plugins/external-unix-socket.ts +64 -193
- package/src/runtime/plugins/first-party-external-registration.ts +163 -0
- package/src/runtime/plugins/first-party-registry.ts +3 -1
- package/src/runtime/plugins/github-adapter.ts +1 -2
- package/src/runtime/plugins/gmail-adapter.ts +6 -6
- package/src/runtime/plugins/google-calendar-adapter.ts +6 -6
- package/src/runtime/plugins/google-shared.ts +31 -46
- package/src/runtime/plugins/google-tasks-adapter.ts +6 -6
- package/src/runtime/plugins/ios-adapter.ts +1 -2
- package/src/runtime/plugins/local-system-adapter.ts +180 -0
- package/src/runtime/plugins/macos-capability-broker.ts +15 -105
- package/src/runtime/plugins/resend-adapter.ts +15 -24
- package/src/runtime/plugins/store.ts +493 -51
- package/src/runtime/plugins/types.ts +8 -1
- package/src/runtime/plugins/uu-remote-rescue-registration.ts +155 -0
- package/src/runtime/plugins/windows-host-recovery-install.ts +68 -0
- package/src/runtime/plugins/windows-host-recovery-registration.ts +85 -0
- package/src/runtime/plugins/xiaohongshu-publish.ts +86 -430
- package/src/runtime/projections/controller-context.ts +12 -6
- package/src/runtime/projections/git-status-sampler.ts +73 -22
- package/src/runtime/projections/materialized-view.ts +14 -8
- package/src/runtime/recovery/capability-action-application.ts +228 -0
- package/src/runtime/recovery/index.ts +3 -0
- package/src/runtime/recovery/lifecycle-inventory.ts +338 -0
- package/src/runtime/recovery/local-jobs-repair.ts +14 -14
- package/src/runtime/recovery/maintenance-executor.ts +358 -76
- package/src/runtime/recovery/quarantine-retention.ts +256 -0
- package/src/runtime/release/identity.ts +6 -0
- package/src/runtime/resources/leases/store.ts +1 -1
- package/src/runtime/root/active-execution-power-assertion.ts +139 -0
- package/src/runtime/root/assistant-learning-loop.ts +45 -0
- package/src/runtime/root/browser-session-composition.ts +59 -0
- package/src/runtime/root/computer-composition.ts +191 -0
- package/src/runtime/root/computer-target-composition.ts +16 -0
- package/src/runtime/root/computer-target-persistence.ts +39 -0
- package/src/runtime/root/controller-round-composition.ts +107 -0
- package/src/runtime/root/controller-services.ts +2 -0
- package/src/runtime/root/entry.ts +4 -3
- package/src/runtime/root/gateway-adapter.ts +3 -3
- package/src/runtime/root/local-bridge.ts +5 -2
- package/src/runtime/root/mcp-transport.ts +5 -5
- package/src/runtime/root/package-connector-service.ts +108 -56
- package/src/runtime/root/package-runtime-release.ts +86 -18
- package/src/runtime/root/package-runtime-service.ts +63 -86
- package/src/runtime/root/release-execution-canary.ts +71 -0
- package/src/runtime/root/release-loader.ts +68 -0
- package/src/runtime/root/release-manifest.ts +106 -2
- package/src/runtime/root/release-materialize.ts +103 -4
- package/src/runtime/root/release-store.ts +31 -2
- package/src/runtime/root/runtime.ts +240 -25
- package/src/runtime/root/scheduled-controller-composition.ts +51 -0
- package/src/runtime/root/scheduler.ts +12 -4
- package/src/runtime/root/service-runner.ts +1 -1
- package/src/runtime/root/service.ts +41 -16
- package/src/runtime/root/status.ts +1 -0
- package/src/runtime/root/types.ts +24 -1
- package/src/runtime/shared/local-bridge-surface.ts +1 -1
- package/src/runtime/shared/process-environment.ts +19 -4
- package/src/runtime/shared/storage-capacity.ts +68 -0
- package/src/runtime/standalone-recovery/controller-home-migration.ts +1116 -0
- package/src/runtime/standalone-recovery/core.ts +984 -230
- package/src/runtime/standalone-recovery/entry.ts +182 -51
- package/src/runtime/standalone-recovery/independent-host-rescue.ts +172 -0
- package/src/runtime/standalone-recovery/installer.ts +212 -104
- package/src/runtime/standalone-recovery/mcp-server.ts +243 -0
- package/src/runtime/standalone-recovery/mutation-identity-contract.ts +21 -0
- package/src/runtime/standalone-recovery/operation-lock.ts +160 -0
- package/src/runtime/standalone-recovery/performance.ts +135 -0
- package/src/runtime/standalone-recovery/release.ts +5 -0
- package/src/runtime/watchdog/workflow-watchdog.ts +1 -1
- package/src/runtime/workflow/schedules/chatgpt-automation-migration.ts +1 -1
- package/src/runtime/workflow/schedules/engine.ts +191 -343
- package/src/runtime/workflow/schedules/pending-activation.ts +1 -1
- package/src/runtime/workflow/schedules/settlement.ts +2 -191
- package/src/runtime/workflow/schedules/store.ts +2 -607
- package/src/runtime/workflow/schedules/types.ts +2 -127
- package/src/runtime/workflow/schedules/work-continuation.ts +180 -15
- package/src/runtime/workflows/first-party/xiaohongshu.ts +122 -0
- package/src/runtime/workflows/runtime.ts +486 -0
- package/src/testing/test-governance.ts +90 -29
- package/assets/templates/helpers/archive-architecture-request.sh +0 -244
- package/docs/architecture/history/README.md +0 -7
- package/docs/architecture/history/chatgpt-handoff-facade.md +0 -397
- package/docs/architecture/history/global-hook-runtime.md +0 -166
- package/docs/architecture/history/ios-semantic-automation-provider-v2.md +0 -170
- package/docs/architecture/requests/archive/2026/20260528-154740-ai-hooks-ai-hooks-hook-input-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-154816-assets-hooks-assets-hooks-hook-input-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-161851-ai-harness-workflow-contract-json-ai-harness-workflow-contract-json.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-161853-scripts-check-task-workflow-sh-scripts-check-task-workflow-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-161911-assets-workflow-contract-v1-json-assets-workflow-contract-v1-json.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222416-ai-hooks-ai-hooks-hook-input-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222444-ai-hooks-ai-hooks-pre-edit-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222457-ai-hooks-ai-hooks-pre-edit-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222648-ai-hooks-ai-hooks-pre-edit-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222705-ai-hooks-ai-hooks-worktree-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222726-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-222727-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-224736-ai-hooks-ai-hooks-hook-input-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233259-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233335-assets-hooks-assets-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233456-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233457-assets-hooks-assets-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233637-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260528-233638-assets-hooks-assets-hooks-prompt-guard-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260529-000322-root-package-json.md +0 -59
- package/docs/architecture/requests/archive/2026/20260529-004238-ai-hooks-ai-hooks-lib-workflow-state-sh.md +0 -59
- package/docs/architecture/requests/archive/2026/20260529-020654-ai-harness-policy-json-ai-harness-policy-json.md +0 -63
- package/docs/architecture/requests/archive/2026/20260529-094236-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260529-094323-assets-hooks-assets-hooks-prompt-guard-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260529-094331-ai-hooks-ai-hooks-prompt-guard-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260529-094339-assets-hooks-assets-hooks-prompt-guard-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260529-094430-assets-hooks-assets-hooks-session-start-context-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260529-094446-ai-hooks-ai-hooks-session-start-context-sh.md +0 -60
- package/docs/architecture/requests/archive/2026/20260613-002040-runtime-harness-hook-adapters.md +0 -68
- package/docs/architecture/requests/archive/2026/root.md +0 -68
- package/docs/architecture/requests/archive/2026/runtime-harness-hook-adapters.md +0 -76
- package/docs/architecture/requests/archive/2026/verification-evals-checks.md +0 -68
- package/docs/architecture/requests/archive/2026/workflow-engine-contract-assets.md +0 -69
- package/scripts/archive-architecture-request.sh +0 -4
- package/scripts/run-skill-evals.ts +0 -1022
|
@@ -15,10 +15,15 @@ coverage/
|
|
|
15
15
|
|
|
16
16
|
# External references
|
|
17
17
|
_ref/
|
|
18
|
+
.codegraph
|
|
18
19
|
.codegraph/
|
|
19
20
|
|
|
20
21
|
# Local operations state
|
|
21
22
|
_ops/
|
|
23
|
+
.repo-harness/
|
|
24
|
+
.forge/browser
|
|
25
|
+
.forge/interactions
|
|
26
|
+
.forge/plugins
|
|
22
27
|
|
|
23
28
|
# Environment
|
|
24
29
|
.env
|
|
@@ -195,7 +200,7 @@ Complete this inventory before implementation. If any line is unknown, keep the
|
|
|
195
200
|
- Implementation notes file: `tasks/notes/{{ARTIFACT_STEM}}.notes.md`
|
|
196
201
|
- Template: `.claude/templates/contract.template.md`
|
|
197
202
|
- Verification command: `bash .ai/harness/scripts/verify-contract.sh --contract tasks/contracts/{{ARTIFACT_STEM}}.contract.md --strict`
|
|
198
|
-
- Active plan rule: `.ai/harness/active-plan` is authoritative for this worktree when present; `.ai/harness/active-worktree` records the owning worktree; `.claude/.active-plan` is a legacy fallback during transition. Do not infer active execution from
|
|
203
|
+
- Active plan rule: `.ai/harness/active-plan` is authoritative for this worktree when present; `.ai/harness/active-worktree` records the owning worktree; `.claude/.active-plan` is a legacy fallback during transition. Do not infer active execution from plan filename order, recency, or mere presence.
|
|
199
204
|
|
|
200
205
|
## Handoff
|
|
201
206
|
|
|
@@ -408,7 +413,7 @@ EOF_TEMPLATE_IMPLEMENTATION_NOTES
|
|
|
408
413
|
)
|
|
409
414
|
PI_CONTEXT_PROFILE_DEFAULT="stable-root-progressive-subdir"
|
|
410
415
|
PI_RECOVERY_PROFILE_DEFAULT="hybrid"
|
|
411
|
-
PI_STATE_PROFILE_DEFAULT="
|
|
416
|
+
PI_STATE_PROFILE_DEFAULT="controller-home"
|
|
412
417
|
PI_ORCHESTRATION_PROFILE_DEFAULT="shared-long-running-harness"
|
|
413
418
|
PI_EVALUATION_PROFILE_DEFAULT="browser-qa"
|
|
414
419
|
PI_HANDOFF_PROFILE_DEFAULT="artifact-aware"
|
|
@@ -565,9 +570,8 @@ user-level and central-first:
|
|
|
565
570
|
`~/.codex/hooks.json` / `~/.claude/settings.json` -> `forge-hook` ->
|
|
566
571
|
packaged hooks from the installed forge runtime.
|
|
567
572
|
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
here by default because stale copies can be mistaken for the active hook path.
|
|
573
|
+
No hook runtime or shared hook libraries are vendored here by default because
|
|
574
|
+
stale copies can be mistaken for the active hook path. Only this README remains.
|
|
571
575
|
|
|
572
576
|
Set `"hook_source": "repo"` in `.ai/harness/policy.json` only for self-hosted
|
|
573
577
|
hook development or an explicitly reviewed repo-local hook override.
|
|
@@ -595,6 +599,7 @@ pi_prune_repo_local_hook_runtime() {
|
|
|
595
599
|
-o -name 'codex.hooks.template.json' \
|
|
596
600
|
-o -name '.version' \) \
|
|
597
601
|
-delete
|
|
602
|
+
rm -rf "$hooks_dir/lib"
|
|
598
603
|
}
|
|
599
604
|
|
|
600
605
|
pi_install_hook_assets() {
|
|
@@ -639,26 +644,6 @@ pi_install_hook_assets() {
|
|
|
639
644
|
fi
|
|
640
645
|
|
|
641
646
|
pi_prune_repo_local_hook_runtime "$hooks_dir" "$mode"
|
|
642
|
-
|
|
643
|
-
if [[ "$mode" != "apply" ]]; then
|
|
644
|
-
echo "[dry-run] mkdir -p \"$hooks_dir/lib\""
|
|
645
|
-
else
|
|
646
|
-
mkdir -p "$hooks_dir/lib"
|
|
647
|
-
fi
|
|
648
|
-
|
|
649
|
-
if [[ -d "$hooks_assets_dir/lib" ]]; then
|
|
650
|
-
while IFS= read -r hook_lib; do
|
|
651
|
-
local lib_name
|
|
652
|
-
lib_name="$(basename "$hook_lib")"
|
|
653
|
-
if [[ "$mode" != "apply" ]]; then
|
|
654
|
-
echo "[dry-run] cp \"$hook_lib\" \"$hooks_dir/lib/$lib_name\""
|
|
655
|
-
continue
|
|
656
|
-
fi
|
|
657
|
-
cp "$hook_lib" "$hooks_dir/lib/$lib_name"
|
|
658
|
-
chmod +x "$hooks_dir/lib/$lib_name" 2>/dev/null || true
|
|
659
|
-
done < <(find "$hooks_assets_dir/lib" -maxdepth 1 -type f -name '*.sh' | sort)
|
|
660
|
-
fi
|
|
661
|
-
|
|
662
647
|
pi_write_hook_runtime_readme "$hooks_dir" "$mode"
|
|
663
648
|
}
|
|
664
649
|
|
|
@@ -964,15 +949,20 @@ pi_install_workflow_contract() {
|
|
|
964
949
|
local target_dir="$1"
|
|
965
950
|
local contract_asset="$2"
|
|
966
951
|
local mode="${3:-apply}"
|
|
967
|
-
local output_path="$target_dir
|
|
952
|
+
local output_path="$target_dir/forge.config.json"
|
|
968
953
|
|
|
969
954
|
if [[ "$mode" != "apply" ]]; then
|
|
970
|
-
echo "[dry-run] install
|
|
955
|
+
echo "[dry-run] install declarative Forge project marker into $output_path"
|
|
971
956
|
return 0
|
|
972
957
|
fi
|
|
973
958
|
|
|
974
|
-
|
|
975
|
-
|
|
959
|
+
cat > "$output_path" <<'EOF_FORGE_PROJECT_CONFIG'
|
|
960
|
+
{
|
|
961
|
+
"schemaVersion": 1,
|
|
962
|
+
"forge": { "enabled": true },
|
|
963
|
+
"runtimeState": "controller-home"
|
|
964
|
+
}
|
|
965
|
+
EOF_FORGE_PROJECT_CONFIG
|
|
976
966
|
}
|
|
977
967
|
|
|
978
968
|
pi_install_templates() {
|
|
@@ -1039,7 +1029,7 @@ pi_install_helpers() {
|
|
|
1039
1029
|
local target_dir="$1"
|
|
1040
1030
|
local helpers_dir="$2"
|
|
1041
1031
|
local mode="${3:-apply}"
|
|
1042
|
-
local helper_names="${4:-new-spec.sh new-sprint.sh new-plan.sh capture-plan.sh plan-to-todo.sh contract-run.ts contract-worktree.sh ship-worktrees.sh archive-workflow.sh refresh-current-status.sh prepare-handoff.sh verify-contract.sh summarize-failures.sh verify-sprint.sh sprint-backlog.sh check-task-sync.sh check-deploy-sql-order.sh check-architecture-sync.sh check-agent-tooling.sh check-context-files.sh check-brain-manifest.sh sync-brain-docs.sh check-skill-version.ts select-agent-context-blocks.sh ensure-task-workflow.sh check-task-workflow.sh switch-plan.sh workflow-contract.ts inspect-project-state.ts migrate-workflow-docs.ts migrate-project-template.sh capability-resolver.ts architecture-event.ts capability-config.ts architecture-queue.sh
|
|
1032
|
+
local helper_names="${4:-new-spec.sh new-sprint.sh new-plan.sh capture-plan.sh plan-to-todo.sh contract-run.ts contract-worktree.sh ship-worktrees.sh archive-workflow.sh refresh-current-status.sh prepare-handoff.sh verify-contract.sh summarize-failures.sh verify-sprint.sh sprint-backlog.sh check-task-sync.sh check-deploy-sql-order.sh check-architecture-sync.sh check-agent-tooling.sh check-context-files.sh check-brain-manifest.sh sync-brain-docs.sh check-skill-version.ts select-agent-context-blocks.sh ensure-task-workflow.sh check-task-workflow.sh switch-plan.sh workflow-contract.ts inspect-project-state.ts migrate-workflow-docs.ts migrate-project-template.sh capability-resolver.ts architecture-event.ts capability-config.ts architecture-queue.sh context-contract-sync.sh workstream-sync.sh prepare-codex-handoff.sh codex-handoff-resume.sh}"
|
|
1043
1033
|
local scripts_dir="$target_dir/scripts"
|
|
1044
1034
|
local runtime_dir="$target_dir/.ai/harness/scripts"
|
|
1045
1035
|
local helper_name
|
|
@@ -1066,7 +1056,7 @@ pi_install_helpers() {
|
|
|
1066
1056
|
fi
|
|
1067
1057
|
|
|
1068
1058
|
mkdir -p "$scripts_dir"
|
|
1069
|
-
mkdir -p "$runtime_dir"
|
|
1059
|
+
if pi_repo_pins_helper_source "$target_dir"; then mkdir -p "$runtime_dir"; fi
|
|
1070
1060
|
|
|
1071
1061
|
if [[ -d "$helpers_dir" ]]; then
|
|
1072
1062
|
for helper_name in $helper_names; do
|
|
@@ -1490,10 +1480,11 @@ $PI_REFERENCE_CONFIG_STUB_MARKER
|
|
|
1490
1480
|
> **Version**: $version
|
|
1491
1481
|
> **Source Command**: \`forge docs path $doc_id\`
|
|
1492
1482
|
|
|
1493
|
-
This repo keeps
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
|
|
1483
|
+
This repo keeps authored project documentation and declarative configuration in Git.
|
|
1484
|
+
Mutable Requirement/Plan/Work, verification/evidence, session, plugin, and cache state
|
|
1485
|
+
belongs to Forge Controller Home. The full generic runtime guide is supplied by the
|
|
1486
|
+
installed forge package/user-level runtime so each repository does not need to refresh
|
|
1487
|
+
a full copy of shared documentation.
|
|
1497
1488
|
|
|
1498
1489
|
Use:
|
|
1499
1490
|
|
|
@@ -1710,7 +1701,6 @@ pi_write_capability_registry() {
|
|
|
1710
1701
|
"claude": "$rel_dir/CLAUDE.md"
|
|
1711
1702
|
},
|
|
1712
1703
|
"architecture_module": "docs/architecture/modules/$domain/$name.md",
|
|
1713
|
-
"workstream_dir": "tasks/workstreams/$domain/$name",
|
|
1714
1704
|
"lsp_profile": "$(pi_lsp_profile)",
|
|
1715
1705
|
"verification_hints": ["record local commands here before implementation"]
|
|
1716
1706
|
}
|
|
@@ -1774,12 +1764,6 @@ JS_EOF
|
|
|
1774
1764
|
"priority": "low",
|
|
1775
1765
|
"char_budget": 900,
|
|
1776
1766
|
"purpose": "deep-doc"
|
|
1777
|
-
},
|
|
1778
|
-
{
|
|
1779
|
-
"path": "tasks/workstreams/**/*.md",
|
|
1780
|
-
"priority": "high",
|
|
1781
|
-
"char_budget": 1200,
|
|
1782
|
-
"purpose": "capability-workstream"
|
|
1783
1767
|
}
|
|
1784
1768
|
EOF_CONTEXT_ENTRY
|
|
1785
1769
|
return 0
|
|
@@ -1820,435 +1804,10 @@ EOF_CONTEXT_ENTRY
|
|
|
1820
1804
|
"priority": "low",
|
|
1821
1805
|
"char_budget": 900,
|
|
1822
1806
|
"purpose": "deep-doc"
|
|
1823
|
-
},
|
|
1824
|
-
{
|
|
1825
|
-
"path": "tasks/workstreams/**/*.md",
|
|
1826
|
-
"priority": "high",
|
|
1827
|
-
"char_budget": 1200,
|
|
1828
|
-
"purpose": "capability-workstream"
|
|
1829
1807
|
}
|
|
1830
1808
|
EOF_CONTEXT_ENTRY
|
|
1831
1809
|
}
|
|
1832
1810
|
|
|
1833
|
-
pi_write_harness_policy() {
|
|
1834
|
-
local target_dir="$1"
|
|
1835
|
-
local mode="${2:-apply}"
|
|
1836
|
-
local output_file="$target_dir/.ai/harness/policy.json"
|
|
1837
|
-
local default_file
|
|
1838
|
-
local merged_file
|
|
1839
|
-
|
|
1840
|
-
if [[ "$mode" != "apply" ]]; then
|
|
1841
|
-
echo "[dry-run] write $output_file"
|
|
1842
|
-
return 0
|
|
1843
|
-
fi
|
|
1844
|
-
|
|
1845
|
-
mkdir -p "$(dirname "$output_file")"
|
|
1846
|
-
default_file="$(mktemp)"
|
|
1847
|
-
merged_file="$(mktemp)"
|
|
1848
|
-
cat > "$default_file" <<EOF_POLICY
|
|
1849
|
-
{
|
|
1850
|
-
"version": 1,
|
|
1851
|
-
"active_plan": {
|
|
1852
|
-
"marker_file": ".ai/harness/active-plan",
|
|
1853
|
-
"legacy_marker_file": ".claude/.active-plan",
|
|
1854
|
-
"directory": "plans",
|
|
1855
|
-
"archive_directory": "plans/archive",
|
|
1856
|
-
"glob": "plan-*.md",
|
|
1857
|
-
"active_worktree_marker_file": ".ai/harness/active-worktree",
|
|
1858
|
-
"source_of_truth": "per-worktree explicit marker with active-worktree owner; legacy Claude marker fallback only"
|
|
1859
|
-
},
|
|
1860
|
-
"tasks": {
|
|
1861
|
-
"todo_file": "tasks/todos.md",
|
|
1862
|
-
"current_status_file": "tasks/current.md",
|
|
1863
|
-
"lessons_file": "tasks/lessons.md",
|
|
1864
|
-
"research_dir": "docs/researches",
|
|
1865
|
-
"workstreams_dir": "tasks/workstreams",
|
|
1866
|
-
"contracts_dir": "tasks/contracts",
|
|
1867
|
-
"reviews_dir": "tasks/reviews",
|
|
1868
|
-
"notes_dir": "tasks/notes"
|
|
1869
|
-
},
|
|
1870
|
-
"prds": {
|
|
1871
|
-
"dir": "plans/prds",
|
|
1872
|
-
"template_file": ".claude/templates/prd.template.md",
|
|
1873
|
-
"statuses": ["Draft", "Approved", "Superseded"],
|
|
1874
|
-
"rule": "PRDs live in plans/prds as the upper planning layer. They decompose docs/spec.md intent into product direction, acceptance scenarios, module behavior, data model, performance targets, and developer handoff. Sprints reference PRDs through Source PRD and decompose them into ordered execution backlogs."
|
|
1875
|
-
},
|
|
1876
|
-
"sprints": {
|
|
1877
|
-
"dir": "plans/sprints",
|
|
1878
|
-
"active_marker_file": ".ai/harness/sprint/active-sprint",
|
|
1879
|
-
"template_file": ".claude/templates/sprint.template.md",
|
|
1880
|
-
"helper_script": "scripts/sprint-backlog.sh",
|
|
1881
|
-
"statuses": ["Draft", "Approved", "Executing", "Done", "Archived"],
|
|
1882
|
-
"rule": "PRDs live in plans/prds as the upper planning layer. Sprints live in plans/sprints as long-task execution backlogs; each sprint row is expanded with Waza \$think into a detailed plans/plan-*.md before the plan -> contract -> worktree flow; tasks/todos.md stays the deferred-goal ledger"
|
|
1883
|
-
},
|
|
1884
|
-
"reference_material": {
|
|
1885
|
-
"dir": "_ref",
|
|
1886
|
-
"mode": "external-ignored",
|
|
1887
|
-
"commit_policy": "never commit _ref contents",
|
|
1888
|
-
"rule": "use _ref as an occasional ignored external reference checkout cache for upstream/source comparison only; refresh from external sources instead of editing as product code; when it influences a decision, cite the source repo plus commit/tag and path in tasks/notes/ or docs/researches/"
|
|
1889
|
-
},
|
|
1890
|
-
"operations": {
|
|
1891
|
-
"dir": "deploy",
|
|
1892
|
-
"private_dir": "_ops",
|
|
1893
|
-
"tracked": ["deploy/README.md", "deploy/scripts/", "deploy/submissions/", "deploy/runbooks/", "deploy/release-checklists/", "deploy/sql/", "deploy/*.md", "deploy/env/.env.example"],
|
|
1894
|
-
"ignored": ["_ops/"],
|
|
1895
|
-
"rule": "commit deployment runbooks, submission materials, release checklists, helper scripts, ordered SQL files, and env examples under deploy/; keep deploy SQL in deploy/sql/ with 4-digit ascending prefixes; keep keys, tokens, real env values, provider state, artifacts, logs, and scratch files in ignored _ops/ only"
|
|
1896
|
-
},
|
|
1897
|
-
"context": {
|
|
1898
|
-
"profile": "$(pi_context_profile)",
|
|
1899
|
-
"map_file": ".ai/context/context-map.json",
|
|
1900
|
-
"capability_registry_file": ".ai/context/capabilities.json",
|
|
1901
|
-
"capability_resolver": "scripts/capability-resolver.ts",
|
|
1902
|
-
"capability_config": "scripts/capability-config.ts",
|
|
1903
|
-
"capability_match_rule": "longest-prefix; same-length ambiguity fails",
|
|
1904
|
-
"functional_block_selector": {
|
|
1905
|
-
"script": "scripts/select-agent-context-blocks.sh",
|
|
1906
|
-
"config_file": ".ai/context/agent-context-blocks.txt",
|
|
1907
|
-
"env": "FORGE_CONTEXT_BLOCKS",
|
|
1908
|
-
"rule": "compatibility selector; capability registry is the source of truth"
|
|
1909
|
-
}
|
|
1910
|
-
},
|
|
1911
|
-
"harness": {
|
|
1912
|
-
"policy_file": ".ai/harness/policy.json",
|
|
1913
|
-
"checks_file": ".ai/harness/checks/latest.json",
|
|
1914
|
-
"failure_log_file": ".ai/harness/failures/latest.jsonl",
|
|
1915
|
-
"events_file": ".ai/harness/events.jsonl",
|
|
1916
|
-
"architecture_events_file": ".ai/harness/architecture/events.jsonl",
|
|
1917
|
-
"runs_dir": ".ai/harness/runs",
|
|
1918
|
-
"helper_runtime_dir": ".ai/harness/scripts",
|
|
1919
|
-
"helper_compat_dir": "scripts",
|
|
1920
|
-
"helper_source": "package",
|
|
1921
|
-
"helper_package_dir": "assets/templates/helpers"
|
|
1922
|
-
},
|
|
1923
|
-
"architecture": {
|
|
1924
|
-
"index_file": "docs/architecture/index.md",
|
|
1925
|
-
"requests_dir": "docs/architecture/requests",
|
|
1926
|
-
"snapshots_dir": "docs/architecture/snapshots",
|
|
1927
|
-
"diagrams_dir": "docs/architecture/diagrams",
|
|
1928
|
-
"domains_dir": "docs/architecture/domains",
|
|
1929
|
-
"modules_dir": "docs/architecture/modules",
|
|
1930
|
-
"diagram_skill": "mermaid",
|
|
1931
|
-
"diagram_skill_source": "~/.codex/skills/mermaid",
|
|
1932
|
-
"vendoring_policy": "do-not-vendor-diagram-skill-assets",
|
|
1933
|
-
"freshness_gate": "advisory",
|
|
1934
|
-
"gate_min_severity": "medium",
|
|
1935
|
-
"pending_card_scope": "capability",
|
|
1936
|
-
"pending_block_begin": "<!-- BEGIN ARCHITECTURE PENDING REQUESTS -->",
|
|
1937
|
-
"pending_block_end": "<!-- END ARCHITECTURE PENDING REQUESTS -->",
|
|
1938
|
-
"queue_script": ".ai/harness/scripts/architecture-queue.sh",
|
|
1939
|
-
"contract_block_begin": "<!-- BEGIN ARCHITECTURE CONTRACT -->",
|
|
1940
|
-
"contract_block_end": "<!-- END ARCHITECTURE CONTRACT -->",
|
|
1941
|
-
"rule": "hooks record architecture queue cards and sync controlled local context blocks; agents author semantic snapshots and diagrams"
|
|
1942
|
-
},
|
|
1943
|
-
"workstreams": {
|
|
1944
|
-
"dir": "tasks/workstreams",
|
|
1945
|
-
"scope": "capability",
|
|
1946
|
-
"projection": "local-contract-active-pointer-and-current-slice",
|
|
1947
|
-
"todo_projection": "tasks/todos.md",
|
|
1948
|
-
"rule": "durable multi-session progress lives under tasks/workstreams/<domain>/<capability>; current plan execution lives in the plan Task Breakdown; tasks/todos.md records deferred goals only"
|
|
1949
|
-
},
|
|
1950
|
-
"information_lifecycle": {
|
|
1951
|
-
"notes": {
|
|
1952
|
-
"dir": "tasks/notes",
|
|
1953
|
-
"purpose": "task-local implementation decisions, deviations, tradeoffs, and open questions",
|
|
1954
|
-
"promotion": "archive on workflow close; promote only repeated or durable findings"
|
|
1955
|
-
},
|
|
1956
|
-
"evidence": {
|
|
1957
|
-
"latest": ".ai/harness/checks/latest.json",
|
|
1958
|
-
"snapshots_dir": ".ai/harness/runs",
|
|
1959
|
-
"purpose": "raw verification records used to audit notes, reviews, and future promotion"
|
|
1960
|
-
},
|
|
1961
|
-
"assets": {
|
|
1962
|
-
"sources": [".ai/harness/policy.json", ".ai/harness/workflow-contract.json", ".ai/hooks/", "scripts/", "docs/reference-configs/"],
|
|
1963
|
-
"promotion_rule": "only promote patterns after verified reuse across tasks or fixtures"
|
|
1964
|
-
},
|
|
1965
|
-
"memory": {
|
|
1966
|
-
"sources": ["docs/researches/", "tasks/lessons.md", "gbrain"],
|
|
1967
|
-
"rule": "memory is advisory; current repo state and evidence override summaries"
|
|
1968
|
-
},
|
|
1969
|
-
"external_knowledge": {
|
|
1970
|
-
"default_brain_path": "brain/<project>/*",
|
|
1971
|
-
"project_path": "brain/<project>/*",
|
|
1972
|
-
"manifest_file": ".ai/harness/brain-manifest.json",
|
|
1973
|
-
"drift_check": "scripts/check-brain-manifest.sh",
|
|
1974
|
-
"sync_script": "scripts/sync-brain-docs.sh",
|
|
1975
|
-
"hook_trigger": "PostToolUse Edit|Write for manifest entries with sync.direction=repo-to-brain",
|
|
1976
|
-
"rule": "external knowledge stores long-lived explanations, runbooks, and patterns only; repo-local contracts, hooks, scripts, checks, and evidence remain authoritative",
|
|
1977
|
-
"sync_rule": "only explicitly opted-in repo-to-brain manifest entries may be written to the default brain vault; pointer-only externalized stubs remain check-only"
|
|
1978
|
-
}
|
|
1979
|
-
},
|
|
1980
|
-
"session": {
|
|
1981
|
-
"continuation_file": ".ai/harness/session/continuation.md",
|
|
1982
|
-
"resume_file": ".ai/harness/session/resume.md",
|
|
1983
|
-
"global_resume_dir": "~/.codex/handoffs",
|
|
1984
|
-
"auto_start_new_session": false,
|
|
1985
|
-
"authority": "rebuildable-host-session-cache-only"
|
|
1986
|
-
},
|
|
1987
|
-
"plan_capture": {
|
|
1988
|
-
"script": "scripts/capture-plan.sh",
|
|
1989
|
-
"sources": ["host-plan-mode", "forge-plan", "forge-sprint"],
|
|
1990
|
-
"rule": "Forge /plan or host planning mode may capture decision-complete source plans into plans/plan-*.md; migrated lifecycle execution remains owned by Runtime Plan/Work state"
|
|
1991
|
-
},
|
|
1992
|
-
"planning": {
|
|
1993
|
-
"pending_orchestration_file": ".ai/harness/planning/pending.json",
|
|
1994
|
-
"source_of_truth": "transient host planning bridge only; captured plans are source artifacts, while migrated Runtime Plan/Work lifecycle state is authoritative in the Canonical Runtime"
|
|
1995
|
-
},
|
|
1996
|
-
"guards": {
|
|
1997
|
-
"edit_plan_gate": "advice",
|
|
1998
|
-
"edit_plan_gate_modes": ["enforce", "advice", "off"],
|
|
1999
|
-
"rule": "pre-edit-guard advises when implementation lacks an active plan; execution remains available unless a real safety boundary blocks it"
|
|
2000
|
-
},
|
|
2001
|
-
"sidecar_research": {
|
|
2002
|
-
"default": true,
|
|
2003
|
-
"output_dir": "docs/researches",
|
|
2004
|
-
"preferred_runners": ["subagent", "codex exec --json", "main-thread trace"],
|
|
2005
|
-
"spawn_decision": "main agent decides from task breadth, context impact, raw-log volume, and callable runner availability; do not ask the user for spawn confirmation",
|
|
2006
|
-
"fallback_runner": "main-thread trace",
|
|
2007
|
-
"main_thread_policy": "if spawning is not worthwhile or no sidecar runner is callable, perform bounded research in the main thread; consume conclusions and evidence paths, not raw logs"
|
|
2008
|
-
},
|
|
2009
|
-
"documentation": {
|
|
2010
|
-
"profile": "$(pi_documentation_profile)",
|
|
2011
|
-
"reference_source": "user-level-runtime-docs",
|
|
2012
|
-
"reference_stub_marker": "$PI_REFERENCE_CONFIG_STUB_MARKER",
|
|
2013
|
-
"reference_resolver": "forge docs path <doc-id>",
|
|
2014
|
-
"required": ["docs/spec.md", "docs/architecture/index.md"],
|
|
2015
|
-
"on_demand": ["docs/brief.md", "docs/tech-stack.md", "docs/decisions.md", "docs/architecture.md", "docs/packages.md"],
|
|
2016
|
-
"reference_configs": [$(pi_policy_reference_config_names | pi_json_string_array_from_lines)],
|
|
2017
|
-
"rule": "create optional docs only when the agent has concrete repo evidence or the user asks; docs/reference-configs contains repo-local pointer stubs while full generic runtime docs live in the user-level/package forge install"
|
|
2018
|
-
},
|
|
2019
|
-
"lsp_profiles": {
|
|
2020
|
-
"default": "$(pi_lsp_profile)",
|
|
2021
|
-
"selection": "functional-block-first",
|
|
2022
|
-
"rule": "use block-level LSP/tooling hints before broad repo assumptions"
|
|
2023
|
-
},
|
|
2024
|
-
"worktree_strategy": {
|
|
2025
|
-
"auto_on_conflict": true,
|
|
2026
|
-
"auto_for_contract_tasks": true,
|
|
2027
|
-
"branch_prefix": "codex/",
|
|
2028
|
-
"base_branch": "main",
|
|
2029
|
-
"worktree_dir_template": "../{{repo}}-wt-{{slug}}",
|
|
2030
|
-
"start_script": "scripts/contract-worktree.sh start --plan <plan-file>",
|
|
2031
|
-
"finish_script": "scripts/contract-worktree.sh finish",
|
|
2032
|
-
"cleanup_script": "scripts/contract-worktree.sh cleanup --slug <slug>",
|
|
2033
|
-
"conflict_signals": [
|
|
2034
|
-
"dirty_worktree_overlaps_task_files",
|
|
2035
|
-
"current_branch_not_suitable_for_task",
|
|
2036
|
-
"existing_changes_unrelated_but_would_block_review",
|
|
2037
|
-
"task_requires_clean_validation_surface"
|
|
2038
|
-
],
|
|
2039
|
-
"validation_route": "forge:/review",
|
|
2040
|
-
"merge_back": {
|
|
2041
|
-
"target": "main",
|
|
2042
|
-
"requires_clean_check": true,
|
|
2043
|
-
"preserve_unrelated_changes": true
|
|
2044
|
-
}
|
|
2045
|
-
},
|
|
2046
|
-
"upgrade": {
|
|
2047
|
-
"strategy_version": 1,
|
|
2048
|
-
"supported_legacy_versions": ["pre-tasks-first", "tasks-first-without-contract-manifest", "current-v1"],
|
|
2049
|
-
"action_classes": {
|
|
2050
|
-
"preserve": "keep user-authored hooks, ignored reference material, private operations state, secrets, and local env files unchanged",
|
|
2051
|
-
"archive": "move user-authored legacy workflow documents or checklists into archive/research surfaces before refresh",
|
|
2052
|
-
"reconfigure": "merge managed config defaults without overwriting explicit repo overrides",
|
|
2053
|
-
"remove": "delete only workflow-contract actions marked ownership=known_generated"
|
|
2054
|
-
},
|
|
2055
|
-
"cleanup": {
|
|
2056
|
-
"source": ".ai/harness/workflow-contract.json#migrations.upgrade.actions",
|
|
2057
|
-
"remove_only_ownership": "known_generated",
|
|
2058
|
-
"unknown_files": "preserve-or-archive",
|
|
2059
|
-
"custom_hooks": "preserve",
|
|
2060
|
-
"ignored_reference_material": "preserve",
|
|
2061
|
-
"local_operations_state": "preserve",
|
|
2062
|
-
"local_secrets": "preserve"
|
|
2063
|
-
},
|
|
2064
|
-
"reporting": {
|
|
2065
|
-
"inspector_field": "upgrade_plan",
|
|
2066
|
-
"dry_run_required": true
|
|
2067
|
-
}
|
|
2068
|
-
},
|
|
2069
|
-
"profiles": {
|
|
2070
|
-
"orchestration": "$(pi_orchestration_profile)",
|
|
2071
|
-
"evaluation": "$(pi_evaluation_profile)",
|
|
2072
|
-
"handoff": "$(pi_handoff_profile)",
|
|
2073
|
-
"recovery": "$(pi_recovery_profile)",
|
|
2074
|
-
"state": "$(pi_state_profile)"
|
|
2075
|
-
},
|
|
2076
|
-
"external_tooling": {
|
|
2077
|
-
"routing": {
|
|
2078
|
-
"primary": "forge",
|
|
2079
|
-
"optional_complex_helper": "gstack",
|
|
2080
|
-
"optional_daily_helper": "waza",
|
|
2081
|
-
"optional_knowledge_helper": "gbrain"
|
|
2082
|
-
},
|
|
2083
|
-
"hosts": $(pi_external_tooling_hosts_json),
|
|
2084
|
-
"mode": "optional-enhancements",
|
|
2085
|
-
"detection": "init-migrate",
|
|
2086
|
-
"readiness_report": "forge run check-agent-tooling --host codex",
|
|
2087
|
-
"waza": {
|
|
2088
|
-
"source_repo": "tw93/Waza",
|
|
2089
|
-
"source_url": "https://github.com/tw93/Waza.git",
|
|
2090
|
-
"managed_skills": ["think", "hunt", "check", "health"],
|
|
2091
|
-
"primary_host": "codex",
|
|
2092
|
-
"codex_primary_path": "~/.codex/skills",
|
|
2093
|
-
"staging_cache_path": "~/.agents/skills",
|
|
2094
|
-
"sync_mode": "stage-upstream-then-copy-to-codex",
|
|
2095
|
-
"host_drift_policy": "report-per-host-version-staging-and-upstream-drift"
|
|
2096
|
-
},
|
|
2097
|
-
"codex_automation_profile": {
|
|
2098
|
-
"required_skills": [],
|
|
2099
|
-
"optional_skills": ["health", "check", "mermaid"],
|
|
2100
|
-
"mode": "optional-codex-runtime-reference",
|
|
2101
|
-
"source": "~/.codex/skills",
|
|
2102
|
-
"routes": {
|
|
2103
|
-
"workflow_health_optional": "waza:health",
|
|
2104
|
-
"review_helper_optional": "waza:check",
|
|
2105
|
-
"architecture_diagram_optional": "mermaid"
|
|
2106
|
-
},
|
|
2107
|
-
"vendoring_policy": "do-not-vendor-skill-body"
|
|
2108
|
-
},
|
|
2109
|
-
"diagram_design": {
|
|
2110
|
-
"skill_name": "mermaid",
|
|
2111
|
-
"primary_host": "codex",
|
|
2112
|
-
"codex_primary_path": "~/.codex/skills/mermaid",
|
|
2113
|
-
"sync_mode": "external-installed-skill",
|
|
2114
|
-
"vendoring_policy": "do-not-vendor"
|
|
2115
|
-
},
|
|
2116
|
-
"gbrain": {
|
|
2117
|
-
"mcp": "$(pi_external_tooling_gbrain_mcp)"
|
|
2118
|
-
},
|
|
2119
|
-
"codegraph": {
|
|
2120
|
-
"package": "@colbymchenry/codegraph",
|
|
2121
|
-
"primary_host": "both",
|
|
2122
|
-
"install_mode": "target-aware-mcp",
|
|
2123
|
-
"codex_config_path": "~/.codex/config.toml",
|
|
2124
|
-
"claude_config_path": "~/.claude.json",
|
|
2125
|
-
"index_dir": ".codegraph",
|
|
2126
|
-
"readiness": "forge-bundled-backend; host-mcp-optional",
|
|
2127
|
-
"hook_policy": "do-not-block-hooks",
|
|
2128
|
-
"install_command": "bun add -g @colbymchenry/codegraph && forge tools configure codegraph --target codex --location global",
|
|
2129
|
-
"project_init_command": "codegraph init -i .",
|
|
2130
|
-
"sync_command": "codegraph sync .",
|
|
2131
|
-
"vendoring_policy": "do-not-add-package-dependency"
|
|
2132
|
-
}
|
|
2133
|
-
},
|
|
2134
|
-
"agentic_development": {
|
|
2135
|
-
"routing": {
|
|
2136
|
-
"direct": "forge:/direct",
|
|
2137
|
-
"plan": "forge:/plan",
|
|
2138
|
-
"debug": "forge:/debug",
|
|
2139
|
-
"review": "forge:/review",
|
|
2140
|
-
"release": "forge:/release",
|
|
2141
|
-
"scale": "forge:/scale"
|
|
2142
|
-
},
|
|
2143
|
-
"due_diligence": {
|
|
2144
|
-
"levels": ["P1_GLOBAL_ARCHITECTURE", "P2_DATA_FLOW_TRACE", "P3_DESIGN_DECISION"],
|
|
2145
|
-
"explicit_report_required_for": ["architecture", "debug", "risky_refactor", "deployment", "auth_payment_data", "shared_contract"]
|
|
2146
|
-
}
|
|
2147
|
-
},
|
|
2148
|
-
"enforcement": {
|
|
2149
|
-
"worktree_guard": "warn-by-default",
|
|
2150
|
-
"verification_gate": "contract-and-review",
|
|
2151
|
-
"completion_requires_checks": true
|
|
2152
|
-
}
|
|
2153
|
-
}
|
|
2154
|
-
EOF_POLICY
|
|
2155
|
-
|
|
2156
|
-
if [[ -f "$output_file" ]]; then
|
|
2157
|
-
if ! pi_merge_json_defaults "$default_file" "$output_file" "$merged_file"; then
|
|
2158
|
-
cp "$default_file" "$merged_file"
|
|
2159
|
-
fi
|
|
2160
|
-
elif ! pi_merge_json_defaults "$default_file" "$default_file" "$merged_file"; then
|
|
2161
|
-
cp "$default_file" "$merged_file"
|
|
2162
|
-
else
|
|
2163
|
-
:
|
|
2164
|
-
fi
|
|
2165
|
-
|
|
2166
|
-
mv "$merged_file" "$output_file"
|
|
2167
|
-
rm -f "$default_file"
|
|
2168
|
-
}
|
|
2169
|
-
|
|
2170
|
-
pi_write_brain_manifest() {
|
|
2171
|
-
local target_dir="$1"
|
|
2172
|
-
local mode="${2:-apply}"
|
|
2173
|
-
local output_file="$target_dir/.ai/harness/brain-manifest.json"
|
|
2174
|
-
local project_name
|
|
2175
|
-
|
|
2176
|
-
if [[ "$mode" != "apply" ]]; then
|
|
2177
|
-
echo "[dry-run] write $output_file if missing"
|
|
2178
|
-
return 0
|
|
2179
|
-
fi
|
|
2180
|
-
|
|
2181
|
-
if [[ -f "$output_file" ]]; then
|
|
2182
|
-
return 0
|
|
2183
|
-
fi
|
|
2184
|
-
|
|
2185
|
-
project_name="$(basename "$target_dir")"
|
|
2186
|
-
mkdir -p "$(dirname "$output_file")"
|
|
2187
|
-
cat > "$output_file" <<EOF_BRAIN_MANIFEST
|
|
2188
|
-
{
|
|
2189
|
-
"version": 1,
|
|
2190
|
-
"project": "${project_name}",
|
|
2191
|
-
"mode": "repo-contract-external-knowledge",
|
|
2192
|
-
"default_brain_path": "brain/<project>/*",
|
|
2193
|
-
"rules": [
|
|
2194
|
-
"repo-local contracts, hooks, scripts, checks, and evidence remain authoritative",
|
|
2195
|
-
"default brain stores long-lived explanations, runbooks, decisions, references, and patterns",
|
|
2196
|
-
"hook runtime may sync explicitly opted-in repo-to-brain entries only; it must not query gbrain, MCP, or unregistered default brain paths"
|
|
2197
|
-
],
|
|
2198
|
-
"entries": []
|
|
2199
|
-
}
|
|
2200
|
-
EOF_BRAIN_MANIFEST
|
|
2201
|
-
}
|
|
2202
|
-
|
|
2203
|
-
pi_write_context_map() {
|
|
2204
|
-
local target_dir="$1"
|
|
2205
|
-
local mode="${2:-apply}"
|
|
2206
|
-
local output_file="$target_dir/.ai/context/context-map.json"
|
|
2207
|
-
local discoverable_entries
|
|
2208
|
-
|
|
2209
|
-
discoverable_entries="$(pi_context_map_discoverable_entries "$target_dir")"
|
|
2210
|
-
|
|
2211
|
-
if [[ "$mode" != "apply" ]]; then
|
|
2212
|
-
echo "[dry-run] write $output_file"
|
|
2213
|
-
return 0
|
|
2214
|
-
fi
|
|
2215
|
-
|
|
2216
|
-
mkdir -p "$(dirname "$output_file")"
|
|
2217
|
-
cat > "$output_file" <<EOF_CONTEXT
|
|
2218
|
-
{
|
|
2219
|
-
"version": 1,
|
|
2220
|
-
"profile": "$(pi_context_profile)",
|
|
2221
|
-
"functional_block_selector": {
|
|
2222
|
-
"script": "scripts/select-agent-context-blocks.sh",
|
|
2223
|
-
"config_file": ".ai/context/agent-context-blocks.txt",
|
|
2224
|
-
"env": "FORGE_CONTEXT_BLOCKS",
|
|
2225
|
-
"rule": "compatibility selector; capability registry is the source of truth"
|
|
2226
|
-
},
|
|
2227
|
-
"lsp_profiles": {
|
|
2228
|
-
"default": "$(pi_lsp_profile)",
|
|
2229
|
-
"selection": "functional-block-first"
|
|
2230
|
-
},
|
|
2231
|
-
"root_context_files": [
|
|
2232
|
-
"CLAUDE.md",
|
|
2233
|
-
"AGENTS.md",
|
|
2234
|
-
"docs/spec.md",
|
|
2235
|
-
"tasks/current.md",
|
|
2236
|
-
"tasks/todos.md",
|
|
2237
|
-
"tasks/lessons.md",
|
|
2238
|
-
".ai/context/capabilities.json",
|
|
2239
|
-
".ai/harness/policy.json"
|
|
2240
|
-
],
|
|
2241
|
-
"discoverable_contexts": [
|
|
2242
|
-
${discoverable_entries}
|
|
2243
|
-
],
|
|
2244
|
-
"budgets": {
|
|
2245
|
-
"root_total_chars": 12000,
|
|
2246
|
-
"per_discoverable_file_chars": 1200
|
|
2247
|
-
}
|
|
2248
|
-
}
|
|
2249
|
-
EOF_CONTEXT
|
|
2250
|
-
}
|
|
2251
|
-
|
|
2252
1811
|
pi_root_context_content() {
|
|
2253
1812
|
cat <<'EOF_ROOT_CONTEXT'
|
|
2254
1813
|
# Repo Agent Context
|
|
@@ -2258,14 +1817,14 @@ This is the root routing contract for Claude Code and Codex.
|
|
|
2258
1817
|
## Root Workflow Contract
|
|
2259
1818
|
|
|
2260
1819
|
- Keep sibling `CLAUDE.md` and `AGENTS.md` files aligned. Claude Code consumes `CLAUDE.md`; Codex consumes `AGENTS.md`.
|
|
2261
|
-
- Treat `docs/spec.md`
|
|
2262
|
-
-
|
|
2263
|
-
-
|
|
1820
|
+
- Treat `docs/spec.md`, `docs/researches/`, `tasks/todos.md`, `tasks/lessons.md`, and intentional architecture/project documents as repository-authored truth.
|
|
1821
|
+
- Mutable Requirement/Plan/Work/Controller, verification/evidence, session/lease, plugin state, and generated Runtime projections live in Forge Controller Home, not repo-local lifecycle files.
|
|
1822
|
+
- `.ai/context/context-map.json` and `.ai/context/capabilities.json`, when present, are declarative context metadata only; they are not execution authority.
|
|
2264
1823
|
- Do not infer local `CLAUDE.md` or `AGENTS.md` files from broad physical layouts such as `apps/*`, `packages/*`, or `services/*`.
|
|
2265
1824
|
- Put capability-specific ownership, entrypoints, and verification commands in explicitly selected functional-block contracts.
|
|
2266
|
-
- Keep root context concise; route
|
|
2267
|
-
- Treat `_ref/` as ignored external reference material and `_ops/` as ignored local operations
|
|
2268
|
-
-
|
|
1825
|
+
- Keep root context concise; route durable human-authored detail into product, architecture, research, or intentional project documents.
|
|
1826
|
+
- Treat `_ref/` as ignored external reference material and `_ops/` as ignored local operations residue.
|
|
1827
|
+
- Use Controller Home for mutable workflow state instead of recreating repo-local task/workstream/session projections.
|
|
2269
1828
|
EOF_ROOT_CONTEXT
|
|
2270
1829
|
}
|
|
2271
1830
|
|
|
@@ -2328,7 +1887,7 @@ Keep this file focused on the local contract for this primary functional block.
|
|
|
2328
1887
|
- Route deep implementation detail into nearby docs instead of inflating root agent context files.
|
|
2329
1888
|
- Treat `.ai/context/context-map.json` as the index of discoverable context files.
|
|
2330
1889
|
- Do not keep pushing context files deeper by default; add lower-level files only for a separately owned functional block with its own commands and invariants.
|
|
2331
|
-
-
|
|
1890
|
+
- Keep mutable workflow state in Controller Home; repository context files describe authored code and capability boundaries only.
|
|
2332
1891
|
EOF_DIRECTORY_AGENTS
|
|
2333
1892
|
)
|
|
2334
1893
|
|
|
@@ -2368,121 +1927,19 @@ pi_ensure_harness_state_surface() {
|
|
|
2368
1927
|
local mode="${2:-apply}"
|
|
2369
1928
|
|
|
2370
1929
|
if [[ "$mode" != "apply" ]]; then
|
|
2371
|
-
echo "[dry-run] ensure
|
|
1930
|
+
echo "[dry-run] ensure authored Forge knowledge surface in $target_dir; Runtime state remains in Controller Home"
|
|
2372
1931
|
return 0
|
|
2373
1932
|
fi
|
|
2374
1933
|
|
|
2375
|
-
mkdir -p
|
|
2376
|
-
"$target_dir/tasks/notes" \
|
|
2377
|
-
"$target_dir/tasks/workstreams" \
|
|
2378
|
-
"$target_dir/.ai/context" \
|
|
2379
|
-
"$target_dir/.ai/harness/checks" \
|
|
2380
|
-
"$target_dir/.ai/harness/session" \
|
|
2381
|
-
"$target_dir/.ai/harness/controller/packets" \
|
|
2382
|
-
"$target_dir/.ai/harness/projections" \
|
|
2383
|
-
"$target_dir/.ai/harness/transfers" \
|
|
2384
|
-
"$target_dir/.ai/harness/scripts" \
|
|
2385
|
-
"$target_dir/.ai/harness/failures" \
|
|
2386
|
-
"$target_dir/.ai/harness/security" \
|
|
2387
|
-
"$target_dir/.ai/harness/planning" \
|
|
2388
|
-
"$target_dir/.ai/harness/architecture" \
|
|
2389
|
-
"$target_dir/.ai/harness/worktrees" \
|
|
2390
|
-
"$target_dir/.ai/harness/controller" \
|
|
2391
|
-
"$target_dir/.ai/harness/local-jobs" \
|
|
2392
|
-
"$target_dir/docs/researches" \
|
|
2393
|
-
"$target_dir/docs/architecture/domains" \
|
|
2394
|
-
"$target_dir/docs/architecture/modules" \
|
|
2395
|
-
"$target_dir/docs/architecture/requests" \
|
|
2396
|
-
"$target_dir/docs/architecture/snapshots" \
|
|
2397
|
-
"$target_dir/docs/architecture/diagrams" \
|
|
2398
|
-
"$target_dir/.ai/harness/runs"
|
|
2399
|
-
|
|
2400
|
-
[[ -f "$target_dir/.ai/harness/checks/latest.json" ]] || printf "{}\n" > "$target_dir/.ai/harness/checks/latest.json"
|
|
2401
|
-
[[ -f "$target_dir/.ai/harness/session/continuation.md" ]] || printf "# Forge Session Continuation Snapshot\n\n> **Reason**: bootstrap\n" > "$target_dir/.ai/harness/session/continuation.md"
|
|
2402
|
-
[[ -f "$target_dir/.ai/harness/session/resume.md" ]] || printf "# Codex Resume Packet\n\n> **Reason**: bootstrap\n" > "$target_dir/.ai/harness/session/resume.md"
|
|
2403
|
-
[[ -f "$target_dir/.ai/context/capability-source-map.json" ]] || printf '{\n "version": 1,\n "capabilities": {}\n}\n' > "$target_dir/.ai/context/capability-source-map.json"
|
|
2404
|
-
[[ -f "$target_dir/.ai/harness/events.jsonl" ]] || : > "$target_dir/.ai/harness/events.jsonl"
|
|
2405
|
-
[[ -f "$target_dir/.ai/harness/architecture/events.jsonl" ]] || : > "$target_dir/.ai/harness/architecture/events.jsonl"
|
|
2406
|
-
[[ -f "$target_dir/.ai/harness/architecture/.gitkeep" ]] || : > "$target_dir/.ai/harness/architecture/.gitkeep"
|
|
2407
|
-
[[ -f "$target_dir/.ai/harness/failures/latest.jsonl" ]] || : > "$target_dir/.ai/harness/failures/latest.jsonl"
|
|
2408
|
-
[[ -f "$target_dir/.ai/harness/security/.gitkeep" ]] || : > "$target_dir/.ai/harness/security/.gitkeep"
|
|
2409
|
-
[[ -f "$target_dir/.ai/harness/scripts/.gitkeep" ]] || : > "$target_dir/.ai/harness/scripts/.gitkeep"
|
|
2410
|
-
[[ -f "$target_dir/.ai/harness/planning/.gitkeep" ]] || : > "$target_dir/.ai/harness/planning/.gitkeep"
|
|
2411
|
-
[[ -f "$target_dir/.ai/harness/worktrees/.gitkeep" ]] || : > "$target_dir/.ai/harness/worktrees/.gitkeep"
|
|
2412
|
-
[[ -f "$target_dir/.ai/harness/runs/.gitkeep" ]] || : > "$target_dir/.ai/harness/runs/.gitkeep"
|
|
2413
|
-
[[ -f "$target_dir/tasks/workstreams/.gitkeep" ]] || : > "$target_dir/tasks/workstreams/.gitkeep"
|
|
1934
|
+
mkdir -p "$target_dir/tasks" "$target_dir/docs/researches"
|
|
2414
1935
|
if [[ ! -f "$target_dir/docs/researches/README.md" ]]; then
|
|
2415
1936
|
cat > "$target_dir/docs/researches/README.md" <<'RESEARCH_README_EOF'
|
|
2416
1937
|
# Research Reports
|
|
2417
1938
|
|
|
2418
|
-
Durable research
|
|
2419
|
-
|
|
2420
|
-
Use `YYYYMMDD-topic.md` names when chronology matters, or `<topic>.md` for
|
|
2421
|
-
stable subject reports. Keep task-local implementation decisions in
|
|
2422
|
-
`tasks/notes/`, and keep repeated correction-derived rules in `tasks/lessons.md`.
|
|
1939
|
+
Durable, human-reviewable research conclusions live here. Machine execution state,
|
|
1940
|
+
receipts, sessions, caches, and generated reports belong to Forge Controller Home.
|
|
2423
1941
|
RESEARCH_README_EOF
|
|
2424
1942
|
fi
|
|
2425
|
-
if [[ ! -f "$target_dir/tasks/current.md" ]]; then
|
|
2426
|
-
cat > "$target_dir/tasks/current.md" <<'CURRENT_STATUS_EOF'
|
|
2427
|
-
# Current Status Snapshot
|
|
2428
|
-
|
|
2429
|
-
<!-- generated-by: forge refresh-current-status v1 -->
|
|
2430
|
-
<!-- updated_at: bootstrap -->
|
|
2431
|
-
<!-- stale_after: 24h -->
|
|
2432
|
-
|
|
2433
|
-
> **Status**: Idle
|
|
2434
|
-
> **Updated At**: bootstrap
|
|
2435
|
-
> **Source Branch**: main
|
|
2436
|
-
> **Source Commit**: bootstrap
|
|
2437
|
-
> **Target Branch**: main
|
|
2438
|
-
> **Stale After**: 24h
|
|
2439
|
-
> **Reason**: bootstrap
|
|
2440
|
-
> **Derived From**: active-plan, active-sprint, workstreams, handoff, checks, git status
|
|
2441
|
-
|
|
2442
|
-
This file is a tracked mainline snapshot derived from repo artifacts. It is not a live lock, not a kanban board, and not an implementation gate. If it is stale, read the source artifacts below.
|
|
2443
|
-
CURRENT_STATUS_EOF
|
|
2444
|
-
fi
|
|
2445
|
-
[[ -f "$target_dir/docs/architecture/domains/.gitkeep" ]] || : > "$target_dir/docs/architecture/domains/.gitkeep"
|
|
2446
|
-
[[ -f "$target_dir/docs/architecture/modules/.gitkeep" ]] || : > "$target_dir/docs/architecture/modules/.gitkeep"
|
|
2447
|
-
[[ -f "$target_dir/docs/architecture/requests/.gitkeep" ]] || : > "$target_dir/docs/architecture/requests/.gitkeep"
|
|
2448
|
-
[[ -f "$target_dir/docs/architecture/snapshots/.gitkeep" ]] || : > "$target_dir/docs/architecture/snapshots/.gitkeep"
|
|
2449
|
-
[[ -f "$target_dir/docs/architecture/diagrams/.gitkeep" ]] || : > "$target_dir/docs/architecture/diagrams/.gitkeep"
|
|
2450
|
-
if [[ ! -f "$target_dir/docs/architecture/index.md" ]]; then
|
|
2451
|
-
cat > "$target_dir/docs/architecture/index.md" <<'ARCHITECTURE_INDEX_EOF'
|
|
2452
|
-
# Architecture Index
|
|
2453
|
-
|
|
2454
|
-
> Umbrella architecture ledger for current boundaries, drift requests, snapshots, and diagrams.
|
|
2455
|
-
|
|
2456
|
-
## Current Snapshot
|
|
2457
|
-
|
|
2458
|
-
- Latest snapshot: (none yet)
|
|
2459
|
-
- Semantic diagram source: (none yet)
|
|
2460
|
-
- Latest human diagram: (none yet)
|
|
2461
|
-
|
|
2462
|
-
## Architecture Drift Flow
|
|
2463
|
-
|
|
2464
|
-
- `.ai/harness/scripts/architecture-queue.sh` records architecture-sensitive edits as requests.
|
|
2465
|
-
- `.ai/harness/scripts/archive-architecture-request.sh` archives handled requests after an agent records the resolution status and linked artifacts.
|
|
2466
|
-
- `.ai/harness/scripts/context-contract-sync.sh` keeps only the controlled architecture block in functional-block `AGENTS.md` and `CLAUDE.md` files aligned.
|
|
2467
|
-
- `.ai/harness/scripts/workstream-sync.sh` keeps durable multi-session progress under `tasks/workstreams/<domain>/<capability>/` and projects only pointers into local contracts.
|
|
2468
|
-
- Semantic architecture diagrams live as Mermaid fenced blocks in the relevant module or snapshot Markdown.
|
|
2469
|
-
- Human-readable architecture diagrams are optional `mermaid` HTML files in `docs/architecture/diagrams/` and should link back to the Markdown semantic source.
|
|
2470
|
-
|
|
2471
|
-
## Pending Requests
|
|
2472
|
-
|
|
2473
|
-
<!-- BEGIN ARCHITECTURE PENDING REQUESTS -->
|
|
2474
|
-
- (none)
|
|
2475
|
-
<!-- END ARCHITECTURE PENDING REQUESTS -->
|
|
2476
|
-
|
|
2477
|
-
ARCHITECTURE_INDEX_EOF
|
|
2478
|
-
fi
|
|
2479
|
-
|
|
2480
|
-
pi_write_capability_registry "$target_dir" "$mode"
|
|
2481
|
-
pi_write_harness_policy "$target_dir" "$mode"
|
|
2482
|
-
pi_write_brain_manifest "$target_dir" "$mode"
|
|
2483
|
-
pi_write_context_map "$target_dir" "$mode"
|
|
2484
|
-
pi_install_root_context_files "$target_dir" "$mode"
|
|
2485
|
-
pi_install_directory_context_files "$target_dir" "$mode"
|
|
2486
1943
|
}
|
|
2487
1944
|
|
|
2488
1945
|
pi_resolve_js_runtime() {
|
|
@@ -2642,7 +2099,7 @@ pi_ensure_task_sync() {
|
|
|
2642
2099
|
"check:context-files": "forge run check-context-files",
|
|
2643
2100
|
"check:deploy-sql": "forge run check-deploy-sql-order",
|
|
2644
2101
|
"check:architecture-sync": "forge run check-architecture-sync",
|
|
2645
|
-
"check:task": "
|
|
2102
|
+
"check:task": "forge run check-task-workflow --strict",
|
|
2646
2103
|
"check:task-sync": "forge run check-task-sync",
|
|
2647
2104
|
"check:task-workflow": "forge run check-task-workflow --strict",
|
|
2648
2105
|
"sync:brain-docs": "forge run sync-brain-docs --all"
|
|
@@ -2668,7 +2125,7 @@ pkg.scripts["check:brain-manifest"] = "forge run check-brain-manifest";
|
|
|
2668
2125
|
pkg.scripts["check:context-files"] = "forge run check-context-files";
|
|
2669
2126
|
pkg.scripts["check:deploy-sql"] = "forge run check-deploy-sql-order";
|
|
2670
2127
|
pkg.scripts["check:architecture-sync"] = "forge run check-architecture-sync";
|
|
2671
|
-
pkg.scripts["check:task"] = "
|
|
2128
|
+
pkg.scripts["check:task"] = "forge run check-task-workflow --strict";
|
|
2672
2129
|
pkg.scripts["check:task-sync"] = "forge run check-task-sync";
|
|
2673
2130
|
pkg.scripts["check:task-workflow"] = "forge run check-task-workflow --strict";
|
|
2674
2131
|
pkg.scripts["sync:brain-docs"] = "forge run sync-brain-docs --all";
|