@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
|
@@ -0,0 +1,534 @@
|
|
|
1
|
+
import type { ExecutionPlacement, ScopeRef } from '../../identity/api/index';
|
|
2
|
+
import type { ProcessCheckReceiptEvidence } from './check-receipt';
|
|
3
|
+
import type { WorkAccessMode } from './execution-snapshot';
|
|
4
|
+
import type { RepositoryCompletionReceipt } from './repository-completion-receipt';
|
|
5
|
+
import type { WorkImplementationReviewRecord } from './implementation-review';
|
|
6
|
+
import type { EngineeringContextReceipt } from './engineering-contracts';
|
|
7
|
+
|
|
8
|
+
export type FacadeDetailLevel = 'summary' | 'detail' | 'raw';
|
|
9
|
+
export interface EvidenceRef {
|
|
10
|
+
evidenceId?: string;
|
|
11
|
+
artifactId?: string;
|
|
12
|
+
title: string;
|
|
13
|
+
summary?: string;
|
|
14
|
+
detailLevel?: FacadeDetailLevel;
|
|
15
|
+
}
|
|
16
|
+
export interface WorkExecutionConcurrencyProjection {
|
|
17
|
+
schemaVersion: 1;
|
|
18
|
+
/** Projection only. Concrete Process/resource owners remain execution authority. */
|
|
19
|
+
status: 'waiting' | 'invalid';
|
|
20
|
+
source: 'work_compatibility' | 'resource_lease' | 'scheduler_capacity';
|
|
21
|
+
attemptId?: string;
|
|
22
|
+
blockerCode: string;
|
|
23
|
+
blockingWorkId?: string;
|
|
24
|
+
semanticScopeKeys: string[];
|
|
25
|
+
resourceKeys: string[];
|
|
26
|
+
/** Node-local resource authority scope used only to re-evaluate the wake condition. */
|
|
27
|
+
leaseRepoId?: string;
|
|
28
|
+
resourceIntents: Array<{ resourceKey: string; mode: 'read' | 'write' | 'exclusive' }>;
|
|
29
|
+
wakeTrigger:
|
|
30
|
+
| { kind: 'work_terminal'; workId: string }
|
|
31
|
+
| { kind: 'resource_release'; resourceKeys: string[] }
|
|
32
|
+
| { kind: 'scheduler_capacity'; capacityKey: string }
|
|
33
|
+
| { kind: 'work_contract_change'; workId: string };
|
|
34
|
+
recordedAt: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface SuggestedNextAction {
|
|
38
|
+
label: string;
|
|
39
|
+
tool: 'rh_access' | 'rh_status' | 'rh_inbox' | 'rh_context' | 'rh_work' | 'capability_execute';
|
|
40
|
+
operation: string;
|
|
41
|
+
payload?: Record<string, unknown>;
|
|
42
|
+
risk: 'readonly' | 'local_repo_write' | 'workspace_write' | 'remote_write' | 'destructive_remote' | 'destructive' | 'raw_secret_config' | 'unknown';
|
|
43
|
+
confidence?: 'low' | 'medium' | 'high';
|
|
44
|
+
reason?: string;
|
|
45
|
+
fallback?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface PolicyDecision {
|
|
48
|
+
decision: 'allowed' | 'approval_required' | 'denied' | 'dry_run_only';
|
|
49
|
+
reason: string;
|
|
50
|
+
capabilityId?: string;
|
|
51
|
+
approvalRequestId?: string;
|
|
52
|
+
requiredConfirmationText?: string;
|
|
53
|
+
warnings: string[];
|
|
54
|
+
suggestedNextActions: SuggestedNextAction[];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Canonical Kernel Work domain contracts. */
|
|
58
|
+
export const SEMANTIC_WORK_STATES = ['open', 'completed', 'cancelled'] as const;
|
|
59
|
+
/** Thin semantic Work state. Execution/runtime conditions never add states here. */
|
|
60
|
+
export type SemanticWorkState = (typeof SEMANTIC_WORK_STATES)[number];
|
|
61
|
+
|
|
62
|
+
export interface WorkSemanticView {
|
|
63
|
+
workId: string;
|
|
64
|
+
revision: number;
|
|
65
|
+
semanticScope: ScopeRef;
|
|
66
|
+
objective: string;
|
|
67
|
+
state: SemanticWorkState;
|
|
68
|
+
requirementId?: string;
|
|
69
|
+
requirementRevision?: number;
|
|
70
|
+
planId?: string;
|
|
71
|
+
planRevision?: number;
|
|
72
|
+
/** Objective decomposition parent. Distinct from execution-child parentWorkId and continuation lineage. */
|
|
73
|
+
semanticParentWorkId?: string;
|
|
74
|
+
/** Explicit semantic ordering dependencies. Absence/empty means siblings are independently runnable. */
|
|
75
|
+
dependsOnWorkIds?: string[];
|
|
76
|
+
resultRefs: string[];
|
|
77
|
+
createdAt: string;
|
|
78
|
+
updatedAt: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Work execution phases are intentionally small and technical. User-facing
|
|
83
|
+
* Requirement lifecycle belongs to Requirement, not this projection.
|
|
84
|
+
*/
|
|
85
|
+
export const WORK_PHASES = ['implementation', 'verification', 'review', 'delivery', 'cleanup'] as const;
|
|
86
|
+
export type WorkPhase = (typeof WORK_PHASES)[number];
|
|
87
|
+
|
|
88
|
+
export const WORK_PHASE_EVIDENCE_STATES = ['pending', 'active', 'satisfied', 'blocked', 'failed', 'skipped'] as const;
|
|
89
|
+
export type WorkPhaseEvidenceState = (typeof WORK_PHASE_EVIDENCE_STATES)[number];
|
|
90
|
+
|
|
91
|
+
/** Durable evidence checkpoint for one technical Work phase. */
|
|
92
|
+
export interface WorkPhaseEvidence {
|
|
93
|
+
state: WorkPhaseEvidenceState;
|
|
94
|
+
source?: 'recorded' | 'legacy_inferred';
|
|
95
|
+
summary: string;
|
|
96
|
+
evidenceRefs: EvidenceRef[];
|
|
97
|
+
recordedAt: string;
|
|
98
|
+
receiptId?: string;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export type WorkPhaseEvidenceMap = Record<WorkPhase, WorkPhaseEvidence>;
|
|
102
|
+
|
|
103
|
+
/** Risk is part of the Work contract, never of a mutable Task projection. */
|
|
104
|
+
export const WORK_RISKS = ['readonly', 'low', 'medium', 'high', 'destructive'] as const;
|
|
105
|
+
export type WorkRisk = (typeof WORK_RISKS)[number];
|
|
106
|
+
|
|
107
|
+
export const TERMINAL_SEMANTIC_WORK_STATES: readonly SemanticWorkState[] = [
|
|
108
|
+
'completed',
|
|
109
|
+
'cancelled',
|
|
110
|
+
] as const;
|
|
111
|
+
|
|
112
|
+
/** Independent execution/evidence classifications; none are Work lifecycle state. */
|
|
113
|
+
export const WORK_KINDS = [
|
|
114
|
+
'repository_change',
|
|
115
|
+
'completed_no_change',
|
|
116
|
+
'read_only_review',
|
|
117
|
+
'investigation',
|
|
118
|
+
'local_effect',
|
|
119
|
+
'remote_effect',
|
|
120
|
+
'reconciliation',
|
|
121
|
+
'superseded',
|
|
122
|
+
] as const;
|
|
123
|
+
export type WorkKind = (typeof WORK_KINDS)[number];
|
|
124
|
+
|
|
125
|
+
export const DISPATCH_STATES = ['not_dispatched', 'claimed', 'launching', 'running', 'blocked', 'terminal'] as const;
|
|
126
|
+
export type DispatchState = (typeof DISPATCH_STATES)[number];
|
|
127
|
+
|
|
128
|
+
export const EVIDENCE_STATES = ['none', 'partial', 'valid', 'stale', 'contradictory', 'failed'] as const;
|
|
129
|
+
export type EvidenceState = (typeof EVIDENCE_STATES)[number];
|
|
130
|
+
|
|
131
|
+
export const COMPLETION_OUTCOMES = ['completed_changed', 'completed_no_change', 'completed_local', 'completed_remote', 'superseded'] as const;
|
|
132
|
+
export type CompletionOutcome = (typeof COMPLETION_OUTCOMES)[number];
|
|
133
|
+
|
|
134
|
+
/** Source-bound semantic evidence accumulated by a recoverable read-only review. */
|
|
135
|
+
export interface ReadOnlyReviewEvidence {
|
|
136
|
+
sourceRevision: string;
|
|
137
|
+
workspaceFingerprint?: string;
|
|
138
|
+
inspectedPaths: string[];
|
|
139
|
+
findings: string[];
|
|
140
|
+
recordedAt: string;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/** Controller-reviewed binding from one exact Work acceptance criterion to durable evidence. */
|
|
144
|
+
export interface WorkSemanticAcceptanceEvidence {
|
|
145
|
+
criterion: string;
|
|
146
|
+
evidenceIds: string[];
|
|
147
|
+
rationale: string;
|
|
148
|
+
recordedAt: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Terminal authority for a clean read-only review. This deliberately does not
|
|
153
|
+
* impersonate repository delivery: it proves the reviewed source stayed at the
|
|
154
|
+
* frozen base revision with no workspace delta and records the bounded review
|
|
155
|
+
* scope that justified completed_no_change.
|
|
156
|
+
*/
|
|
157
|
+
export interface ReadOnlyReviewCompletionReceipt {
|
|
158
|
+
schemaVersion: 1;
|
|
159
|
+
receiptId: string;
|
|
160
|
+
source: 'read_only_review';
|
|
161
|
+
workId: string;
|
|
162
|
+
baseRevision: string;
|
|
163
|
+
sourceRevision: string;
|
|
164
|
+
workspaceFingerprint?: string;
|
|
165
|
+
/** Explicit unchanged-workspace proof captured by the trusted finalizer. Must be empty. */
|
|
166
|
+
workspaceChangedPaths: string[];
|
|
167
|
+
inspectedPaths: string[];
|
|
168
|
+
findingCount: 0;
|
|
169
|
+
recordedAt: string;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Terminal receipt for a bounded Controller-local side effect that is not a
|
|
174
|
+
* repository delivery. Repository Task/Issue completion keeps using the
|
|
175
|
+
* historical Git-oriented CompletionReceipt unchanged.
|
|
176
|
+
*/
|
|
177
|
+
export interface LocalEffectCompletionReceipt {
|
|
178
|
+
schemaVersion: 1;
|
|
179
|
+
receiptId: string;
|
|
180
|
+
source: 'local_effect';
|
|
181
|
+
workId: string;
|
|
182
|
+
operation: string;
|
|
183
|
+
target: {
|
|
184
|
+
kind: 'workspace_target' | 'controller_local';
|
|
185
|
+
id: string;
|
|
186
|
+
identityFingerprint?: string;
|
|
187
|
+
};
|
|
188
|
+
changed: boolean;
|
|
189
|
+
recordedAt: string;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/** Durable completion authority for one typed remote effect. */
|
|
193
|
+
export interface RemoteEffectCompletionReceipt {
|
|
194
|
+
schemaVersion: 1;
|
|
195
|
+
/** Plugin receipts retain their PLG-* id; repository Process effects use their canonical Process id. */
|
|
196
|
+
receiptId: string;
|
|
197
|
+
source: 'remote_effect';
|
|
198
|
+
workId: string;
|
|
199
|
+
/** Historical receipts omit this field and are interpreted as plugin_action. */
|
|
200
|
+
authority?: 'plugin_action' | 'repository_process';
|
|
201
|
+
pluginId?: string;
|
|
202
|
+
actionId: string;
|
|
203
|
+
requestId: string;
|
|
204
|
+
semanticKey: string;
|
|
205
|
+
resultDigest: string;
|
|
206
|
+
processId?: string;
|
|
207
|
+
recordedAt: string;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Completion authority for a standalone Direct Edit that is not bound to the
|
|
212
|
+
* retired Issue/Task completion model. Normal completion proves one finalized
|
|
213
|
+
* edit session at an exact reachable Git revision. Historical completion may
|
|
214
|
+
* instead reference one explicit reviewed reconciliation after exact revision,
|
|
215
|
+
* path-scope, verification, reachability, and cleanup proof checks.
|
|
216
|
+
*/
|
|
217
|
+
export interface DirectEditWorkCompletionReceipt {
|
|
218
|
+
schemaVersion: 1;
|
|
219
|
+
receiptId: string;
|
|
220
|
+
source: 'direct_edit_work';
|
|
221
|
+
workId: string;
|
|
222
|
+
editSessionId?: string;
|
|
223
|
+
reconciliationId?: string;
|
|
224
|
+
targetBranch: string;
|
|
225
|
+
targetRevision: string;
|
|
226
|
+
sourceRevision?: string;
|
|
227
|
+
baseRevision?: string;
|
|
228
|
+
changedPaths: string[];
|
|
229
|
+
delivery: RepositoryCompletionReceipt['delivery'];
|
|
230
|
+
cleanup: RepositoryCompletionReceipt['cleanup'];
|
|
231
|
+
verifiedAt: string;
|
|
232
|
+
recordedAt: string;
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
export type WorkCompletionReceipt = RepositoryCompletionReceipt | DirectEditWorkCompletionReceipt | ReadOnlyReviewCompletionReceipt | LocalEffectCompletionReceipt | RemoteEffectCompletionReceipt;
|
|
236
|
+
|
|
237
|
+
export function isRepositoryCompletionReceipt(
|
|
238
|
+
receipt: WorkCompletionReceipt,
|
|
239
|
+
): receipt is RepositoryCompletionReceipt {
|
|
240
|
+
return receipt.source !== 'local_effect'
|
|
241
|
+
&& receipt.source !== 'remote_effect'
|
|
242
|
+
&& receipt.source !== 'direct_edit_work'
|
|
243
|
+
&& receipt.source !== 'read_only_review';
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export function isReadOnlyReviewCompletionReceipt(
|
|
247
|
+
receipt: WorkCompletionReceipt,
|
|
248
|
+
): receipt is ReadOnlyReviewCompletionReceipt {
|
|
249
|
+
return receipt.source === 'read_only_review';
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
export function isRemoteEffectCompletionReceipt(
|
|
253
|
+
receipt: WorkCompletionReceipt,
|
|
254
|
+
): receipt is RemoteEffectCompletionReceipt {
|
|
255
|
+
return receipt.source === 'remote_effect';
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
export function isDirectEditWorkCompletionReceipt(
|
|
259
|
+
receipt: WorkCompletionReceipt,
|
|
260
|
+
): receipt is DirectEditWorkCompletionReceipt {
|
|
261
|
+
return receipt.source === 'direct_edit_work';
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/** A reviewed exception for historical/manual integration; never inferred automatically. */
|
|
265
|
+
export const WORK_RECONCILIATION_METHODS = ['exact_commit', 'owned_path_tree', 'reviewed_patch_identity'] as const;
|
|
266
|
+
export type WorkReconciliationMethod = (typeof WORK_RECONCILIATION_METHODS)[number];
|
|
267
|
+
|
|
268
|
+
export const WORK_RECONCILIATION_OUTCOMES = ['accepted_equivalence', 'rejected_equivalence', 'superseded'] as const;
|
|
269
|
+
export type WorkReconciliationOutcome = (typeof WORK_RECONCILIATION_OUTCOMES)[number];
|
|
270
|
+
|
|
271
|
+
export const VERIFICATION_OUTCOMES = [
|
|
272
|
+
'valid_pass',
|
|
273
|
+
'valid_fail',
|
|
274
|
+
'invalid_check_id',
|
|
275
|
+
'infrastructure_failure',
|
|
276
|
+
'skipped',
|
|
277
|
+
'superseded',
|
|
278
|
+
] as const;
|
|
279
|
+
export type VerificationOutcome = (typeof VERIFICATION_OUTCOMES)[number];
|
|
280
|
+
|
|
281
|
+
export interface WorkContractConstraints {
|
|
282
|
+
maxChangedFiles?: number;
|
|
283
|
+
maxChangedLines?: number;
|
|
284
|
+
allowCommit?: boolean;
|
|
285
|
+
allowMerge?: boolean;
|
|
286
|
+
allowCleanup?: boolean;
|
|
287
|
+
allowDestructive?: boolean;
|
|
288
|
+
/** Immutable execution-policy snapshot captured when work starts. */
|
|
289
|
+
accessMode?: WorkAccessMode;
|
|
290
|
+
/** Explicit repository placement. `auto` is retained as the legacy durable-Work isolated/frozen-base default. */
|
|
291
|
+
workspaceMode?: 'current' | 'isolated' | 'auto';
|
|
292
|
+
/** True when a change alters the agreed architecture direction rather than only implementation details. */
|
|
293
|
+
architectureStrategyChange?: boolean;
|
|
294
|
+
/** True when the proposed change weakens the thin-harness / high-performance execution policy. */
|
|
295
|
+
conflictsWithThinHarnessPolicy?: boolean;
|
|
296
|
+
/** True when the change alters the default routing or execution mode visible to users. */
|
|
297
|
+
changesDefaultExecutionStrategy?: boolean;
|
|
298
|
+
/** Repository-change delivery must publish the exact integrated revision before Work terminalization. */
|
|
299
|
+
remoteDeliveryRequired?: boolean;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
export interface WorktreePolicy {
|
|
303
|
+
required: boolean;
|
|
304
|
+
reason?: string;
|
|
305
|
+
ref?: string;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export interface EvidencePolicy {
|
|
309
|
+
defaultDetailLevel: FacadeDetailLevel;
|
|
310
|
+
allowRawOptIn: boolean;
|
|
311
|
+
maxEvidenceRefs: number;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
export interface ApprovalPolicy {
|
|
315
|
+
required: boolean;
|
|
316
|
+
reasons: string[];
|
|
317
|
+
confirmed: boolean;
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
export interface RecoveryPolicy {
|
|
321
|
+
allowSelfHealing: boolean;
|
|
322
|
+
maxInfrastructureRetries: number;
|
|
323
|
+
handoffOnAmbiguity: boolean;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
export interface VerificationRecord {
|
|
327
|
+
checkId: string;
|
|
328
|
+
outcome: VerificationOutcome;
|
|
329
|
+
summary: string;
|
|
330
|
+
recordedAt: string;
|
|
331
|
+
/** Exact checked revision. Absence denotes legacy/non-authoritative evidence. */
|
|
332
|
+
sourceRevision?: string;
|
|
333
|
+
/** Exact dirty-workspace content identity observed by the check. */
|
|
334
|
+
workspaceFingerprint?: string;
|
|
335
|
+
/** Hash of the check inputs that must match before this result can be reused. */
|
|
336
|
+
verificationInputFingerprint?: string;
|
|
337
|
+
/** Bounded identity of the command/configuration that produced the result. */
|
|
338
|
+
commandFingerprint?: string;
|
|
339
|
+
resultArtifactId?: string;
|
|
340
|
+
startedAt?: string;
|
|
341
|
+
completedAt?: string;
|
|
342
|
+
supersedes?: string;
|
|
343
|
+
staleReason?: string;
|
|
344
|
+
evidenceRef?: EvidenceRef;
|
|
345
|
+
receipt?: ProcessCheckReceiptEvidence;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Durable human-reviewed reconciliation for a Work whose original finalization
|
|
350
|
+
* facts cannot be recovered. It records an exception; it is not completion
|
|
351
|
+
* evidence by itself.
|
|
352
|
+
*/
|
|
353
|
+
export interface WorkReconciliationRecord {
|
|
354
|
+
schemaVersion: 1;
|
|
355
|
+
reconciliationId: string;
|
|
356
|
+
originalExpectedRevision: string;
|
|
357
|
+
observedTargetRevision: string;
|
|
358
|
+
baseRevision: string;
|
|
359
|
+
targetBranch: string;
|
|
360
|
+
reachable: boolean;
|
|
361
|
+
method: WorkReconciliationMethod;
|
|
362
|
+
comparedPaths: string[];
|
|
363
|
+
reviewer: string;
|
|
364
|
+
reviewedAt: string;
|
|
365
|
+
unrecoverableStages: string[];
|
|
366
|
+
cleanupOwnershipProof: string;
|
|
367
|
+
rationale: string;
|
|
368
|
+
outcome: WorkReconciliationOutcome;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
export interface WorkContract {
|
|
372
|
+
schemaVersion: 1 | 2 | 3 | 4;
|
|
373
|
+
workId: string;
|
|
374
|
+
/** Portable semantic scope. New records derive this from Requirement/Plan/Work identity, never local repository registration. */
|
|
375
|
+
scopeRef?: ScopeRef;
|
|
376
|
+
/** Replaceable node-local execution placement; never part of semantic Work identity. */
|
|
377
|
+
executionPlacement?: ExecutionPlacement;
|
|
378
|
+
/** Repository relationship used for local execution lookup; never semantic lifecycle authority. */
|
|
379
|
+
repoId: string;
|
|
380
|
+
/** Optional checkout relationship for local execution placement. */
|
|
381
|
+
checkoutId?: string;
|
|
382
|
+
principalId?: string;
|
|
383
|
+
controllerInstanceId?: string;
|
|
384
|
+
baseRevision?: string;
|
|
385
|
+
/** Authoritative repository baseline captured at Work admission. Absent means legacy/unknown, never implicitly unborn. */
|
|
386
|
+
repositoryBaseState?: 'revision' | 'unborn';
|
|
387
|
+
workspaceFingerprint?: string;
|
|
388
|
+
objective: string;
|
|
389
|
+
/** Independent authored-context revision. Mechanical Work writes never use the SQLite row revision as semantic CAS. */
|
|
390
|
+
semanticRevision?: number;
|
|
391
|
+
/** Timestamp of the authored semantic content; mechanical Work writes must not change it. */
|
|
392
|
+
semanticUpdatedAt?: string;
|
|
393
|
+
/** The single authored Work lifecycle state. Execution/runtime conditions never add states here. */
|
|
394
|
+
semanticState: SemanticWorkState;
|
|
395
|
+
/** Optional provenance links to the Requirement/Plan semantic revisions used when this Work was authored. */
|
|
396
|
+
requirementRevision?: number;
|
|
397
|
+
planRevision?: number;
|
|
398
|
+
/** Model/user-selected semantic result references, separate from mechanical evidence and delivery receipts. */
|
|
399
|
+
semanticResultRefs?: string[];
|
|
400
|
+
acceptanceCriteria: string[];
|
|
401
|
+
constraints: WorkContractConstraints;
|
|
402
|
+
/** Risk is immutable contract input and is projected to legacy Task reads. */
|
|
403
|
+
risk: WorkRisk;
|
|
404
|
+
/** Versioned engineering-governance requirements and exact source-bound evidence state for this Work. */
|
|
405
|
+
engineeringContext?: EngineeringContextReceipt;
|
|
406
|
+
/** Actionable concurrency wait projection. Absence means no currently known semantic/resource blocker. */
|
|
407
|
+
executionConcurrency?: WorkExecutionConcurrencyProjection;
|
|
408
|
+
/** Repository-execution phase observation. Never semantic Work authority. */
|
|
409
|
+
phase: WorkPhase;
|
|
410
|
+
/** Mechanical phase evidence for execution/delivery observation only. */
|
|
411
|
+
phaseEvidence: WorkPhaseEvidenceMap;
|
|
412
|
+
/** Execution/result classification. Semantic Work identity/state never depends on this field. */
|
|
413
|
+
workKind: WorkKind;
|
|
414
|
+
/** Primary is an objective-level business execution lane; execution_child is a resumable low-level operation handle owned by a primary Work or standalone caller. */
|
|
415
|
+
lifecycleRole?: 'primary' | 'execution_child';
|
|
416
|
+
/** Optional objective-level parent when this Work is only an execution child. */
|
|
417
|
+
parentWorkId?: string;
|
|
418
|
+
/** Objective decomposition parent for primary semantic Work. Never execution ownership or continuation lineage. */
|
|
419
|
+
semanticParentWorkId?: string;
|
|
420
|
+
/** Explicit objective ordering dependencies for primary semantic Work. Never inferred from Plan items. */
|
|
421
|
+
dependsOnWorkIds?: string[];
|
|
422
|
+
/** Immediate prior primary Work in the same semantic continuation lineage. Relationship evidence only; never execution or deletion authority. */
|
|
423
|
+
predecessorWorkId?: string;
|
|
424
|
+
/** Historical predecessors explicitly replaced by this Work. Relationship evidence only; never deletion authority. */
|
|
425
|
+
supersedes?: string[];
|
|
426
|
+
/** Current successor that replaced this Work. Presence makes this Work historical even before cleanup terminalizes it. */
|
|
427
|
+
supersededBy?: string;
|
|
428
|
+
/** Bounded durable reason for the supersession edge. */
|
|
429
|
+
supersessionReason?: string;
|
|
430
|
+
/** Mechanical execution/evidence projections; none may advance semanticState. */
|
|
431
|
+
dispatchState: DispatchState;
|
|
432
|
+
evidenceState: EvidenceState;
|
|
433
|
+
completionOutcome?: CompletionOutcome;
|
|
434
|
+
createdAt: string;
|
|
435
|
+
updatedAt: string;
|
|
436
|
+
/** Optional historical Issue/Task relationship identifiers; never lifecycle authority. */
|
|
437
|
+
issueId?: string;
|
|
438
|
+
taskId?: string;
|
|
439
|
+
/** Stable Requirement authority that this Work may complete. */
|
|
440
|
+
requirementId?: string;
|
|
441
|
+
/** Work-owned delivery/effect receipt. It never determines semantic completion. */
|
|
442
|
+
completionReceipt?: WorkCompletionReceipt;
|
|
443
|
+
/** Provenance for complex work dispatched from a durable PlanContract step. */
|
|
444
|
+
planId?: string;
|
|
445
|
+
planStepId?: string;
|
|
446
|
+
planSourceRevision?: string;
|
|
447
|
+
scopeSummary?: string;
|
|
448
|
+
/**
|
|
449
|
+
* Discovery evidence, never an authorization boundary. Initial guesses,
|
|
450
|
+
* inspected paths, and observed changes remain distinct so early retrieval
|
|
451
|
+
* cannot masquerade as complete implementation scope.
|
|
452
|
+
*/
|
|
453
|
+
scopeEvidence?: {
|
|
454
|
+
initialLikelyPaths: string[];
|
|
455
|
+
inspectedPaths: string[];
|
|
456
|
+
actualChangedPaths: string[];
|
|
457
|
+
recordedAt: string;
|
|
458
|
+
};
|
|
459
|
+
/** Source-bound semantic findings/scope for first-class recoverable read-only review Work. */
|
|
460
|
+
readOnlyReviewEvidence?: ReadOnlyReviewEvidence;
|
|
461
|
+
/** Explicit Controller-reviewed acceptance bindings. Mechanical evidence attribution alone never writes this field. */
|
|
462
|
+
semanticAcceptanceEvidence?: WorkSemanticAcceptanceEvidence[];
|
|
463
|
+
checks: string[];
|
|
464
|
+
worktreePolicy: WorktreePolicy;
|
|
465
|
+
evidencePolicy: EvidencePolicy;
|
|
466
|
+
approvalPolicy: ApprovalPolicy;
|
|
467
|
+
recoveryPolicy: RecoveryPolicy;
|
|
468
|
+
requestedBy: 'chatgpt' | 'user' | 'system' | 'scheduler';
|
|
469
|
+
evidenceRefs: EvidenceRef[];
|
|
470
|
+
handoffRefs: string[];
|
|
471
|
+
suggestedNextActions: SuggestedNextAction[];
|
|
472
|
+
policyDecisions: PolicyDecision[];
|
|
473
|
+
checkRefs: VerificationRecord[];
|
|
474
|
+
/** Append-only Controller implementation-review authority. Generic mutation APIs cannot write this history. */
|
|
475
|
+
implementationReviews: WorkImplementationReviewRecord[];
|
|
476
|
+
/** Reviewed historical/manual integration exceptions, retained for audit. */
|
|
477
|
+
reconciliations: WorkReconciliationRecord[];
|
|
478
|
+
continuationPrompt?: string;
|
|
479
|
+
worktreeRef?: string;
|
|
480
|
+
workerRef?: string;
|
|
481
|
+
requestId?: string;
|
|
482
|
+
/** Typed execution metadata; it does not imply ExecutionJob creation. */
|
|
483
|
+
submittedOperation?: SubmittedWorkOperation;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
/** Typed execution metadata retained on execution-child WorkContracts. */
|
|
487
|
+
export interface SubmittedWorkOperation {
|
|
488
|
+
name: string;
|
|
489
|
+
semanticKey: string;
|
|
490
|
+
argumentHash: string;
|
|
491
|
+
mode: 'readonly' | 'mutating' | 'remote_write' | 'destructive';
|
|
492
|
+
idempotent: boolean;
|
|
493
|
+
replayable: boolean;
|
|
494
|
+
resourceClaims: Array<{
|
|
495
|
+
resourceKey: string;
|
|
496
|
+
mode: string;
|
|
497
|
+
quantity?: number;
|
|
498
|
+
}>;
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
/** Resolve portable semantic scope without consulting node-local repository identity. */
|
|
502
|
+
export function semanticScopeRefForWork(
|
|
503
|
+
work: Pick<WorkContract, 'workId' | 'scopeRef' | 'requirementId' | 'planId' | 'planStepId'>,
|
|
504
|
+
): ScopeRef {
|
|
505
|
+
if (work.scopeRef) return work.scopeRef;
|
|
506
|
+
if (work.requirementId?.trim()) return { schemaVersion: 1, kind: 'requirement', id: work.requirementId.trim() };
|
|
507
|
+
if (work.planId?.trim() && work.planStepId?.trim()) {
|
|
508
|
+
return { schemaVersion: 1, kind: 'plan_step', id: `${work.planId.trim()}:${work.planStepId.trim()}` };
|
|
509
|
+
}
|
|
510
|
+
if (work.planId?.trim()) return { schemaVersion: 1, kind: 'plan', id: work.planId.trim() };
|
|
511
|
+
return { schemaVersion: 1, kind: 'work', id: work.workId.trim() };
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
/** Resolve replaceable execution placement from explicit placement or stored repository relationships. */
|
|
515
|
+
export function executionPlacementForWork(
|
|
516
|
+
work: Pick<WorkContract, 'executionPlacement' | 'repoId' | 'checkoutId'>,
|
|
517
|
+
): ExecutionPlacement {
|
|
518
|
+
if (work.executionPlacement) return work.executionPlacement;
|
|
519
|
+
return {
|
|
520
|
+
schemaVersion: 1,
|
|
521
|
+
repositoryId: work.repoId,
|
|
522
|
+
...(work.checkoutId?.trim() ? { checkoutId: work.checkoutId.trim() } : {}),
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
export interface WorkContractStore {
|
|
527
|
+
schemaVersion: 1 | 2 | 3 | 4;
|
|
528
|
+
updatedAt: string;
|
|
529
|
+
contracts: WorkContract[];
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
export function isTerminalSemanticWorkState(state: SemanticWorkState): boolean {
|
|
533
|
+
return TERMINAL_SEMANTIC_WORK_STATES.includes(state);
|
|
534
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './api/index';
|