@moretea-labs/forge 1.7.2 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +121 -62
- package/CHANGELOG.md +40 -0
- package/CLAUDE.md +57 -62
- package/CONTRIBUTING.md +3 -2
- 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 +77 -0
- package/adapters/chatgpt/browser-delivery-runtime.ts +1256 -0
- package/adapters/chatgpt/controller-binding-store.ts +134 -0
- package/adapters/chatgpt/controller-round-host.ts +68 -0
- package/adapters/chatgpt/controller-round-settlement-store.ts +99 -0
- package/adapters/chatgpt/provider-delivery.ts +340 -0
- package/adapters/chatgpt/work-conversation-binding-store.ts +218 -0
- package/adapters/chatgpt/wsl-bridge-delivery-host.ts +63 -0
- package/adapters/computer/chatgpt-extension-target.ts +463 -0
- package/adapters/computer/chatgpt-target-router.ts +103 -0
- package/adapters/computer/chrome-extension/background.js +385 -0
- package/adapters/computer/chrome-extension/content.js +378 -0
- package/adapters/computer/chrome-extension/core.js +24 -0
- package/adapters/computer/chrome-extension/manifest.json +30 -0
- package/adapters/computer/desktop-operator-contract.ts +7 -0
- package/adapters/computer/desktop-operator-discovery.ts +181 -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 +1068 -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 +406 -0
- package/adapters/mcp/instructions.ts +37 -0
- package/adapters/mcp/legacy-context.ts +18 -0
- package/adapters/mcp/multi-repository.ts +421 -0
- package/adapters/mcp/oauth.ts +464 -0
- package/adapters/mcp/paths.ts +143 -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/automation-receipt-adapter.ts +87 -0
- package/adapters/mcp/runtime-gateway/bounded-result-runtime.ts +62 -0
- package/adapters/mcp/runtime-gateway/cognition-settlement.ts +201 -0
- package/adapters/mcp/runtime-gateway/context-adapter.ts +1167 -0
- package/adapters/mcp/runtime-gateway/context-pack-sidecar.ts +91 -0
- package/adapters/mcp/runtime-gateway/controller-authority-adapter.ts +206 -0
- package/adapters/mcp/runtime-gateway/core-capability-adapter.ts +258 -0
- package/adapters/mcp/runtime-gateway/engineering-preconditions.ts +130 -0
- package/adapters/mcp/runtime-gateway/engineering-tool-contract.ts +15 -0
- package/adapters/mcp/runtime-gateway/execution-control-adapter.ts +28 -0
- package/adapters/mcp/runtime-gateway/execution-tools.ts +173 -0
- package/adapters/mcp/runtime-gateway/filesystem-adapter.ts +38 -0
- package/adapters/mcp/runtime-gateway/gateway-execution-adapter.ts +412 -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 +380 -0
- package/adapters/mcp/runtime-gateway/process-tools.ts +457 -0
- package/adapters/mcp/runtime-gateway/protected-computer-adapter.ts +88 -0
- package/adapters/mcp/runtime-gateway/recovery-adapter.ts +285 -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 +79 -0
- package/adapters/mcp/runtime-gateway/result-adapter.ts +114 -0
- package/adapters/mcp/runtime-gateway/router.ts +242 -0
- package/adapters/mcp/runtime-gateway/routing-policy.ts +499 -0
- package/adapters/mcp/runtime-gateway/runtime-observation-adapter.ts +1200 -0
- package/adapters/mcp/runtime-gateway/runtime-readiness-observation.ts +218 -0
- package/adapters/mcp/runtime-gateway/runtime-tool-definitions.ts +574 -0
- package/adapters/mcp/runtime-gateway/runtime-tool-shared.ts +27 -0
- package/adapters/mcp/runtime-gateway/runtime-tools.ts +78 -0
- package/adapters/mcp/runtime-gateway/scheduler-adapter.ts +187 -0
- package/adapters/mcp/runtime-gateway/shared-adapter.ts +45 -0
- package/adapters/mcp/runtime-gateway/status-inbox-adapter.ts +962 -0
- package/adapters/mcp/runtime-gateway/typescript-navigation-sidecar.ts +136 -0
- package/adapters/mcp/runtime-gateway/work-adapter.ts +325 -0
- package/adapters/mcp/runtime-gateway/work-controller-operations.ts +257 -0
- package/adapters/mcp/runtime-gateway/work-detail-projection.ts +60 -0
- package/adapters/mcp/runtime-gateway/work-input-wire-migration.ts +246 -0
- package/adapters/mcp/runtime-gateway/work-learning-operations.ts +145 -0
- package/adapters/mcp/runtime-gateway/work-list-projection.ts +38 -0
- package/adapters/mcp/runtime-gateway/work-plan-operations.ts +382 -0
- package/adapters/mcp/runtime-gateway/work-repair-adapter.ts +308 -0
- package/adapters/mcp/runtime-gateway/work-requirement-operations.ts +148 -0
- package/adapters/mcp/runtime-gateway/work-semantic-operations.ts +263 -0
- package/adapters/mcp/runtime-gateway/work-validation-reconciler.ts +1 -0
- package/adapters/mcp/runtime-gateway/work-workflow-operations.ts +113 -0
- package/adapters/mcp/runtime-gateway/workflow-supervisor-adapter.ts +156 -0
- package/adapters/mcp/server.ts +1092 -0
- package/adapters/mcp/setup.ts +789 -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 +5139 -0
- package/adapters/mcp/tool-mapping/post-finalize-work-attribution.ts +145 -0
- package/adapters/mcp/tool-mapping/repository-tools.ts +1682 -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 +79 -0
- package/adapters/mcp/toolset-selection.ts +41 -0
- package/adapters/mcp/toolset.ts +337 -0
- package/adapters/mcp/transports/http-observation.ts +365 -0
- package/adapters/mcp/transports/http.ts +933 -0
- package/adapters/mcp/transports/oauth-http.ts +322 -0
- package/adapters/mcp/transports/session-registry.ts +519 -0
- package/adapters/mcp/transports/stdio.ts +8 -0
- package/adapters/mcp/tunnels/openai-secure-tunnel.ts +223 -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 +11 -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/agentic-development-flow.md +25 -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 +28 -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 +233 -28
- package/docs/architecture/EVOLUTION.md +13 -0
- package/docs/architecture/decisions/20260801-controller-home-sqlite-state.md +2 -1
- package/docs/architecture/decisions/20260803-release-identity-binding-and-exit-policy.md +14 -5
- package/docs/architecture/decisions/20260823-immediate-controller-relay.md +6 -3
- 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 +37 -0
- package/docs/architecture/decisions/20260907-controller-round-transition-policy.md +311 -0
- package/docs/architecture/decisions/20260907-maintenance-diagnosis-bounded-read.md +39 -0
- package/docs/architecture/decisions/20260916-workflow-supervisor-authority.md +249 -0
- package/docs/architecture/decisions/20260917-cognitive-memory-foundation.md +82 -0
- package/docs/architecture/decisions/20260918-stable-candidate-release-lifecycle.md +221 -0
- package/docs/architecture/decisions/20260919-autonomous-work-liveness.md +62 -0
- package/docs/architecture/decisions/20260924-thin-semantic-working-context.md +72 -0
- package/docs/architecture/decisions/20261001-supervisor-turn-authority.md +237 -0
- package/docs/architecture/decisions/20261005-forge-v3-desktop-client-boundary.md +77 -0
- package/docs/architecture/domains/verification.md +8 -0
- package/docs/architecture/domains/workflow-engine.md +7 -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/controller-performance-and-502.md +17 -0
- package/docs/operations/controller-reliability-runbook.md +2 -2
- package/docs/operations/features.md +1 -1
- package/docs/operations/features.zh-CN.md +1 -1
- package/docs/operations/homebrew.md +2 -2
- package/docs/operations/mcp-tool-exposure.md +2 -0
- package/docs/operations/platform-support.md +16 -8
- package/docs/operations/platform-support.zh-CN.md +2 -2
- package/docs/operations/releasing.md +2 -0
- package/docs/operations/standalone-disaster-recovery.md +38 -5
- 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 +46 -26
- package/packages/kernel/cognition/api/index.ts +6 -0
- package/packages/kernel/cognition/application/activation-service.ts +451 -0
- package/packages/kernel/cognition/application/consolidation-service.ts +185 -0
- package/packages/kernel/cognition/application/legacy-experience-adapter.ts +38 -0
- package/packages/kernel/cognition/application/memory-service.ts +64 -0
- package/packages/kernel/cognition/domain/learning.ts +106 -0
- package/packages/kernel/cognition/domain/memory.ts +254 -0
- package/packages/kernel/controller/api/index.ts +3 -0
- package/packages/kernel/controller/application/continuation-service.ts +281 -0
- package/packages/kernel/controller/application/controller-round-service.ts +41 -0
- package/packages/kernel/controller/application/controller-service.ts +30 -0
- package/packages/kernel/controller/domain/controller-round-transition-policy.ts +529 -0
- package/packages/kernel/controller/domain/controller-round.ts +110 -0
- package/packages/kernel/controller/domain/execution-quality.ts +135 -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 +1970 -0
- package/packages/kernel/controller/infrastructure/controller-session-store.ts +804 -0
- package/packages/kernel/controller/ports/controller-host.ts +18 -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 +15 -0
- package/packages/kernel/identity/application/identity-service.ts +67 -0
- package/packages/kernel/identity/domain/activity-projection.ts +43 -0
- package/packages/kernel/identity/domain/capability-broker.ts +60 -0
- package/packages/kernel/identity/domain/grant.ts +72 -0
- package/packages/kernel/identity/domain/owned-resource.ts +116 -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/user-request.ts +93 -0
- package/packages/kernel/identity/domain/workspace.ts +56 -0
- package/packages/kernel/identity/index.ts +1 -0
- package/packages/kernel/identity/infrastructure/activity-projection-store.ts +77 -0
- package/packages/kernel/identity/infrastructure/capability-broker.ts +81 -0
- package/packages/kernel/identity/infrastructure/grant-store.ts +284 -0
- package/packages/kernel/identity/infrastructure/identity-store.ts +75 -0
- package/packages/kernel/identity/infrastructure/owned-resource-store.ts +259 -0
- package/packages/kernel/identity/infrastructure/user-request-store.ts +182 -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/scheduler/api/index.ts +4 -0
- package/packages/kernel/scheduler/application/eligibility.ts +252 -0
- package/packages/kernel/scheduler/application/schedule-service.ts +27 -0
- package/packages/kernel/scheduler/application/settlement.ts +182 -0
- package/packages/kernel/scheduler/domain/schedule.ts +236 -0
- package/packages/kernel/scheduler/index.ts +1 -0
- package/packages/kernel/scheduler/infrastructure/schedule-store.ts +805 -0
- package/packages/kernel/work/api/index.ts +16 -0
- package/packages/kernel/work/application/work-service.ts +123 -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/current-task-lineage.ts +104 -0
- package/packages/kernel/work/domain/engineering-contracts.ts +157 -0
- package/packages/kernel/work/domain/engineering-design.ts +286 -0
- package/packages/kernel/work/domain/engineering-profile.ts +238 -0
- package/packages/kernel/work/domain/evaluation-promotion-receipt.ts +186 -0
- package/packages/kernel/work/domain/execution-concurrency.ts +247 -0
- package/packages/kernel/work/domain/execution-snapshot.ts +2 -0
- package/packages/kernel/work/domain/implementation-review.ts +193 -0
- package/packages/kernel/work/domain/objective-graph.ts +119 -0
- package/packages/kernel/work/domain/project-engineering-contract.ts +224 -0
- package/packages/kernel/work/domain/repository-completion-receipt.ts +73 -0
- package/{src/runtime/control-plane/facade/work-state-machine.ts → packages/kernel/work/domain/state-machine.ts} +37 -66
- package/packages/kernel/work/domain/types.ts +534 -0
- package/packages/kernel/work/index.ts +1 -0
- package/packages/kernel/work/infrastructure/work-contract-store.ts +1967 -0
- package/packages/kernel/work/ports/work-contract-store.ts +21 -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 +62 -0
- package/packages/plugin-runtime/computer/chatgpt-identity.ts +24 -0
- package/packages/plugin-runtime/computer/conversation-target.ts +143 -0
- package/packages/plugin-runtime/computer/index.ts +8 -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 +215 -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 +581 -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 +225 -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/activate-source-baseline.ts +7 -9
- package/scripts/assemble-template.ts +1 -1
- 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 +183 -0
- package/scripts/canary-global-hook.sh +2 -2
- package/scripts/check-mcp-compatibility.ts +85 -7
- package/scripts/check-platform-support.mjs +28 -2
- package/scripts/check-public-docs.sh +1 -1
- package/scripts/check-repository-hygiene.mjs +92 -0
- package/scripts/check-runtime-architecture.mjs +1643 -127
- package/scripts/check-source-duplication.mjs +9 -1
- package/scripts/controller-ngrok-rotation.sh +5 -4
- package/scripts/create-project-dirs.sh +10 -74
- package/scripts/forge-local-recovery-helper.mjs +282 -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 +42 -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 +11 -1
- package/scripts/portability-bindings.mjs +70 -0
- package/scripts/run-bounded-command.mjs +60 -0
- package/scripts/run-bun-test-file.ts +22 -6
- package/scripts/run-governed-gate.ts +4 -2
- package/scripts/run-mobile-monitor-bridge.ts +0 -1
- package/scripts/smoke-control-plane-failure-domain.ts +94 -0
- package/scripts/smoke-mcp-http-runtime.ts +6 -1
- package/scripts/smoke-runtime-recovery.ts +13 -11
- package/scripts/smoke-schedule-engine.ts +24 -16
- package/scripts/smoke-unattended-transport-recovery.ts +223 -0
- package/scripts/smoke-user-request-continuation-restart.ts +232 -0
- package/scripts/smoke-workflow-supervisor-chrome-adapter.ts +92 -0
- package/scripts/smoke-workflow-supervisor-process-restart.ts +276 -0
- package/scripts/smoke-workflow-supervisor-restart-recovery.ts +150 -0
- package/scripts/smoke-workflow-supervisor.ts +103 -0
- package/scripts/test-governance.ts +51 -2
- package/scripts/verify-forge-runtime.sh +2 -1
- package/src/cli/agent-jobs/executor-health.ts +11 -34
- package/src/cli/agent-jobs/integration.ts +18 -49
- package/src/cli/agent-jobs/job-manager.ts +17 -4
- 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 +52 -0
- package/src/cli/commands/brain.ts +191 -40
- package/src/cli/commands/chatgpt.ts +32 -67
- 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 +507 -80
- package/src/cli/commands/runtime.ts +12 -7
- package/src/cli/commands/setup-profile.ts +97 -39
- package/src/cli/commands/status.ts +2 -1
- package/src/cli/controller/check-runner.ts +500 -100
- package/src/cli/controller/completion-backlog.ts +3 -3
- package/src/cli/controller/completion-orchestrator.ts +4 -43
- package/src/cli/controller/completion-target.ts +3 -72
- package/src/cli/controller/context/source-materializer.ts +81 -100
- package/src/cli/controller/context/types.ts +7 -1
- package/src/cli/controller/context-pack.ts +28 -6
- package/src/cli/controller/execution-completion.ts +4 -7
- package/src/cli/controller/execution-policy.ts +36 -153
- package/src/cli/controller/governance.ts +2 -3
- package/src/cli/controller/issue-store.ts +4 -99
- package/src/cli/controller/launch-agents.ts +59 -18
- package/src/cli/controller/operational-plan.ts +24 -51
- package/src/cli/controller/runtime-config.ts +5 -1
- package/src/cli/controller/stuck-state-migration.ts +2 -3
- package/src/cli/controller/systemd-user.ts +148 -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 +290 -20
- 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 +20 -15
- package/src/cli/local-bridge/console-view-models.ts +3 -12
- package/src/cli/local-bridge/facade-api.ts +105 -205
- package/src/cli/local-bridge/job-store.ts +1 -1
- package/src/cli/local-bridge/server.ts +48 -174
- package/src/cli/local-bridge/types.ts +0 -1
- 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-client-retirement.ts +74 -0
- 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 -1613
- 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 +91 -39
- package/src/cli/repositories/command-scope.ts +139 -4
- package/src/cli/repositories/controller-home.ts +167 -1
- package/src/cli/repositories/ephemeral-workspace.ts +20 -30
- package/src/cli/repositories/git-command-executor.ts +2 -2
- package/src/cli/repositories/identity.ts +13 -0
- package/src/cli/repositories/registry.ts +145 -60
- 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 +167 -27
- package/src/cli/repository/session-cache.ts +92 -6
- 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 +167 -0
- package/src/runtime/context/assistant-work-context.ts +209 -0
- package/src/runtime/context/automatic-learning.ts +565 -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/cognitive-attention.ts +173 -0
- package/src/runtime/context/cognitive-skill-canary.ts +158 -0
- package/src/runtime/context/context-closure.ts +305 -0
- package/src/runtime/context/context-pack-process.ts +103 -0
- package/src/runtime/context/context-plane.ts +203 -0
- package/src/runtime/context/direct-controller-learning.ts +298 -0
- package/src/runtime/context/project-engineering-contract.ts +60 -0
- package/src/runtime/context/semantic-navigation-contract.ts +9 -0
- package/src/runtime/context/semantic-navigation.ts +6 -34
- package/src/runtime/context/typescript-navigation-process.ts +145 -0
- package/src/runtime/context/typescript-navigation.ts +89 -3
- 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 +531 -0
- package/src/runtime/control-plane/codegraph-cache-retention.ts +164 -0
- package/src/runtime/control-plane/concurrency/work-execution-concurrency.ts +282 -0
- package/src/runtime/control-plane/execution/controller-authority-recovery.ts +380 -0
- package/src/runtime/control-plane/execution/edit-validation-coordinator.ts +113 -16
- package/src/runtime/control-plane/execution/execution-identity.ts +23 -3
- package/src/runtime/control-plane/execution/implementation-review-content.ts +95 -0
- package/src/runtime/control-plane/execution/repository-work-attribution.ts +7 -30
- package/src/runtime/control-plane/execution/retained-work-resume.ts +439 -102
- package/src/runtime/control-plane/execution/session-store.ts +31 -1
- package/src/runtime/control-plane/execution/validation.ts +34 -11
- package/src/runtime/control-plane/execution/work-authority-reconciler.ts +87 -0
- package/src/runtime/control-plane/execution/work-check-evidence.ts +137 -0
- package/src/runtime/control-plane/execution/work-completion-authority.ts +31 -44
- package/src/runtime/control-plane/execution/work-delivery-service.ts +497 -0
- package/src/runtime/control-plane/execution/work-evidence-policy.ts +46 -53
- package/src/runtime/control-plane/execution/work-execution-support.ts +85 -164
- package/src/runtime/control-plane/execution/work-handle-authority.ts +349 -73
- package/src/runtime/control-plane/execution/work-handle-store.ts +55 -2
- package/src/runtime/control-plane/execution/work-head-settlement.ts +108 -0
- package/src/runtime/control-plane/execution/work-lifecycle-audit.ts +173 -28
- package/src/runtime/control-plane/execution/work-operation-service.ts +92 -40
- package/src/runtime/control-plane/execution/work-preparation-service.ts +145 -269
- package/src/runtime/control-plane/execution/work-remote-delivery.ts +2 -3
- package/src/runtime/control-plane/execution/work-revision-diff.ts +39 -0
- package/src/runtime/control-plane/execution/work-terminal-cleanup.ts +543 -225
- package/src/runtime/control-plane/execution/work-validation-reconciler.ts +59 -45
- package/src/runtime/control-plane/execution/work-verification-context.ts +1 -1
- package/src/runtime/control-plane/execution/work-verification-service.ts +662 -52
- package/src/runtime/control-plane/execution/work-verification-snapshot.ts +205 -16
- package/src/runtime/control-plane/facade/capability-registry.ts +380 -44
- package/src/runtime/control-plane/facade/check-normalization.ts +3 -9
- package/src/runtime/control-plane/facade/codex-delegation.ts +10 -11
- package/src/runtime/control-plane/facade/controller-connection.ts +135 -0
- package/src/runtime/control-plane/facade/controller-session-store.ts +2 -488
- package/src/runtime/control-plane/facade/goal-workloop-access.ts +6 -22
- package/src/runtime/control-plane/facade/goal-workloop.ts +565 -1202
- package/src/runtime/control-plane/facade/handoff-inbox-application.ts +145 -0
- package/src/runtime/control-plane/facade/handoff-inbox-store.ts +266 -52
- package/src/runtime/control-plane/facade/index.ts +4 -3
- package/src/runtime/control-plane/facade/operation-digest.ts +34 -73
- package/src/runtime/control-plane/facade/plan-contract-store.ts +671 -245
- package/src/runtime/control-plane/facade/policy-gate.ts +0 -23
- package/src/runtime/control-plane/facade/repository-work-admission.ts +31 -23
- package/src/runtime/control-plane/facade/requirement-authority.ts +121 -0
- package/src/runtime/control-plane/facade/requirement-board.ts +9 -4
- package/src/runtime/control-plane/facade/rh-work-operation-contract.ts +85 -0
- package/src/runtime/control-plane/facade/self-healing-loop.ts +18 -53
- package/src/runtime/control-plane/facade/semantic-admission.ts +8 -16
- package/src/runtime/control-plane/facade/suggested-actions.ts +15 -15
- package/src/runtime/control-plane/facade/types.ts +218 -620
- package/src/runtime/control-plane/facade/work-continuation.ts +8 -8
- package/src/runtime/control-plane/facade/work-contract-store.ts +2 -1043
- package/src/runtime/control-plane/generated-cache-retention.ts +336 -19
- package/src/runtime/control-plane/global-scheduler/autonomous-continuation.ts +248 -0
- package/src/runtime/control-plane/global-scheduler/durable-admission.ts +13 -2
- package/src/runtime/control-plane/global-scheduler/maintenance.ts +274 -84
- 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 +3 -2
- package/src/runtime/control-plane/global-scheduler/scheduler-worker-entry.ts +10 -0
- package/src/runtime/control-plane/global-scheduler/scheduler.ts +227 -109
- package/src/runtime/control-plane/global-scheduler/wake-signal.ts +42 -2
- package/src/runtime/control-plane/global-scheduler/worker-launch.ts +18 -6
- package/src/runtime/control-plane/governance/access-policy.ts +19 -2
- package/src/runtime/control-plane/governance/authorization.ts +20 -3
- package/src/runtime/control-plane/launcher/chatgpt-round-continuation.ts +160 -0
- package/src/runtime/control-plane/launcher/chatgpt-work-binding-store.ts +2 -177
- package/src/runtime/control-plane/launcher/chatgpt-work-continuation.ts +139 -670
- package/src/runtime/control-plane/launcher/local-conversation-controller.ts +238 -0
- package/src/runtime/control-plane/launcher/provider-mcp-bootstrap.ts +25 -6
- package/src/runtime/control-plane/launcher/thin-launcher.ts +96 -194
- package/src/runtime/control-plane/lifecycle-retention-metrics.ts +60 -0
- package/src/runtime/control-plane/persistence/cognition-store.ts +820 -0
- package/src/runtime/control-plane/persistence/experience-store.ts +302 -0
- package/src/runtime/control-plane/persistence/operational-prior-store.ts +348 -0
- package/src/runtime/control-plane/persistence/requirement-store.ts +230 -80
- package/src/runtime/control-plane/persistence/sqlite-store.ts +654 -78
- 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 +154 -26
- package/src/runtime/control-plane/repository-namespace-retention.ts +208 -0
- package/src/runtime/control-plane/runtime-cleanup.ts +844 -38
- package/src/runtime/control-plane/runtime-generation.ts +6 -0
- package/src/runtime/control-plane/workspace/project-onboarding.ts +80 -0
- package/src/runtime/control-plane/workspace/semantic-sync-service.ts +479 -0
- package/src/runtime/control-plane/workspace/workspace-store.ts +249 -0
- package/src/runtime/diagnostics/incident-repair.ts +573 -0
- package/src/runtime/diagnostics/mcp-timing.ts +239 -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 +216 -35
- package/src/runtime/evidence/evidence-store.ts +112 -8
- package/src/runtime/evidence/operational-shadow.ts +38 -0
- package/src/runtime/evidence/output-handle-index.ts +225 -0
- package/src/runtime/evidence/process-check-receipt.ts +5 -43
- package/src/runtime/evidence/result-store.ts +158 -44
- 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 +124 -6
- package/src/runtime/execution/managed-workspace.ts +112 -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 +24 -10
- 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 +177 -2
- package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +58 -9
- package/src/runtime/execution/process-runtime/check-storage.ts +187 -0
- package/src/runtime/execution/process-runtime/command-facade.ts +117 -114
- package/src/runtime/execution/process-runtime/gc.ts +15 -2
- package/src/runtime/execution/process-runtime/handle-index.ts +176 -0
- package/src/runtime/execution/process-runtime/host-command-lane.ts +139 -0
- package/src/runtime/execution/process-runtime/index.ts +4 -0
- package/src/runtime/execution/process-runtime/interactive-admission.ts +2 -1
- package/src/runtime/execution/process-runtime/lightweight-managed.ts +283 -73
- package/src/runtime/execution/process-runtime/persisted-check.ts +130 -23
- package/src/runtime/execution/process-runtime/process-runner-entry.ts +47 -5
- package/src/runtime/execution/process-runtime/process-scope.ts +160 -0
- package/src/runtime/execution/process-runtime/resource-claims.ts +125 -64
- package/src/runtime/execution/process-runtime/runtime.ts +167 -17
- package/src/runtime/execution/process-runtime/store.ts +30 -2
- package/src/runtime/execution/process-runtime/types.ts +27 -0
- package/src/runtime/execution/workers/executor.ts +18 -19
- 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 -6655
- 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-inventory.ts +130 -0
- package/src/runtime/platform/service-manager.ts +146 -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 +192 -0
- package/src/runtime/plugins/app-store-connect-adapter.ts +47 -35
- package/src/runtime/plugins/browser-adapter.ts +898 -135
- package/src/runtime/plugins/browser-automation-service.ts +33 -34
- package/src/runtime/plugins/browser-macos-bridge.ts +386 -46
- package/src/runtime/plugins/browser-manifest-surface.ts +75 -17
- package/src/runtime/plugins/browser-native-session-service.ts +64 -14
- package/src/runtime/plugins/browser-provider-registry.ts +2 -109
- package/src/runtime/plugins/browser-registration.ts +32 -0
- package/src/runtime/plugins/browser-runtime-contract.ts +2 -154
- package/src/runtime/plugins/browser-runtime.ts +55 -10
- 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 +243 -80
- package/src/runtime/plugins/browser-session-types.ts +2 -98
- package/src/runtime/plugins/capability-authorization-grants.ts +272 -59
- package/src/runtime/plugins/catalog-trust.ts +82 -0
- package/src/runtime/plugins/computer-chatgpt-browser-adapter-installer.ts +219 -0
- package/src/runtime/plugins/computer-chatgpt-macos-target.ts +891 -0
- package/src/runtime/plugins/computer-registration.ts +1050 -0
- package/src/runtime/plugins/config-store.ts +119 -0
- package/src/runtime/plugins/desktop-operator-external-policy.ts +964 -0
- package/src/runtime/plugins/desktop-operator-registration.ts +123 -12
- package/src/runtime/plugins/errors.ts +8 -1
- package/src/runtime/plugins/external-adapter.ts +82 -323
- package/src/runtime/plugins/external-provider-policy.ts +48 -0
- package/src/runtime/plugins/external-registration.ts +30 -2
- 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 +29 -8
- package/src/runtime/plugins/google-calendar-adapter.ts +8 -8
- package/src/runtime/plugins/google-shared.ts +45 -53
- package/src/runtime/plugins/google-tasks-adapter.ts +8 -8
- package/src/runtime/plugins/ios-adapter.ts +2 -3
- package/src/runtime/plugins/lightweight-action.ts +208 -2
- package/src/runtime/plugins/local-system-adapter.ts +192 -2
- package/src/runtime/plugins/macos-capability-broker.ts +15 -105
- package/src/runtime/plugins/managed-process-adapter.ts +12 -5
- package/src/runtime/plugins/plugin-action-sidecar.ts +17 -13
- package/src/runtime/plugins/plugin-management-adapter.ts +1 -1
- package/src/runtime/plugins/resend-adapter.ts +15 -24
- package/src/runtime/plugins/store.ts +1003 -387
- package/src/runtime/plugins/types.ts +28 -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 +102 -430
- package/src/runtime/projections/controller-context.ts +12 -6
- package/src/runtime/projections/git-status-sampler.ts +73 -22
- package/src/runtime/projections/invalidation.ts +7 -3
- package/src/runtime/projections/materialized-view.ts +93 -43
- package/src/runtime/recovery/actions.ts +3 -3
- package/src/runtime/recovery/capability-action-application.ts +229 -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 +701 -168
- package/src/runtime/recovery/quarantine-retention.ts +256 -0
- package/src/runtime/recovery/store.ts +29 -11
- package/src/runtime/release/identity.ts +6 -0
- package/src/runtime/release/release-coordinator.ts +296 -0
- package/src/runtime/release/release-session.ts +716 -0
- package/src/runtime/release/release-state-migration.ts +25 -0
- package/src/runtime/resources/leases/store.ts +56 -25
- 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 +376 -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-progression-composition.ts +192 -0
- package/src/runtime/root/controller-round-composition.ts +126 -0
- package/src/runtime/root/controller-services.ts +2 -0
- package/src/runtime/root/deployment-topology.ts +106 -0
- package/src/runtime/root/entry.ts +8 -6
- package/src/runtime/root/gateway-adapter.ts +3 -3
- package/src/runtime/root/known-good-recovery.ts +184 -0
- package/src/runtime/root/local-bridge.ts +5 -3
- package/src/runtime/root/mcp-transport.ts +116 -23
- package/src/runtime/root/ownership.ts +261 -9
- package/src/runtime/root/package-connector-service.ts +212 -74
- package/src/runtime/root/package-runtime-release.ts +199 -33
- package/src/runtime/root/package-runtime-service.ts +77 -108
- package/src/runtime/root/release-execution-canary.ts +103 -0
- package/src/runtime/root/release-loader.ts +150 -0
- package/src/runtime/root/release-manifest.ts +185 -7
- package/src/runtime/root/release-materialize.ts +474 -31
- package/src/runtime/root/release-store.ts +425 -37
- package/src/runtime/root/runtime-lane.ts +191 -0
- package/src/runtime/root/runtime.ts +379 -32
- package/src/runtime/root/scheduled-controller-composition.ts +76 -0
- package/src/runtime/root/scheduler.ts +12 -4
- package/src/runtime/root/service-runner.ts +3 -3
- package/src/runtime/root/service.ts +73 -45
- package/src/runtime/root/status.ts +49 -0
- package/src/runtime/root/types.ts +55 -3
- package/src/runtime/root/workflow-supervisor-composition.ts +493 -0
- package/src/runtime/root/workflow-supervisor-runtime.ts +209 -0
- package/src/runtime/root/write-fence.ts +50 -2
- package/src/runtime/safe-tooling/google-credential-store.ts +76 -21
- package/src/runtime/safe-tooling/google-oauth-broker.ts +25 -7
- package/src/runtime/safe-tooling/workspace-auth.ts +1 -1
- package/src/runtime/shared/bounded-child-supervisor.ts +9 -1
- package/src/runtime/shared/local-bridge-surface.ts +1 -1
- package/src/runtime/shared/process-environment.ts +36 -10
- package/src/runtime/shared/response-budget.ts +1 -3
- package/src/runtime/shared/storage-capacity.ts +68 -0
- package/src/runtime/standalone-recovery/controller-home-migration.ts +1108 -0
- package/src/runtime/standalone-recovery/core.ts +4609 -495
- package/src/runtime/standalone-recovery/entry.ts +642 -81
- package/src/runtime/standalone-recovery/independent-host-rescue.ts +172 -0
- package/src/runtime/standalone-recovery/installer.ts +399 -177
- package/src/runtime/standalone-recovery/mcp-server.ts +79 -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 +173 -0
- package/src/runtime/standalone-recovery/release.ts +58 -5
- package/src/runtime/standalone-recovery/service-labels.ts +5 -2
- package/src/runtime/standalone-recovery/watchdog-heartbeat.ts +5 -2
- package/src/runtime/watchdog/workflow-watchdog.ts +1 -1
- package/src/runtime/workflow/schedules/browser-probe.ts +17 -6
- package/src/runtime/workflow/schedules/chatgpt-automation-migration.ts +11 -4
- package/src/runtime/workflow/schedules/engine.ts +298 -484
- 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 +220 -16
- package/src/runtime/workflows/first-party/xiaohongshu.ts +122 -0
- package/src/runtime/workflows/runtime.ts +482 -0
- package/src/testing/test-governance.ts +95 -30
- package/supervisor/chatgpt-conversation.ts +23 -0
- package/supervisor/client.ts +201 -0
- package/supervisor/control-plane.ts +868 -0
- package/supervisor/entry.ts +15 -0
- package/supervisor/forge-validators.ts +80 -0
- package/supervisor/index.ts +5 -0
- package/supervisor/native-browser-adapter.ts +786 -0
- package/supervisor/native-messaging/host.ts +39 -0
- package/supervisor/native-messaging/manifest.ts +26 -0
- package/supervisor/native-messaging/protocol.ts +27 -0
- package/supervisor/paths.ts +18 -0
- package/supervisor/protocol.ts +202 -0
- package/supervisor/server.ts +404 -0
- package/supervisor/store.ts +1451 -0
- package/supervisor/tsconfig.json +8 -0
- package/supervisor/types.ts +255 -0
- 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/benchmark-background-check-overlap.ts +0 -228
- package/scripts/benchmark-controller-hotpath.ts +0 -212
- package/scripts/benchmark-controller-round2.ts +0 -139
- package/scripts/benchmark-ios-agent-device.ts +0 -514
- package/scripts/benchmark-mcp-host.sh +0 -117
- package/scripts/benchmark-mcp-transport.ts +0 -170
- package/scripts/benchmark-quality-harness.ts +0 -146
- package/scripts/benchmark-route-session-concurrency.ts +0 -915
- package/scripts/benchmark-thin-harness-gateway-ab.ts +0 -632
- package/scripts/benchmark-thin-harness-mcp-e2e.ts +0 -498
- package/scripts/benchmark-thin-harness.ts +0 -251
- package/scripts/benchmark-typescript-navigation.ts +0 -186
- package/scripts/benchmark-work-efficiency.ts +0 -334
- package/scripts/build-controller-ui.ts +0 -28
- package/scripts/check-npm-release.sh +0 -32
- package/scripts/check-public-release-surface.sh +0 -19
- package/scripts/check-release-published.sh +0 -57
- package/scripts/check-release-readiness.sh +0 -37
- package/scripts/check-release-version.mjs +0 -74
- package/scripts/check-tarball-install-smoke.sh +0 -67
- package/scripts/package-source-archive.sh +0 -147
- package/scripts/public-release-files.txt +0 -39
- package/scripts/public-release.ts +0 -174
- package/scripts/publish-release-tarball.sh +0 -27
- package/scripts/route-nl-vs-ts-eval.ts +0 -679
- package/scripts/run-skill-evals.ts +0 -1022
- package/scripts/stage-runtime-release.ts +0 -39
- package/src/cli/controller/progress.ts +0 -656
- package/src/cli/controller/work-mode.ts +0 -181
- package/src/cli/local-bridge/console-assets.ts +0 -17
- package/src/cli/local-bridge/dashboard.ts +0 -17
- package/src/cli/local-bridge/frontend/src/App.tsx +0 -10
- package/src/cli/local-bridge/frontend/src/components/Button.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/components/DetailPane.tsx +0 -3
- package/src/cli/local-bridge/frontend/src/components/SearchField.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/components/SectionHeader.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/components/Segmented.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/components/StatusText.tsx +0 -3
- package/src/cli/local-bridge/frontend/src/design/icons.tsx +0 -11
- package/src/cli/local-bridge/frontend/src/design/tokens.css +0 -8
- package/src/cli/local-bridge/frontend/src/features/automations/AutomationsView.tsx +0 -153
- package/src/cli/local-bridge/frontend/src/features/capabilities/CapabilitiesView.tsx +0 -37
- package/src/cli/local-bridge/frontend/src/features/overview/OverviewView.tsx +0 -183
- package/src/cli/local-bridge/frontend/src/features/repositories/RepositoriesView.tsx +0 -2
- package/src/cli/local-bridge/frontend/src/features/system/SystemView.tsx +0 -2
- package/src/cli/local-bridge/frontend/src/features/work/WorkView.tsx +0 -4
- package/src/cli/local-bridge/frontend/src/lib/api.ts +0 -30
- package/src/cli/local-bridge/frontend/src/lib/format.ts +0 -4
- package/src/cli/local-bridge/frontend/src/lib/routes.ts +0 -7
- package/src/cli/local-bridge/frontend/src/main.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/shell/AppShell.tsx +0 -1
- package/src/cli/local-bridge/frontend/src/shell/CommandBar.tsx +0 -2
- package/src/cli/local-bridge/frontend/src/shell/Sidebar.tsx +0 -4
- package/src/cli/local-bridge/frontend/src/styles.css +0 -28
- package/src/cli/local-bridge/frontend/src/types.ts +0 -15
- package/src/cli/local-bridge/frontend/src/vite-env.d.ts +0 -1
- package/src/cli/local-bridge/frontend/vite.config.ts +0 -27
- package/src/cli/local-bridge/ui-dist/app.css +0 -1
- package/src/cli/local-bridge/ui-dist/app.js +0 -11228
- package/src/runtime/control-plane/execution/direct-edit-work-completion.ts +0 -385
- package/src/runtime/control-plane/execution/work-finalization-service.ts +0 -1913
- package/src/runtime/control-plane/execution/work-path-scope.ts +0 -37
- package/src/runtime/control-plane/execution/work-task-receipt.ts +0 -449
- package/src/runtime/control-plane/facade/controller-round-relay.ts +0 -1118
- package/src/runtime/control-plane/facade/work-admission-policy.ts +0 -93
- package/src/runtime/control-plane/facade/work-task-projection.ts +0 -66
- package/src/runtime/control-plane/routing/index.ts +0 -1
- package/src/runtime/control-plane/routing/route-policy.ts +0 -382
- package/src/runtime/control-plane/routing/workspace-admission.ts +0 -70
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
#!/bin/bash
|
|
2
2
|
# Prompt Guard Hook — UserPromptSubmit
|
|
3
|
-
# Shell layer:
|
|
4
|
-
#
|
|
3
|
+
# Shell layer: compatibility reads for legacy plan/contract/worktree state plus
|
|
4
|
+
# host-safe rendering. Modern controller-home repositories never create or use
|
|
5
|
+
# repo-local Plan/Work files as authority. All prompt-text intent classification
|
|
5
6
|
# lives in the TypeScript engine behind `prompt-guard-decide`, which receives
|
|
6
7
|
# {"prompt": ...} on stdin plus PROMPT_GUARD_*_STATE env vars and returns a
|
|
7
8
|
# single-line verdict JSON (action + intent facts + derived strings).
|
|
@@ -392,6 +393,15 @@ pg_fact() {
|
|
|
392
393
|
[[ "${!var:-0}" == "1" ]]
|
|
393
394
|
}
|
|
394
395
|
|
|
396
|
+
modern_controller_home_runtime() {
|
|
397
|
+
[[ -f "forge.config.json" ]] || return 1
|
|
398
|
+
if command -v jq >/dev/null 2>&1; then
|
|
399
|
+
[[ "$(jq -r '.runtimeState // empty' forge.config.json 2>/dev/null || true)" == "controller-home" ]]
|
|
400
|
+
return
|
|
401
|
+
fi
|
|
402
|
+
grep -Eq '"runtimeState"[[:space:]]*:[[:space:]]*"controller-home"' forge.config.json 2>/dev/null
|
|
403
|
+
}
|
|
404
|
+
|
|
395
405
|
# --- Side effects and hints (driven by engine facts) ---
|
|
396
406
|
|
|
397
407
|
emit_pending_orchestration_discussion() {
|
|
@@ -603,38 +613,26 @@ run_codegraph_init_command() {
|
|
|
603
613
|
return "$status"
|
|
604
614
|
}
|
|
605
615
|
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
[[ -f ".codegraph/codegraph.db" ]] && return 0
|
|
610
|
-
|
|
611
|
-
output="$(run_codegraph_init_command 2>&1)"
|
|
612
|
-
status=$?
|
|
613
|
-
|
|
614
|
-
if [[ "$status" -eq 0 && -f ".codegraph/codegraph.db" ]]; then
|
|
615
|
-
echo "[CodegraphRoute] Initialized missing CodeGraph index before routing hint."
|
|
616
|
-
elif [[ "$status" -ne 127 ]]; then
|
|
617
|
-
echo "[CodegraphRoute] CodeGraph index init skipped or failed; run codegraph init -i . if structural tools are unavailable."
|
|
616
|
+
emit_codegraph_route_hint() {
|
|
617
|
+
if pg_fact CODEGRAPH_ROUTE || pg_fact NONTRIVIAL_CODE_TASK; then
|
|
618
|
+
echo "[CodegraphRoute] Structural code-navigation intent detected. Prefer Forge rh_context/semantic navigation or an already-configured structural provider; do not initialize repo-local .codegraph state from a prompt hook."
|
|
618
619
|
fi
|
|
619
620
|
}
|
|
620
621
|
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
mkdir -p .claude
|
|
625
|
-
session_key="$(session_state_resolve_key "$session_file" "${1:-}")"
|
|
622
|
+
modern_controller_home_workflow() {
|
|
623
|
+
[[ -f "forge.config.json" ]]
|
|
624
|
+
}
|
|
626
625
|
|
|
627
|
-
|
|
628
|
-
|
|
626
|
+
emit_modern_controller_home_guidance() {
|
|
627
|
+
if pg_fact THINK_PLAN_START || pg_fact PLAN_START; then
|
|
628
|
+
echo "[ForgeRoute] Planning intent detected. Keep repo files for authored product/architecture content only; use Forge Plan/Work authority when durable execution state is needed."
|
|
629
|
+
echo "[ArchitectureCompleteness] For high-risk or architecture-changing work, Context Closure + Engineering Design receipts are correctness gates; prompt guidance is advisory only."
|
|
629
630
|
fi
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
elif pg_fact NONTRIVIAL_CODE_TASK; then
|
|
636
|
-
echo "[CodegraphRoute] Structural code-navigation intent detected. Prefer CodeGraph context/search/callers/impact before grep/read when available."
|
|
637
|
-
session_state_mark_codegraph_nudged "$session_key" || true
|
|
631
|
+
if pg_fact IMPLEMENT; then
|
|
632
|
+
echo "[ArchitectureCompleteness] Implementation intent detected. Preserve the approved authority/lifecycle/authorization/resource/replay/retention contract; Forge admission and implementation review own enforcement."
|
|
633
|
+
fi
|
|
634
|
+
if pg_fact DONE; then
|
|
635
|
+
echo "[Review] Completion intent detected. Use current Forge verification/review evidence; do not materialize repo-local task/check/session closeout state."
|
|
638
636
|
fi
|
|
639
637
|
}
|
|
640
638
|
|
|
@@ -834,6 +832,18 @@ PROMPT_INTENT_TEXT="$(prompt_intent_text)"
|
|
|
834
832
|
prompt_guard_refresh_state
|
|
835
833
|
prompt_guard_engine_call
|
|
836
834
|
|
|
835
|
+
# Kernel V2 cutover: forge.config.json selects the Controller Home workflow.
|
|
836
|
+
# Prompt hooks are advisory only in this mode and MUST NOT materialize repo-local
|
|
837
|
+
# Plan/Work/check/session/cache state. Legacy .ai/harness projects continue below
|
|
838
|
+
# only so they can be migrated without breaking their existing workflow.
|
|
839
|
+
if modern_controller_home_workflow; then
|
|
840
|
+
emit_agentic_packaging_hint
|
|
841
|
+
emit_forge_route_hint
|
|
842
|
+
emit_codegraph_route_hint
|
|
843
|
+
emit_modern_controller_home_guidance
|
|
844
|
+
exit 0
|
|
845
|
+
fi
|
|
846
|
+
|
|
837
847
|
if [[ "$PG_ENGINE_STATE" != "ok" ]]; then
|
|
838
848
|
if [[ "$PG_ENGINE_STATE" == "legacy" ]]; then
|
|
839
849
|
echo "[PromptGuard] Advisory: the installed forge CLI predates the prompt-verdict protocol; prompt intent gates are degraded to advisory for this prompt."
|
|
@@ -858,6 +868,22 @@ pg_fact DONE && done_intent=1
|
|
|
858
868
|
plan_start_intent=0
|
|
859
869
|
pg_fact PLAN_START && plan_start_intent=1
|
|
860
870
|
|
|
871
|
+
if modern_controller_home_runtime; then
|
|
872
|
+
if [ "$plan_start_intent" -eq 1 ]; then
|
|
873
|
+
echo "[PlanStartGate] Planning intent detected. Durable decomposition belongs to Forge Controller Plan/Work; no repo-local Draft plan or pending marker will be created."
|
|
874
|
+
fi
|
|
875
|
+
if [ "$implement_intent" -eq 1 ] && [ "$PG_ACTION" = "spec_block" ]; then
|
|
876
|
+
echo "[SpecGuard] Advisory: docs/spec.md is missing. Create or update authored product truth before implementation when the change needs a durable specification."
|
|
877
|
+
fi
|
|
878
|
+
if [ "$done_intent" -eq 1 ]; then
|
|
879
|
+
echo "[PlanStatusGuard] Controller Home owns completion authority; legacy active-plan/task-contract files are ignored for modern repositories."
|
|
880
|
+
fi
|
|
881
|
+
if [ "$implement_intent" -eq 0 ]; then
|
|
882
|
+
emit_workflow_file_guards
|
|
883
|
+
fi
|
|
884
|
+
exit 0
|
|
885
|
+
fi
|
|
886
|
+
|
|
861
887
|
plan_research_ready=1
|
|
862
888
|
if [ "$plan_start_intent" -eq 1 ]; then
|
|
863
889
|
if ! has_research_for_new_plan; then
|
|
@@ -944,9 +970,9 @@ if [ "$done_intent" -eq 1 ]; then
|
|
|
944
970
|
IFS=$'\t' read -r total_tasks done_tasks next_task <<< "$task_state"
|
|
945
971
|
remaining_tasks=$(( ${total_tasks:-0} - ${done_tasks:-0} ))
|
|
946
972
|
if [ "${remaining_tasks:-0}" -gt 0 ]; then
|
|
947
|
-
echo "[
|
|
973
|
+
echo "[WorkflowCloseoutGuard] Done intent detected but active plan still has $remaining_tasks unchecked item(s). Refusing workflow closeout."
|
|
948
974
|
hook_structured_error \
|
|
949
|
-
"
|
|
975
|
+
"WorkflowCloseoutGuard" \
|
|
950
976
|
"Done intent with $remaining_tasks unchecked active-plan task(s)." \
|
|
951
977
|
"Finish the remaining Task Breakdown item: ${next_task:-see $active_plan}." \
|
|
952
978
|
"state_violation"
|
|
@@ -968,22 +994,22 @@ if [ "$done_intent" -eq 1 ]; then
|
|
|
968
994
|
fi
|
|
969
995
|
|
|
970
996
|
if [ ! -x scripts/archive-workflow.sh ]; then
|
|
971
|
-
echo "[
|
|
997
|
+
echo "[WorkflowCloseout] scripts/archive-workflow.sh compatibility helper is missing or not executable. Skipping closeout."
|
|
972
998
|
hook_structured_error \
|
|
973
|
-
"
|
|
999
|
+
"WorkflowCloseout" \
|
|
974
1000
|
"scripts/archive-workflow.sh is missing or not executable." \
|
|
975
|
-
"Install the workflow helper before relying on
|
|
1001
|
+
"Install the workflow closeout helper before relying on automatic terminal cleanup." \
|
|
976
1002
|
"missing_artifact"
|
|
977
1003
|
exit 1
|
|
978
1004
|
fi
|
|
979
1005
|
|
|
980
1006
|
outcome="${PG_DONE_OUTCOME:-Completed}"
|
|
981
|
-
echo "[
|
|
1007
|
+
echo "[WorkflowCloseout] All quality gates passed. Closing $active_plan as outcome=$outcome"
|
|
982
1008
|
if ! archive_output="$(bash scripts/archive-workflow.sh --plan "$active_plan" --outcome "$outcome" 2>&1)"; then
|
|
983
1009
|
printf '%s\n' "$archive_output"
|
|
984
1010
|
hook_structured_error \
|
|
985
|
-
"
|
|
986
|
-
"Automatic
|
|
1011
|
+
"WorkflowCloseout" \
|
|
1012
|
+
"Automatic workflow closeout failed for $active_plan." \
|
|
987
1013
|
"Run bash scripts/archive-workflow.sh --plan $active_plan --outcome $outcome and resolve the error." \
|
|
988
1014
|
"contract_failure"
|
|
989
1015
|
exit 1
|
|
@@ -6,7 +6,8 @@ set -euo pipefail
|
|
|
6
6
|
# SessionStart context reminder if forge security scan finds anything.
|
|
7
7
|
|
|
8
8
|
REPO_ROOT="${HOOK_REPO_ROOT:-$(git rev-parse --show-toplevel 2>/dev/null || pwd)}"
|
|
9
|
-
|
|
9
|
+
HOOK_STATE_ROOT="${FORGE_HOOK_STATE_ROOT:-$REPO_ROOT/.ai/harness}"
|
|
10
|
+
SECURITY_DIR="${HOOK_STATE_ROOT%/}/security"
|
|
10
11
|
STATE_FILE="$SECURITY_DIR/state.sha256"
|
|
11
12
|
LATEST_FILE="$SECURITY_DIR/latest.json"
|
|
12
13
|
|
|
@@ -9,9 +9,10 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
9
9
|
# shellcheck source=/dev/null
|
|
10
10
|
. "$SCRIPT_DIR/lib/workflow-state.sh"
|
|
11
11
|
|
|
12
|
-
# Cold-path housekeeping:
|
|
12
|
+
# Cold-path housekeeping: machine event logs grow unbounded otherwise. Both
|
|
13
|
+
# paths resolve below Controller Home hook-state for modern forge-hook runs.
|
|
13
14
|
workflow_rotate_events_file "$(workflow_events_file)" 2>/dev/null || true
|
|
14
|
-
workflow_rotate_events_file ".ai/harness/architecture/events.jsonl" 2>/dev/null || true
|
|
15
|
+
workflow_rotate_events_file "$(workflow_machine_state_path '.ai/harness/architecture/events.jsonl' '.ai/harness/architecture/events.jsonl')" 2>/dev/null || true
|
|
15
16
|
|
|
16
17
|
resume_file="$(workflow_resume_packet_file)"
|
|
17
18
|
|
|
@@ -209,11 +210,11 @@ render_tooling_update_context_once() {
|
|
|
209
210
|
tooling_update_advisory_context() {
|
|
210
211
|
local target state_dir report_file marker_file lock_dir tmp_report
|
|
211
212
|
|
|
212
|
-
[[ -f ".ai/harness/workflow-contract.json" ]] || return 1
|
|
213
|
+
[[ -f "forge.config.json" || -f ".ai/harness/workflow-contract.json" ]] || return 1
|
|
213
214
|
[[ "${FORGE_TOOLING_ADVISORY:-1}" != "0" ]] || return 1
|
|
214
215
|
|
|
215
216
|
target="$(tooling_update_target)"
|
|
216
|
-
state_dir=".ai/harness/security"
|
|
217
|
+
state_dir="$(workflow_machine_state_path '.ai/harness/security' '.ai/harness/security')"
|
|
217
218
|
report_file="$state_dir/tooling-update-advisory-${target}.json"
|
|
218
219
|
marker_file="$state_dir/tooling-update-advisory-${target}.rendered"
|
|
219
220
|
lock_dir="$state_dir/tooling-update-advisory-${target}.lock"
|
|
@@ -269,7 +270,8 @@ continuation_section_has_signal() {
|
|
|
269
270
|
}
|
|
270
271
|
|
|
271
272
|
capability_context_pending() {
|
|
272
|
-
local queue_file
|
|
273
|
+
local queue_file
|
|
274
|
+
queue_file="$(workflow_machine_state_path '.ai/harness/capability-context/requests.jsonl' '.ai/harness/capability-context/requests.jsonl')"
|
|
273
275
|
local pending_lines=""
|
|
274
276
|
local pending_count="0"
|
|
275
277
|
|
|
@@ -12,10 +12,9 @@ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
12
12
|
. "$SCRIPT_DIR/lib/workflow-state.sh"
|
|
13
13
|
|
|
14
14
|
plan_completeness_state_file() {
|
|
15
|
-
|
|
15
|
+
workflow_machine_state_path \
|
|
16
16
|
"$(workflow_policy_get '.planning.completeness_state_file' '.ai/harness/planning/plan-completeness.json')" \
|
|
17
|
-
'.ai/harness/planning/plan-completeness.json'
|
|
18
|
-
'.ai/harness/'
|
|
17
|
+
'.ai/harness/planning/plan-completeness.json'
|
|
19
18
|
}
|
|
20
19
|
|
|
21
20
|
plan_completeness_signature() {
|
|
@@ -155,6 +154,17 @@ should_run_plan_completeness_gate() {
|
|
|
155
154
|
|
|
156
155
|
refresh_handoff
|
|
157
156
|
|
|
157
|
+
# Modern V2 delegates semantic Plan/Work completion to Controller Home. Keep the
|
|
158
|
+
# rebuildable session continuation above, but never revive repo-local pending
|
|
159
|
+
# orchestration or PlanCompleteness as a second completion authority.
|
|
160
|
+
if [[ -f "forge.config.json" ]]; then
|
|
161
|
+
if command -v jq >/dev/null 2>&1; then
|
|
162
|
+
[[ "$(jq -r '.runtimeState // empty' forge.config.json 2>/dev/null || true)" != "controller-home" ]] || exit 0
|
|
163
|
+
elif grep -Eq '"runtimeState"[[:space:]]*:[[:space:]]*"controller-home"' forge.config.json 2>/dev/null; then
|
|
164
|
+
exit 0
|
|
165
|
+
fi
|
|
166
|
+
fi
|
|
167
|
+
|
|
158
168
|
stop_hook_active="$(hook_json_get '.stop_hook_active' 'false')"
|
|
159
169
|
last_assistant_message="$(hook_json_get '.last_assistant_message' '')"
|
|
160
170
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"version": "initializer-question-pack.v4",
|
|
4
|
-
"goal": "Infer strong harness defaults first, then confirm only
|
|
4
|
+
"goal": "Infer strong harness defaults first, then confirm only decisions that materially change authored repository structure or Controller-owned workflow behavior.",
|
|
5
5
|
"decisionPoints": [
|
|
6
6
|
{
|
|
7
7
|
"id": "project_identity",
|
|
@@ -185,7 +185,7 @@
|
|
|
185
185
|
"evaluationProfile": "browser-qa",
|
|
186
186
|
"handoffProfile": "artifact-aware",
|
|
187
187
|
"recoveryProfile": "hybrid",
|
|
188
|
-
"stateProfile": "
|
|
188
|
+
"stateProfile": "controller-home",
|
|
189
189
|
"contextProfile": "stable-root-progressive-subdir",
|
|
190
190
|
"documentationProfile": "minimal-agentic",
|
|
191
191
|
"aiNativeProfile": "none",
|
|
@@ -211,7 +211,7 @@
|
|
|
211
211
|
"orchestrationProfiles": {
|
|
212
212
|
"shared-long-running-harness": {
|
|
213
213
|
"label": "Shared long-running harness",
|
|
214
|
-
"description": "Default
|
|
214
|
+
"description": "Default Controller-guided planning -> implementation -> verification loop with durable Runtime authority in Controller Home and authored repository evidence only."
|
|
215
215
|
},
|
|
216
216
|
"lightweight-collaboration": {
|
|
217
217
|
"label": "Lightweight collaboration",
|
|
@@ -253,13 +253,17 @@
|
|
|
253
253
|
}
|
|
254
254
|
},
|
|
255
255
|
"stateProfiles": {
|
|
256
|
-
"
|
|
257
|
-
"label": "
|
|
258
|
-
"description": "Persist execution, verification,
|
|
256
|
+
"controller-home": {
|
|
257
|
+
"label": "Controller Home",
|
|
258
|
+
"description": "Persist mutable execution, verification, authorization, handoff, and lifecycle state under the Forge Controller Home; keep the repository limited to authored/declarative content."
|
|
259
259
|
},
|
|
260
260
|
"context-light": {
|
|
261
261
|
"label": "Context-light",
|
|
262
|
-
"description": "Use
|
|
262
|
+
"description": "Use Controller Home only when durable continuity is required; keep bounded direct work ephemeral."
|
|
263
|
+
},
|
|
264
|
+
"file-backed": {
|
|
265
|
+
"label": "Legacy file-backed (migration only)",
|
|
266
|
+
"description": "Compatibility input for older adopted repositories. Do not select for new projects or create new repo-local Runtime state."
|
|
263
267
|
}
|
|
264
268
|
},
|
|
265
269
|
"contextProfiles": {
|
|
@@ -1,79 +1,24 @@
|
|
|
1
|
-
###
|
|
2
|
-
|
|
3
|
-
Use `docs/researches/` for deep codebase understanding, `docs/spec.md` for stable intent, `plans/` for timestamped execution plans, and `tasks/todos.md` for deferred medium/long-term goals with tradeoffs and revisit triggers.
|
|
1
|
+
### Forge Workflow Protocol
|
|
4
2
|
|
|
5
3
|
```yaml
|
|
6
|
-
|
|
7
|
-
MODE: {{RUNTIME_PROFILE}}
|
|
8
|
-
RECOVERY: {{RECOVERY_PROFILE}}
|
|
4
|
+
FORGE_WORKFLOW:
|
|
9
5
|
STATE: {{STATE_PROFILE}}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
DEFERRED_LEDGER: tasks/todos.md
|
|
19
|
-
TODO_ARCHIVE: tasks/archive/
|
|
20
|
-
CONTRACT_DIR: tasks/contracts/
|
|
21
|
-
REVIEW_DIR: tasks/reviews/
|
|
22
|
-
NOTES_DIR: tasks/notes/
|
|
23
|
-
POLICY_FILE: .ai/harness/policy.json
|
|
24
|
-
CHECKS_FILE: .ai/harness/checks/latest.json
|
|
25
|
-
HANDOFF_FILE: .ai/harness/session/continuation.md
|
|
26
|
-
EVENTS_FILE: .ai/harness/events.jsonl
|
|
27
|
-
RUNS_DIR: .ai/harness/runs/
|
|
28
|
-
LESSONS_FILE: tasks/lessons.md
|
|
29
|
-
CONTEXT_MAP: .ai/context/context-map.json
|
|
30
|
-
ANNOTATION_GUARD: do not implement until plan Status is "Approved"
|
|
31
|
-
CONTRACT_GUARD: do not mark done until contract exit criteria pass; then perform a fresh semantic impact review
|
|
32
|
-
EXECUTION_CONTEXT: contract-level work starts in a linked codex/<slug> worktree when policy enables it; primary worktree warning by default; enforce via .claude/.require-worktree
|
|
33
|
-
CONTRACT_WORKTREE_FINISH: run Forge /review, fill the review artifact from that verdict, then .ai/harness/scripts/contract-worktree.sh finish
|
|
34
|
-
COMMIT_POLICY: explicit commits after green checks; no automatic checkpoint hook
|
|
6
|
+
PHASES: understand -> design -> execute -> verify -> review -> terminalize
|
|
7
|
+
REPO_AUTHORED:
|
|
8
|
+
- docs/spec.md
|
|
9
|
+
- docs/researches/
|
|
10
|
+
- tasks/todos.md
|
|
11
|
+
- tasks/lessons.md
|
|
12
|
+
- forge.config.json
|
|
13
|
+
RUNTIME_AUTHORITY: Controller Home
|
|
35
14
|
```
|
|
36
15
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
- Product discovery, early demand shaping, or "is this worth building" -> gstack `office-hours`.
|
|
40
|
-
- Complex engineering plans, architecture lock-in, or cross-module refactors -> gstack `plan-eng-review`.
|
|
41
|
-
- UI/UX or design-system plans -> gstack `plan-design-review`.
|
|
42
|
-
- Small or medium feature plans -> Forge `/plan`.
|
|
43
|
-
- Bugs, regressions, crashes, errors, or failing tests -> Forge `/debug`.
|
|
44
|
-
- Implemented diffs, pre-merge checks, or release follow-through -> Forge `/review`.
|
|
45
|
-
- Architecture diagrams or system-flow diagrams -> Markdown Mermaid first, `mermaid` for optional human HTML.
|
|
46
|
-
- Use P1/P2/P3 as the shared due-diligence protocol; report it explicitly for `plan-eng-review`, `/hunt`, risky refactors, deployments, auth/payment/data work, and shared contracts.
|
|
47
|
-
- Hooks may emit advisory Forge `/review` and `/health` route hints, but must not auto-run skills or vendor skill bodies.
|
|
48
|
-
|
|
49
|
-
### Task Management Protocol
|
|
50
|
-
|
|
51
|
-
Core rules (canonical source: see Workflow Orchestration section below):
|
|
52
|
-
- `docs/spec.md` is product truth; `plans/` is execution truth.
|
|
53
|
-
- `tasks/contracts/`, `tasks/reviews/`, and `tasks/notes/` are done gates; hooks are accelerators only.
|
|
54
|
-
- Treat `.ai/harness/active-plan` as authoritative only for its owning worktree; `.ai/harness/active-worktree` records that owner; `.claude/.active-plan` is a legacy fallback during transition.
|
|
55
|
-
- Require plan/contract workflow inventory before implementation: active plan, owning worktree, contract, review, notes, deferred ledger, checks, runs, scope owner, switching rule, and worktree path.
|
|
56
|
-
- Mark done only with verification evidence.
|
|
57
|
-
- Durable progress lives in `tasks/workstreams/`; release history belongs in `docs/CHANGELOG.md`.
|
|
58
|
-
|
|
59
|
-
### Harness References
|
|
60
|
-
|
|
61
|
-
- `docs/reference-configs/harness-overview.md`
|
|
62
|
-
- `docs/reference-configs/sprint-contracts.md`
|
|
63
|
-
- `docs/reference-configs/evaluator-rubric.md`
|
|
64
|
-
- `docs/reference-configs/handoff-protocol.md`
|
|
65
|
-
- `docs/reference-configs/changelog-versioning.md`
|
|
66
|
-
- `docs/reference-configs/git-strategy.md`
|
|
67
|
-
- `docs/reference-configs/release-deploy.md`
|
|
68
|
-
- `docs/reference-configs/agentic-development-flow.md`
|
|
69
|
-
- `docs/reference-configs/external-tooling.md`
|
|
70
|
-
|
|
71
|
-
{{#IF FACTOR_FACTORY_ENABLED}}
|
|
72
|
-
### Factor Research Protocol
|
|
16
|
+
Rules:
|
|
73
17
|
|
|
74
|
-
-
|
|
75
|
-
- Use
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
18
|
+
- Prompt/agent files explain intent; they are not execution, authorization, lifecycle, or completion authority.
|
|
19
|
+
- Use direct execution for bounded understood work. Create durable Requirement/Plan/Work only when decomposition, continuity, isolation, scheduling, recovery, or external effects justify it.
|
|
20
|
+
- Before high-risk or architecture-changing mutation, close the cross-cutting Engineering Design contract instead of reviewing only the touched module.
|
|
21
|
+
- A successor Plan must explicitly reconcile every unfinished predecessor obligation as KEEP/CHANGE/DEFER/DROP.
|
|
22
|
+
- Mutable checks, sessions, leases, Work/Plan state, Plugin config, run receipts, and caches belong to Controller Home, never new repo-local `.ai/harness` or generated `tasks/*` lifecycle files.
|
|
23
|
+
- Human-authored research, stable product intent, deferred goals, lessons, and intentionally maintained planning documents may remain in Git.
|
|
24
|
+
- Completion requires exact verification/review evidence and terminal cleanup; no prompt text or generated status Markdown may declare semantic success.
|
|
@@ -18,7 +18,7 @@ CLAUDE.md is a routing card. Keep context minimal and load only what the current
|
|
|
18
18
|
| Evaluator verdict | `tasks/reviews/<plan-stem>.review.md` |
|
|
19
19
|
| Implementation notes | `tasks/notes/<plan-stem>.notes.md` |
|
|
20
20
|
| Latest verification evidence | `.ai/harness/checks/latest.json` |
|
|
21
|
-
| Historical implementation context |
|
|
21
|
+
| Historical implementation context | Git history and durable Control Plane Plan/Work/Verification evidence |
|
|
22
22
|
| Agentic skill routing | `docs/reference-configs/agentic-development-flow.md` |
|
|
23
23
|
| Harness runtime model | `docs/reference-configs/harness-overview.md` |
|
|
24
24
|
| Sprint contract rules | `docs/reference-configs/sprint-contracts.md` |
|
|
@@ -23,8 +23,7 @@
|
|
|
23
23
|
- Lessons contract: `tasks/lessons.md`.
|
|
24
24
|
- Plan directory: `plans/` (timestamped plans).
|
|
25
25
|
- Active plan rule: `.ai/harness/active-plan` for this worktree when present, `.ai/harness/active-worktree` as owner marker, and `.claude/.active-plan` legacy fallback during transition. Do not infer active execution from the latest plan.
|
|
26
|
-
-
|
|
27
|
-
- Todo archive: `tasks/archive/`.
|
|
26
|
+
- Terminal repo-local workflow artifacts are deleted only after their exact final state is represented by Git; do not maintain plan/todo archive directories.
|
|
28
27
|
- Shared automation layer: `.ai/hooks/`.
|
|
29
28
|
- Host adapters: user-level `~/.claude/settings.json` and `~/.codex/hooks.json` call `forge-hook`, falling back to `forge hook`, which dispatches into opted-in repos.
|
|
30
29
|
- External reference cache: `_ref/` is an occasional ignored external checkout cache, read/refresh-only comparison material, and must stay out of commits; decisions based on it must cite repo+commit/tag+path in notes or research.
|
|
@@ -1,69 +1,24 @@
|
|
|
1
|
-
##
|
|
1
|
+
## Work Management Protocol
|
|
2
2
|
|
|
3
3
|
```yaml
|
|
4
|
-
|
|
4
|
+
AUTHORED_REPO_SOURCES:
|
|
5
5
|
- docs/spec.md
|
|
6
6
|
- docs/researches/
|
|
7
7
|
- tasks/todos.md
|
|
8
|
-
- tasks/contracts/
|
|
9
|
-
- tasks/reviews/
|
|
10
|
-
- tasks/notes/
|
|
11
8
|
- tasks/lessons.md
|
|
12
|
-
- .
|
|
13
|
-
- .ai/harness/session/continuation.md
|
|
14
|
-
- plans/
|
|
9
|
+
- forge.config.json
|
|
15
10
|
|
|
16
|
-
|
|
11
|
+
DURABLE_RUNTIME_AUTHORITY:
|
|
12
|
+
- Controller Home Requirement / Plan / Work / ControllerRound
|
|
13
|
+
- Process / Schedule / resource claims / authorization / evidence / review
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
PLAN: plans/archive/
|
|
20
|
-
TODO: tasks/archive/
|
|
21
|
-
|
|
22
|
-
RULES:
|
|
23
|
-
- Treat repo-local artifact files as the primary cross-agent workflow contract
|
|
24
|
-
- For non-chat tasks, sync tasks/ whenever substantive work changes the repo
|
|
25
|
-
- Research first for unfamiliar areas and persist findings in docs/researches/
|
|
26
|
-
- Keep stable product intent in docs/spec.md
|
|
27
|
-
- Plan with trade-offs in plans/plan-{timestamp}-{slug}.md
|
|
28
|
-
- Treat .ai/harness/active-plan as authoritative only for this worktree; .ai/harness/active-worktree records the owner; .claude/.active-plan is a legacy fallback during transition
|
|
29
|
-
- Keep multiple active plans in parallel worktrees when tasks diverge; fill workflow inventory before implementation: active plan, owning worktree, contract, review, notes, deferred ledger, checks, runs, scope owner, switching rule, and worktree path
|
|
30
|
-
- Process annotation notes before implementing
|
|
31
|
-
- Project approved plans with .ai/harness/scripts/plan-to-todo.sh; the execution checklist stays in the plan ## Task Breakdown
|
|
32
|
-
- Define task contracts in tasks/contracts/{plan-stem}.contract.md
|
|
33
|
-
- Fill tasks/reviews/{plan-stem}.review.md from Forge /review after verification
|
|
34
|
-
- Record only non-obvious implementation decisions, deviations, tradeoffs, and open questions in tasks/notes/{plan-stem}.notes.md
|
|
35
|
-
- Verify contracts before claiming completion
|
|
36
|
-
- Require review pass before claiming completion
|
|
37
|
-
- Keep tasks/todos.md limited to deferred medium/long-term goals, with tradeoff and revisit trigger; do not duplicate plan Task Breakdown
|
|
38
|
-
- Record correction-derived prevention rules in tasks/lessons.md
|
|
39
|
-
- Distill repeated corrections into tasks/lessons.md instead of keeping them in tasks/todos.md
|
|
40
|
-
- Capture deep findings and hidden contracts in docs/researches/
|
|
41
|
-
- Keep sprint-level verification notes, behavior diffs, and residual risks in tasks/reviews/{plan-stem}.review.md
|
|
42
|
-
- Do not use implementation notes as durable memory or task logs; archive them on close and promote only after evidence shows the rule should outlive the sprint
|
|
43
|
-
- Promote implementation-ready follow-up work into a new plans/plan-{timestamp}-{slug}.md file; keep deferred goals in tasks/todos.md only when intentionally postponed
|
|
44
|
-
- Treat `.ai/hooks/` as the shared automation entrypoint when repo scripts reference hook-backed workflow checks
|
|
45
|
-
- Treat user-level `~/.claude/settings.json` and `~/.codex/hooks.json` as host adapters; do not add repo-local project hook adapters unless explicitly migrating legacy config
|
|
46
|
-
- For Codex sessions, treat `bash .ai/harness/scripts/check-task-sync.sh` and `bash .ai/harness/scripts/check-task-workflow.sh --strict` as required repo-local checks
|
|
47
|
-
- Before ending a session, refresh `.ai/harness/session/continuation.md` when the task state changed
|
|
48
|
-
- Update `tasks/workstreams/` only when durable capability progress changes
|
|
49
|
-
- Archive completed/abandoned plans and todos with metadata
|
|
50
|
-
{{#IF FACTOR_FACTORY_ENABLED}}
|
|
51
|
-
- Treat `tasks/factors/registry.json` as the source of truth for factor lifecycle state
|
|
52
|
-
- Create factor candidates with `bash .ai/harness/scripts/factor-lab-new.sh --name <slug>`
|
|
53
|
-
- Promote factors only after hypothesis and backtest summary artifacts exist
|
|
54
|
-
- Run `bash .ai/harness/scripts/factor-lab-check.sh` before claiming factor-lab work is complete
|
|
55
|
-
{{/IF}}
|
|
56
|
-
|
|
57
|
-
ACTIVE_PLAN:
|
|
58
|
-
- .ai/harness/active-plan selects the current active plan only for its owning worktree; .ai/harness/active-worktree records that owner; .claude/.active-plan is a legacy fallback during transition
|
|
59
|
-
|
|
60
|
-
STATUS:
|
|
61
|
-
ENUM: [Draft, Annotating, Approved, Executing, Archived]
|
|
62
|
-
LOCATION: "> **Status**: {value}" line in plan file (must be exact, no trailing whitespace)
|
|
63
|
-
TRANSITIONS:
|
|
64
|
-
- Draft -> Annotating -> Approved -> Executing -> Archived
|
|
65
|
-
- Annotating -> Draft (rollback when plan direction needs rethinking)
|
|
66
|
-
GUARD: do not implement when status is Draft or Annotating
|
|
15
|
+
PHASES: understand -> design -> implement -> verify -> review -> cleanup
|
|
67
16
|
```
|
|
68
17
|
|
|
69
|
-
|
|
18
|
+
Rules:
|
|
19
|
+
|
|
20
|
+
- Do not recreate `tasks/contracts`, `tasks/reviews`, `tasks/current.md`, `tasks/workstreams`, or `.ai/harness` as current machine authority. They are legacy migration inputs only.
|
|
21
|
+
- Plan is a late semantic commitment, not ceremony for every non-trivial edit.
|
|
22
|
+
- High-risk/cross-cutting work must have current Context Closure and Engineering Design evidence before mutation.
|
|
23
|
+
- Successor Plans cannot silently drop unresolved predecessor objectives, acceptance criteria, non-goals, decisions, stop conditions, or replan conditions.
|
|
24
|
+
- Work completion is bound to exact implementation review and verification evidence; a chat or Markdown status claim is never enough.
|
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
## Quality & Safety
|
|
2
2
|
|
|
3
3
|
### Verification Gate
|
|
4
|
-
- Never mark work done without verification
|
|
5
|
-
- Run impact-based checks
|
|
6
|
-
-
|
|
7
|
-
-
|
|
8
|
-
- Require the matching `tasks/reviews/<plan-stem>.review.md` to recommend pass before claiming completion.
|
|
9
|
-
- Require the matching `tasks/notes/<plan-stem>.notes.md` to capture material implementation decisions before review.
|
|
4
|
+
- Never mark work done without current verification evidence for the exact candidate.
|
|
5
|
+
- Run impact-based type/tests/lint/build checks through Forge Process Runtime.
|
|
6
|
+
- High-risk or architecture-changing work requires the current Engineering Design contract and independent implementation review evidence.
|
|
7
|
+
- If a Plan is involved, verify its declared acceptance criteria and predecessor-obligation continuity; do not infer semantic acceptance from passing commands alone.
|
|
10
8
|
|
|
11
9
|
### Safety Rules
|
|
12
|
-
- Do not silently expand scope beyond
|
|
13
|
-
-
|
|
14
|
-
-
|
|
10
|
+
- Do not silently expand scope beyond the user/Work/Plan authority.
|
|
11
|
+
- Preserve single-writer, authorization, resource fencing, replay/idempotency, and lifecycle cleanup boundaries.
|
|
12
|
+
- Unexpected unrelated dirty work is placement/ownership evidence: isolate or reconcile it rather than absorbing it.
|
|
13
|
+
- Prefer strengthening an existing general capability over adding incident-specific helpers or parallel lifecycle owners.
|
|
15
14
|
|
|
16
15
|
### Final Response Contract
|
|
17
|
-
1. What changed
|
|
18
|
-
2. Verification
|
|
19
|
-
3.
|
|
20
|
-
4. Known risks/gaps — bullet list with severity tag: `[HIGH]`, `[MEDIUM]`, `[LOW]`
|
|
21
|
-
5. Optional next steps — actionable items the next session or user should address
|
|
22
|
-
|
|
23
|
-
---
|
|
16
|
+
1. What changed
|
|
17
|
+
2. Verification actually run
|
|
18
|
+
3. Residual blockers/risks
|
|
@@ -15,8 +15,7 @@
|
|
|
15
15
|
- `.ai/harness/checks/latest.json`: structured verification evidence
|
|
16
16
|
- `.ai/harness/runs/`: immutable run snapshots for verification audit
|
|
17
17
|
- `.ai/context/context-map.json`: progressive context index for primary functional-block `CLAUDE.md` and `AGENTS.md` files
|
|
18
|
-
-
|
|
19
|
-
- `tasks/archive/`: archived todo snapshots
|
|
18
|
+
- Terminal plan/task history: Git history plus durable Control Plane evidence; do not create repository archive directories.
|
|
20
19
|
- `docs/reference-configs/agentic-development-flow.md`: gstack/Waza routing, P1/P2/P3 reporting triggers, and daily flow
|
|
21
20
|
- `docs/reference-configs/harness-overview.md`: orchestration playbook
|
|
22
21
|
- `docs/reference-configs/external-tooling.md`: gstack/Waza/gbrain routing, Codex-first Waza sync, and required CodeGraph readiness commands
|