@moretea-labs/forge 1.8.0 → 1.8.2
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 +73 -7
- package/CHANGELOG.md +34 -0
- package/CLAUDE.md +17 -2
- package/CONTRIBUTING.md +3 -2
- package/README.en.md +24 -3
- package/README.md +10 -6
- package/README.zh-CN.md +5 -3
- package/THIRD_PARTY_NOTICES.md +1 -2
- package/adapters/chatgpt/browser-delivery-host.ts +7 -1
- package/adapters/chatgpt/browser-delivery-runtime.ts +531 -56
- package/adapters/chatgpt/controller-binding-store.ts +101 -22
- package/adapters/chatgpt/controller-round-host.ts +15 -25
- package/adapters/chatgpt/controller-round-settlement-store.ts +58 -4
- package/adapters/chatgpt/provider-delivery.ts +229 -2
- package/adapters/chatgpt/work-conversation-binding-store.ts +99 -54
- package/adapters/computer/chatgpt-extension-target.ts +708 -0
- package/adapters/computer/chrome-extension/background.js +541 -0
- package/adapters/computer/chrome-extension/content.js +402 -0
- package/adapters/computer/chrome-extension/core.js +24 -0
- package/adapters/computer/chrome-extension/manifest.json +32 -0
- package/adapters/computer/desktop-operator-discovery.ts +11 -31
- package/adapters/computer/desktop-operator-provider.ts +18 -6
- package/adapters/computer/interaction-target-authority.ts +178 -24
- package/adapters/mcp/access-mode.ts +18 -39
- package/adapters/mcp/auth.ts +2 -7
- package/adapters/mcp/instructions.ts +6 -5
- package/adapters/mcp/multi-repository.ts +10 -47
- package/adapters/mcp/oauth.ts +73 -0
- package/adapters/mcp/paths.ts +4 -1
- 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 +490 -113
- package/adapters/mcp/runtime-gateway/context-pack-sidecar.ts +83 -0
- package/adapters/mcp/runtime-gateway/controller-authority-adapter.ts +20 -5
- package/adapters/mcp/runtime-gateway/core-capability-adapter.ts +258 -0
- package/adapters/mcp/runtime-gateway/engineering-preconditions.ts +10 -27
- package/adapters/mcp/runtime-gateway/engineering-tool-contract.ts +15 -0
- package/adapters/mcp/runtime-gateway/execution-tools.ts +14 -54
- package/adapters/mcp/runtime-gateway/gateway-execution-adapter.ts +2 -1
- package/adapters/mcp/runtime-gateway/plugin-adapter.ts +132 -47
- package/adapters/mcp/runtime-gateway/process-tools.ts +173 -23
- package/adapters/mcp/runtime-gateway/protected-computer-adapter.ts +16 -4
- package/adapters/mcp/runtime-gateway/recovery-adapter.ts +69 -52
- package/adapters/mcp/runtime-gateway/repository-compat-adapter.ts +4 -35
- package/adapters/mcp/runtime-gateway/result-adapter.ts +10 -4
- package/adapters/mcp/runtime-gateway/router.ts +19 -507
- package/adapters/mcp/runtime-gateway/routing-policy.ts +506 -0
- package/adapters/mcp/runtime-gateway/runtime-observation-adapter.ts +15 -66
- package/adapters/mcp/runtime-gateway/runtime-readiness-observation.ts +218 -0
- package/adapters/mcp/runtime-gateway/runtime-tool-definitions.ts +123 -178
- package/adapters/mcp/runtime-gateway/runtime-tools.ts +11 -5
- package/adapters/mcp/runtime-gateway/scheduler-adapter.ts +37 -1
- package/adapters/mcp/runtime-gateway/shared-adapter.ts +20 -0
- package/adapters/mcp/runtime-gateway/status-inbox-adapter.ts +416 -270
- package/adapters/mcp/runtime-gateway/typescript-navigation-sidecar.ts +140 -0
- package/adapters/mcp/runtime-gateway/work-adapter.ts +262 -3123
- 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 +229 -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 +320 -0
- package/adapters/mcp/runtime-gateway/work-workflow-operations.ts +113 -0
- package/adapters/mcp/runtime-gateway/workflow-supervisor-adapter.ts +180 -0
- package/adapters/mcp/server.ts +91 -26
- package/adapters/mcp/setup.ts +5 -13
- package/adapters/mcp/tool-mapping/access-tools.ts +0 -6
- package/adapters/mcp/tool-mapping/legacy-tool-service.ts +703 -3092
- package/adapters/mcp/tool-mapping/post-finalize-work-attribution.ts +5 -10
- package/adapters/mcp/tool-mapping/repository-tools.ts +170 -213
- package/adapters/mcp/toolset-names.ts +11 -37
- package/adapters/mcp/toolset.ts +19 -92
- package/{src/cli → adapters}/mcp/transports/AGENTS.md +5 -5
- package/{src/cli → adapters}/mcp/transports/CLAUDE.md +5 -5
- package/adapters/mcp/transports/http-observation.ts +377 -0
- package/adapters/mcp/transports/http-post-lifecycle.ts +19 -0
- package/adapters/mcp/transports/http.ts +200 -683
- package/adapters/mcp/transports/oauth-http.ts +322 -0
- package/adapters/mcp/transports/session-registry.ts +6 -0
- package/adapters/mcp/tunnels/openai-secure-tunnel.ts +89 -5
- package/adapters/mcp/types.ts +0 -6
- package/assets/hooks/lib/session-state.sh +0 -38
- package/assets/hooks/post-bash.sh +1 -1
- package/assets/hooks/post-tool-observer.sh +0 -5
- package/assets/hooks/prompt-guard.sh +0 -55
- package/assets/partials/04-project-structure.partial.md +1 -1
- package/assets/partials/07-footer.partial.md +1 -1
- package/assets/partials-agents/02-operating-mode.partial.md +1 -1
- package/assets/partials-agents/08-deep-docs.partial.md +1 -1
- package/assets/plugin-registry.v1.json +6 -4
- package/assets/reference-configs/agentic-development-flow.md +26 -1
- package/assets/reference-configs/external-tooling.md +0 -76
- package/assets/reference-configs/global-working-rules.md +19 -0
- package/assets/reference-configs/release-deploy.md +1 -1
- package/assets/templates/helpers/architecture-queue.sh +1 -1
- package/assets/templates/helpers/check-agent-tooling.sh +1 -327
- package/assets/templates/helpers/check-task-workflow.sh +1 -1
- package/assets/templates/helpers/ensure-task-workflow.sh +0 -14
- package/assets/templates/helpers/migrate-project-template.sh +2 -2
- package/assets/workflow-contract.v1.json +0 -2
- package/docs/README.md +5 -2
- package/docs/architecture/CURRENT.md +205 -51
- 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/20260904-ios-device-migration-baseline.md +42 -0
- package/docs/architecture/decisions/20260907-assistant-learning-loop.md +2 -0
- package/docs/architecture/decisions/20260907-controller-round-transition-policy.md +19 -4
- 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 +234 -0
- package/docs/architecture/decisions/20260919-autonomous-work-liveness.md +62 -0
- package/docs/architecture/decisions/20260924-thin-semantic-working-context.md +74 -0
- package/docs/architecture/decisions/20261001-supervisor-turn-authority.md +342 -0
- package/docs/architecture/decisions/20261005-forge-v3-desktop-client-boundary.md +77 -0
- package/docs/architecture/decisions/20261009-exact-code-context-discovery.md +19 -0
- package/docs/architecture/decisions/20261009-generated-xcode-cache-retention.md +37 -0
- package/docs/architecture/decisions/20261011-autonomous-continuation-convergence.md +597 -0
- package/docs/architecture/decisions/20261017-edit-session-finalization-reconciliation.md +17 -0
- package/docs/architecture/decisions/20261019-retire-host-skills.md +16 -0
- package/docs/architecture/diagrams/agentic-dev-plugin-architecture.html +1 -1
- package/docs/architecture/domains/public-surface.md +3 -5
- package/docs/architecture/domains/verification.md +6 -5
- package/docs/architecture/domains/workflow-engine.md +6 -0
- package/docs/architecture/modules/controller-runtime/transport-lifecycle.md +3 -3
- package/docs/architecture/requests/2026-09-04-computer-plugin-workflow-taxonomy.md +4 -4
- package/docs/architecture/reviews/20261015-code-search-runtime-acceptance.md +75 -0
- package/docs/forge-plugin-management.md +16 -4
- package/docs/operations/controller-browser-plugin.md +23 -0
- package/docs/operations/controller-performance-and-502.md +17 -0
- package/docs/operations/controller-reliability-runbook.md +2 -2
- package/docs/operations/features.md +6 -7
- package/docs/operations/features.zh-CN.md +1 -1
- package/docs/operations/github-repository.md +4 -4
- package/docs/operations/github-semantic-release-projection.md +20 -0
- package/docs/operations/homebrew.md +2 -2
- package/docs/operations/mcp-tool-exposure.md +13 -52
- package/docs/operations/releasing.md +2 -0
- package/docs/operations/runtime-performance-diagnostics.md +8 -0
- package/docs/operations/standalone-disaster-recovery.md +15 -7
- package/docs/tutorials/01-install-and-start.zh-CN.md +1 -1
- package/docs/tutorials/03-first-repository-task.md +2 -0
- package/docs/wiki/Computer-and-Plugins.md +78 -0
- package/docs/wiki/Computer-and-Plugins.zh-CN.md +88 -0
- package/docs/wiki/Home.md +16 -2
- package/docs/wiki/Implementation.md +25 -13
- package/docs/wiki/Installation.md +28 -32
- package/docs/wiki/Integrations.md +4 -0
- package/docs/wiki/Quick-Start.md +35 -22
- package/docs/wiki/Releases-and-Upgrades.md +15 -25
- package/docs/wiki/_Sidebar.md +5 -1
- package/package.json +25 -25
- 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 +1 -0
- package/packages/kernel/controller/application/continuation-service.ts +281 -0
- package/packages/kernel/controller/application/controller-round-service.ts +12 -0
- package/packages/kernel/controller/domain/controller-round-transition-policy.ts +242 -21
- package/packages/kernel/controller/domain/controller-round.ts +4 -1
- package/packages/kernel/controller/domain/execution-quality.ts +3 -1
- package/packages/kernel/controller/infrastructure/controller-round-store.ts +689 -103
- package/packages/kernel/controller/infrastructure/controller-session-store.ts +348 -97
- package/packages/kernel/controller/ports/controller-host.ts +2 -0
- package/packages/kernel/identity/api/index.ts +10 -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/user-request.ts +93 -0
- package/packages/kernel/identity/infrastructure/activity-projection-store.ts +87 -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/owned-resource-store.ts +259 -0
- package/packages/kernel/identity/infrastructure/user-request-store.ts +182 -0
- package/packages/kernel/scheduler/api/index.ts +0 -2
- package/packages/kernel/scheduler/application/eligibility.ts +4 -1
- package/packages/kernel/scheduler/application/schedule-service.ts +3 -0
- package/packages/kernel/scheduler/application/settlement.ts +0 -15
- package/packages/kernel/scheduler/domain/schedule.ts +87 -0
- package/packages/kernel/scheduler/infrastructure/schedule-store.ts +166 -143
- package/packages/kernel/work/api/index.ts +3 -2
- package/packages/kernel/work/application/work-service.ts +18 -42
- package/packages/kernel/work/domain/current-task-lineage.ts +104 -0
- package/packages/kernel/work/domain/engineering-design.ts +10 -5
- package/packages/kernel/work/domain/engineering-profile.ts +8 -12
- package/packages/kernel/work/domain/evaluation-promotion-receipt.ts +186 -0
- package/packages/kernel/work/domain/execution-concurrency.ts +19 -26
- package/packages/kernel/work/domain/execution-snapshot.ts +0 -31
- package/packages/kernel/work/domain/implementation-review.ts +14 -331
- package/packages/kernel/work/domain/objective-graph.ts +119 -0
- package/packages/kernel/work/domain/project-engineering-contract.ts +23 -1
- package/packages/kernel/work/domain/repository-completion-receipt.ts +1 -1
- package/packages/kernel/work/domain/state-machine.ts +34 -65
- package/packages/kernel/work/domain/types.ts +57 -51
- package/packages/kernel/work/infrastructure/work-contract-store.ts +847 -729
- package/packages/kernel/work/ports/work-contract-store.ts +5 -2
- package/packages/plugin-runtime/browser/provider-registry.ts +12 -36
- package/packages/plugin-runtime/browser/session-authority.ts +2 -1
- package/packages/plugin-runtime/computer/chatgpt-identity.ts +24 -0
- package/packages/plugin-runtime/computer/conversation-target.ts +153 -0
- package/packages/plugin-runtime/computer/index.ts +2 -0
- package/packages/plugin-runtime/computer/target-authority.ts +26 -1
- package/packages/plugin-runtime/external/unix-jsonl-transport.ts +142 -18
- package/packages/protocols/computer/contract.ts +27 -1
- package/scripts/activate-source-baseline.ts +7 -9
- package/scripts/assemble-template.ts +11 -72
- package/scripts/canary-controller-semantic-wait.ts +12 -24
- package/scripts/check-mcp-compatibility.ts +94 -201
- package/scripts/check-package-identity.mjs +0 -5
- package/scripts/check-runtime-architecture.mjs +921 -239
- package/scripts/forge-local-recovery-helper.mjs +93 -15
- package/scripts/init-project.sh +0 -46
- package/scripts/install-ios-hid-toolchain.sh +60 -0
- package/scripts/install-standalone-recovery.ts +1 -1
- package/scripts/lib/project-init-lib.sh +6 -3
- package/scripts/migrate-windows-wsl-controller-home.ts +2 -0
- package/scripts/open-source-audit-allowlist.txt +1 -3
- package/scripts/run-bounded-command.mjs +5 -0
- package/scripts/run-governed-gate.ts +2 -1
- package/scripts/run-mobile-monitor-bridge.ts +0 -1
- package/scripts/smoke-control-plane-failure-domain.ts +94 -0
- package/scripts/smoke-ios-physical-device.ts +38 -10
- package/scripts/smoke-mcp-http-runtime.ts +12 -8
- package/scripts/smoke-mcp-tool-surface.ts +27 -41
- package/scripts/smoke-runtime-recovery.ts +12 -43
- package/scripts/smoke-schedule-engine.ts +23 -15
- 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 +95 -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/sync-generated-authority.mjs +0 -1
- package/scripts/verify-forge-runtime.sh +2 -1
- package/src/cli/agent-jobs/executor-health.ts +12 -35
- package/src/cli/agent-jobs/integration.ts +20 -51
- package/src/cli/agent-jobs/job-manager.ts +7 -3
- package/src/cli/chatgpt-browser/file-policy.ts +2 -2
- package/src/cli/commands/brain-assistant.ts +27 -13
- package/src/cli/commands/brain.ts +13 -15
- package/src/cli/commands/chatgpt.ts +1 -163
- package/src/cli/commands/doctor.ts +1 -143
- package/src/cli/commands/global-runtime.ts +3 -196
- package/src/cli/commands/init-hook.ts +6 -23
- package/src/cli/commands/init.ts +3 -252
- package/src/cli/commands/mcp.ts +0 -5
- package/src/cli/commands/prompt-guard-decision.ts +0 -2
- package/src/cli/commands/recovery.ts +137 -135
- package/src/cli/commands/repository.ts +17 -1
- package/src/cli/commands/runtime.ts +3 -3
- package/src/cli/commands/setup-execution.ts +41 -0
- package/src/cli/commands/setup-profile.ts +8 -0
- package/src/cli/controller/check-runner.ts +13 -2
- package/src/cli/controller/completion-backlog.ts +3 -3
- package/src/cli/controller/completion-orchestrator.ts +5 -44
- package/src/cli/controller/completion-target.ts +3 -72
- package/src/cli/controller/composite-operations.ts +1 -1
- package/src/cli/controller/context/instruction-context.ts +1 -1
- package/src/cli/controller/context/known-paths.ts +2 -2
- package/src/cli/controller/context/query-planning.ts +11 -4
- package/src/cli/controller/context/rule-resolution.ts +2 -2
- package/src/cli/controller/context/source-materializer.ts +83 -102
- package/src/cli/controller/context/structural-provider.ts +84 -0
- package/src/cli/controller/context/structural.ts +6 -6
- package/src/cli/controller/context/types.ts +8 -9
- package/src/cli/controller/context-pack.ts +107 -84
- 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 +25 -52
- 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 +42 -10
- package/src/cli/editing/edit-session.ts +18 -12
- package/src/cli/github/github.ts +4 -4
- package/src/cli/github/semantic-projection.ts +174 -0
- package/src/cli/hook/prompt-intents.ts +0 -9
- package/src/cli/index.ts +1 -43
- package/src/cli/local-bridge/connector-freshness.ts +1 -12
- package/src/cli/local-bridge/console-automations.ts +19 -14
- package/src/cli/local-bridge/console-view-models.ts +4 -13
- package/src/cli/local-bridge/facade-api.ts +64 -193
- package/src/cli/local-bridge/server.ts +24 -147
- package/src/cli/local-bridge/types.ts +0 -1
- package/src/cli/mcp/oauth-client-retirement.ts +74 -0
- package/src/cli/repositories/command-classifier.ts +0 -9
- package/src/cli/repositories/command-executor.ts +29 -23
- package/src/cli/repositories/command-scope.ts +37 -18
- package/src/cli/repositories/controller-home.ts +48 -0
- package/src/cli/repositories/ephemeral-workspace.ts +20 -30
- package/src/cli/repositories/git-command-executor.ts +2 -2
- package/src/cli/repositories/locks.ts +20 -0
- package/src/cli/repositories/registry.ts +79 -12
- package/src/cli/repositories/safe-patch.ts +2 -12
- package/src/cli/repositories/structured-git.ts +101 -5
- package/src/cli/repository/inspector.ts +185 -343
- package/src/cli/repository/session-cache.ts +92 -6
- package/src/effects/process-runner.ts +17 -1
- package/src/runtime/context/assistant-context.ts +20 -7
- package/src/runtime/context/assistant-work-context.ts +89 -27
- package/src/runtime/context/automatic-learning.ts +565 -0
- 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 +46 -9
- package/src/runtime/context/context-pack-process.ts +103 -0
- package/src/runtime/context/context-plane.ts +1 -9
- package/src/runtime/context/direct-controller-learning.ts +298 -0
- package/src/runtime/context/generic-lsp-provider.ts +1 -1
- package/src/runtime/context/semantic-navigation-contract.ts +16 -0
- package/src/runtime/context/semantic-navigation.ts +7 -35
- package/src/runtime/context/typescript-navigation-process.ts +145 -0
- package/src/runtime/context/typescript-navigation.ts +89 -3
- package/src/runtime/control-plane/cleanup-artifact-retention.ts +215 -12
- package/src/runtime/control-plane/concurrency/work-execution-concurrency.ts +9 -47
- package/src/runtime/control-plane/execution/controller-authority-recovery.ts +34 -4
- package/src/runtime/control-plane/execution/edit-validation-coordinator.ts +29 -20
- package/src/runtime/control-plane/execution/execution-identity.ts +23 -3
- package/src/runtime/control-plane/execution/repository-work-attribution.ts +7 -30
- package/src/runtime/control-plane/execution/retained-work-resume.ts +206 -199
- package/src/runtime/control-plane/execution/session-store.ts +31 -1
- package/src/runtime/control-plane/execution/validation.ts +6 -8
- package/src/runtime/control-plane/execution/work-authority-reconciler.ts +13 -42
- package/src/runtime/control-plane/execution/work-check-evidence.ts +137 -0
- package/src/runtime/control-plane/execution/work-completion-authority.ts +30 -85
- package/src/runtime/control-plane/execution/work-delivery-service.ts +616 -0
- package/src/runtime/control-plane/execution/work-evidence-policy.ts +12 -50
- package/src/runtime/control-plane/execution/work-execution-support.ts +50 -149
- package/src/runtime/control-plane/execution/work-handle-authority.ts +197 -110
- package/src/runtime/control-plane/execution/work-handle-store.ts +72 -44
- package/src/runtime/control-plane/execution/work-head-settlement.ts +53 -20
- package/src/runtime/control-plane/execution/work-lifecycle-audit.ts +52 -29
- package/src/runtime/control-plane/execution/work-operation-service.ts +60 -34
- package/src/runtime/control-plane/execution/work-preparation-service.ts +231 -267
- package/src/runtime/control-plane/execution/work-process-evidence.ts +2 -2
- 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 +201 -199
- package/src/runtime/control-plane/execution/work-validation-reconciler.ts +33 -85
- package/src/runtime/control-plane/execution/work-verification-service.ts +406 -50
- package/src/runtime/control-plane/execution/work-verification-snapshot.ts +6 -2
- package/src/runtime/control-plane/facade/capability-registry.ts +364 -37
- 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/goal-workloop-access.ts +1 -20
- package/src/runtime/control-plane/facade/goal-workloop.ts +281 -1753
- package/src/runtime/control-plane/facade/handoff-inbox-application.ts +12 -25
- package/src/runtime/control-plane/facade/handoff-inbox-store.ts +256 -52
- package/src/runtime/control-plane/facade/index.ts +0 -1
- package/src/runtime/control-plane/facade/operation-digest.ts +12 -15
- package/src/runtime/control-plane/facade/plan-contract-store.ts +451 -991
- package/src/runtime/control-plane/facade/policy-gate.ts +0 -23
- package/src/runtime/control-plane/facade/repository-work-admission.ts +12 -22
- package/src/runtime/control-plane/facade/requirement-authority.ts +102 -199
- package/src/runtime/control-plane/facade/requirement-board.ts +3 -3
- package/src/runtime/control-plane/facade/rh-work-operation-contract.ts +51 -14
- package/src/runtime/control-plane/facade/self-healing-loop.ts +18 -53
- package/src/runtime/control-plane/facade/suggested-actions.ts +15 -18
- package/src/runtime/control-plane/facade/types.ts +49 -108
- package/src/runtime/control-plane/facade/work-continuation.ts +9 -9
- package/src/runtime/control-plane/generated-cache-retention.ts +206 -59
- package/src/runtime/control-plane/global-scheduler/autonomous-continuation.ts +248 -0
- package/src/runtime/control-plane/global-scheduler/durable-admission.ts +1 -1
- package/src/runtime/control-plane/global-scheduler/maintenance.ts +256 -117
- package/src/runtime/control-plane/global-scheduler/reconciliation.ts +3 -12
- package/src/runtime/control-plane/global-scheduler/scheduler.ts +66 -40
- package/src/runtime/control-plane/global-scheduler/wake-signal.ts +42 -2
- 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/governance/external-effects.ts +1 -1
- package/src/runtime/control-plane/launcher/chatgpt-round-continuation.ts +63 -300
- package/src/runtime/control-plane/launcher/chatgpt-work-continuation.ts +29 -300
- package/src/runtime/control-plane/launcher/local-conversation-controller.ts +238 -0
- package/src/runtime/control-plane/launcher/provider-mcp-bootstrap.ts +5 -2
- package/src/runtime/control-plane/launcher/thin-launcher.ts +96 -240
- package/src/runtime/control-plane/persistence/cognition-store.ts +820 -0
- package/src/runtime/control-plane/persistence/experience-store.ts +162 -29
- package/src/runtime/control-plane/persistence/requirement-store.ts +216 -74
- package/src/runtime/control-plane/persistence/sqlite-store.ts +113 -6
- package/src/runtime/control-plane/release-retention.ts +135 -47
- package/src/runtime/control-plane/repository-namespace-retention.ts +2 -2
- package/src/runtime/control-plane/runtime-cleanup.ts +295 -107
- package/src/runtime/control-plane/workspace/project-onboarding.ts +80 -0
- package/src/runtime/control-plane/workspace/semantic-sync-service.ts +19 -5
- package/src/runtime/control-plane/workspace/workspace-store.ts +169 -0
- package/src/runtime/diagnostics/incident-repair.ts +313 -146
- package/src/runtime/diagnostics/mcp-timing.ts +114 -0
- package/src/runtime/evidence/artifact-store.ts +158 -40
- package/src/runtime/evidence/evidence-store.ts +112 -8
- package/src/runtime/evidence/output-handle-index.ts +225 -0
- package/src/runtime/evidence/result-store.ts +158 -44
- package/src/runtime/evidence/sensitive-output.ts +22 -2
- package/src/runtime/execution/jobs/child-reference.ts +11 -0
- package/src/runtime/execution/jobs/receipt-recovery.ts +1 -11
- package/src/runtime/execution/jobs/store.ts +3 -4
- package/src/runtime/execution/managed-workspace.ts +57 -0
- package/src/runtime/execution/process-runtime/check-facade.ts +1 -1
- package/src/runtime/execution/process-runtime/check-result-retention.ts +2 -2
- package/src/runtime/execution/process-runtime/check-result.ts +105 -1
- package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +18 -8
- package/src/runtime/execution/process-runtime/command-facade.ts +82 -30
- 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 +3 -0
- package/src/runtime/execution/process-runtime/lightweight-managed.ts +251 -72
- package/src/runtime/execution/process-runtime/persisted-check.ts +3 -3
- 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 +65 -61
- package/src/runtime/execution/process-runtime/runtime.ts +55 -18
- package/src/runtime/execution/process-runtime/store.ts +30 -2
- package/src/runtime/execution/process-runtime/types.ts +6 -1
- package/src/runtime/execution/thin-harness/execution-router.ts +16 -16
- package/src/runtime/execution/thin-harness/fast-executor.ts +2 -2
- package/src/runtime/execution/thin-harness/search-worker.ts +2 -2
- package/src/runtime/execution/workers/executor.ts +3 -8
- package/src/runtime/maintenance/cleanup.ts +41 -5
- package/src/runtime/platform/service-inventory.ts +130 -0
- package/src/runtime/platform/service-manager.ts +8 -0
- package/src/runtime/plugins/action-application.ts +97 -29
- package/src/runtime/plugins/app-store-connect-adapter.ts +290 -18
- package/src/runtime/plugins/browser-adapter.ts +1124 -333
- package/src/runtime/plugins/browser-automation-service.ts +23 -3
- package/src/runtime/plugins/browser-macos-bridge.ts +431 -137
- package/src/runtime/plugins/browser-manifest-surface.ts +47 -12
- package/src/runtime/plugins/browser-native-session-service.ts +63 -13
- package/src/runtime/plugins/browser-registration.ts +18 -0
- package/src/runtime/plugins/browser-runtime.ts +40 -36
- package/src/runtime/plugins/browser-session-authority.ts +2 -2
- package/src/runtime/plugins/browser-session-store.ts +46 -76
- package/src/runtime/plugins/capability-authorization-grants.ts +258 -62
- package/src/runtime/plugins/computer-chatgpt-browser-adapter-installer.ts +228 -0
- package/src/runtime/plugins/computer-registration.ts +298 -20
- package/src/runtime/plugins/desktop-operator-external-policy.ts +36 -4
- package/src/runtime/plugins/desktop-operator-registration.ts +12 -4
- package/src/runtime/plugins/external-adapter.ts +42 -6
- package/src/runtime/plugins/external-registration.ts +21 -1
- package/src/runtime/plugins/github-adapter.ts +30 -3
- package/src/runtime/plugins/gmail-adapter.ts +189 -3
- package/src/runtime/plugins/google-calendar-adapter.ts +2 -2
- package/src/runtime/plugins/google-shared.ts +24 -12
- package/src/runtime/plugins/google-tasks-adapter.ts +2 -2
- package/src/runtime/plugins/ios/remote-xpc-hid.ts +70 -30
- package/src/runtime/plugins/ios-adapter.ts +46 -41
- package/src/runtime/plugins/ios-agent-device.ts +54 -4
- package/src/runtime/plugins/ios-device-ownership.ts +103 -0
- package/src/runtime/plugins/ios-physical-device.ts +497 -79
- package/src/runtime/plugins/lightweight-action.ts +208 -2
- package/src/runtime/plugins/local-system-adapter.ts +12 -100
- 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/store.ts +682 -435
- package/src/runtime/plugins/types.ts +24 -0
- package/src/runtime/plugins/xiaohongshu-publish.ts +16 -0
- package/src/runtime/projections/git-status-sampler.ts +2 -19
- package/src/runtime/projections/invalidation.ts +7 -3
- package/src/runtime/projections/materialized-view.ts +80 -36
- package/src/runtime/recovery/actions.ts +4 -4
- package/src/runtime/recovery/capability-action-application.ts +46 -45
- package/src/runtime/recovery/lifecycle-inventory.ts +30 -40
- package/src/runtime/recovery/maintenance-executor.ts +374 -123
- package/src/runtime/recovery/probe.ts +2 -2
- package/src/runtime/recovery/store.ts +29 -11
- package/src/runtime/release/release-coordinator.ts +312 -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/computer-composition.ts +191 -6
- package/src/runtime/root/controller-progression-composition.ts +254 -0
- package/src/runtime/root/controller-round-composition.ts +20 -1
- package/src/runtime/root/deployment-topology.ts +106 -0
- package/src/runtime/root/entry.ts +4 -3
- package/src/runtime/root/known-good-recovery.ts +184 -0
- package/src/runtime/root/local-bridge.ts +0 -1
- package/src/runtime/root/mcp-transport.ts +111 -18
- package/src/runtime/root/ownership.ts +261 -9
- package/src/runtime/root/package-connector-service.ts +227 -29
- package/src/runtime/root/package-runtime-release.ts +117 -30
- package/src/runtime/root/package-runtime-service.ts +24 -24
- package/src/runtime/root/release-execution-canary.ts +57 -12
- package/src/runtime/root/release-loader.ts +90 -8
- package/src/runtime/root/release-manifest.ts +80 -40
- package/src/runtime/root/release-materialize.ts +372 -106
- package/src/runtime/root/release-store.ts +395 -36
- package/src/runtime/root/runtime-lane.ts +191 -0
- package/src/runtime/root/runtime.ts +160 -29
- package/src/runtime/root/scheduled-controller-composition.ts +29 -3
- package/src/runtime/root/service-runner.ts +2 -2
- package/src/runtime/root/service.ts +126 -44
- package/src/runtime/root/status.ts +48 -0
- package/src/runtime/root/types.ts +32 -9
- package/src/runtime/root/workflow-supervisor-composition.ts +681 -0
- package/src/runtime/root/workflow-supervisor-runtime.ts +564 -0
- package/src/runtime/root/write-fence.ts +50 -2
- package/src/runtime/safe-tooling/google-credential-store.ts +67 -22
- package/src/runtime/safe-tooling/google-oauth-broker.ts +25 -7
- package/src/runtime/safe-tooling/ios-development.ts +22 -8
- package/src/runtime/safe-tooling/job-summary.ts +1 -1
- package/src/runtime/safe-tooling/workspace-auth.ts +5 -2
- package/src/runtime/shared/atomic-text-file.ts +21 -0
- package/src/runtime/shared/bounded-child-supervisor.ts +9 -1
- package/src/runtime/shared/json-files.ts +8 -3
- package/src/runtime/shared/process-environment.ts +20 -9
- package/src/runtime/shared/response-budget.ts +1 -3
- package/src/runtime/standalone-recovery/controller-home-migration.ts +16 -24
- package/src/runtime/standalone-recovery/core.ts +3792 -417
- package/src/runtime/standalone-recovery/entry.ts +507 -45
- package/src/runtime/standalone-recovery/installer.ts +262 -148
- package/src/runtime/standalone-recovery/mcp-server.ts +29 -193
- package/src/runtime/standalone-recovery/operation-lock.ts +12 -2
- package/src/runtime/standalone-recovery/performance.ts +54 -16
- package/src/runtime/standalone-recovery/release.ts +53 -5
- package/src/runtime/standalone-recovery/service-labels.ts +5 -2
- package/src/runtime/standalone-recovery/watchdog-heartbeat.ts +5 -2
- package/src/runtime/workflow/schedules/browser-probe.ts +17 -6
- package/src/runtime/workflow/schedules/chatgpt-automation-migration.ts +11 -3
- package/src/runtime/workflow/schedules/engine.ts +166 -178
- package/src/runtime/workflow/schedules/pending-activation.ts +11 -4
- package/src/runtime/workflow/schedules/work-continuation.ts +95 -11
- package/src/runtime/workflows/runtime.ts +15 -19
- package/src/testing/test-governance.ts +5 -1
- package/supervisor/chatgpt-conversation.ts +23 -0
- package/supervisor/client.ts +218 -0
- package/supervisor/control-plane.ts +963 -0
- package/supervisor/entry.ts +15 -0
- package/supervisor/forge-validators.ts +147 -0
- package/supervisor/index.ts +5 -0
- package/supervisor/native-browser-adapter.ts +1151 -0
- package/supervisor/native-messaging/host.ts +58 -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 +250 -0
- package/supervisor/server.ts +412 -0
- package/supervisor/store.ts +1870 -0
- package/supervisor/tsconfig.json +8 -0
- package/supervisor/types.ts +261 -0
- package/SKILL.md +0 -427
- package/adapters/chatgpt/controller-host.ts +0 -119
- package/adapters/mcp/controller-round-compatibility.ts +0 -184
- package/adapters/mcp/frozen-client-semantic-compatibility.ts +0 -292
- package/adapters/mcp/runtime-gateway/work-compat-adapter.ts +0 -502
- package/adapters/mcp/runtime-gateway/work-validation-reconciler.ts +0 -1
- package/adapters/mcp/toolset-selection.ts +0 -41
- package/agents/openai.yaml +0 -4
- package/assets/skill-hooks.json +0 -41
- package/assets/skill-version.json +0 -189
- package/assets/skills/claude-review/SKILL.md +0 -231
- package/assets/skills/codex-review/SKILL.md +0 -103
- package/assets/templates/helpers/check-skill-version.ts +0 -193
- package/packages/kernel/progression/api/index.ts +0 -2
- package/packages/kernel/progression/application/projector.ts +0 -211
- package/packages/kernel/progression/domain/types.ts +0 -116
- package/packages/kernel/progression/index.ts +0 -1
- package/packages/kernel/scheduler/application/continuation-service.ts +0 -212
- package/packages/kernel/scheduler/domain/continuation.ts +0 -38
- package/packages/kernel/scheduler/infrastructure/continuation-dispatch-store.ts +0 -38
- package/packages/kernel/work/domain/admission-policy.ts +0 -34
- package/scripts/benchmark-background-check-overlap.ts +0 -228
- package/scripts/benchmark-computer-hotpath.ts +0 -255
- package/scripts/benchmark-controller-hotpath.ts +0 -212
- package/scripts/benchmark-controller-round2.ts +0 -191
- package/scripts/benchmark-ios-agent-device.ts +0 -511
- package/scripts/benchmark-mcp-host.sh +0 -117
- package/scripts/benchmark-mcp-transport.ts +0 -169
- package/scripts/benchmark-operational-memory-activation.ts +0 -235
- package/scripts/benchmark-operational-shadow.ts +0 -28
- 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-skill-version.ts +0 -5
- package/scripts/check-tarball-install-smoke.sh +0 -150
- package/scripts/ensure-codegraph.sh +0 -16
- 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-hook.ts +0 -244
- package/scripts/stage-runtime-release.ts +0 -44
- package/scripts/sync-codex-installed-copies.sh +0 -182
- package/src/cli/commands/tools.ts +0 -167
- 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/cli/mcp/access-mode.ts +0 -2
- package/src/cli/mcp/access-tools.ts +0 -2
- package/src/cli/mcp/audit.ts +0 -2
- package/src/cli/mcp/auth.ts +0 -2
- package/src/cli/mcp/instructions.ts +0 -2
- package/src/cli/mcp/legacy-context.ts +0 -2
- package/src/cli/mcp/legacy-tool-service.ts +0 -2
- package/src/cli/mcp/multi-repository.ts +0 -2
- package/src/cli/mcp/oauth.ts +0 -2
- package/src/cli/mcp/openai-secure-tunnel.ts +0 -2
- package/src/cli/mcp/paths.ts +0 -2
- package/src/cli/mcp/policy.ts +0 -2
- package/src/cli/mcp/post-finalize-work-attribution.ts +0 -2
- package/src/cli/mcp/proxy-env.ts +0 -2
- package/src/cli/mcp/readiness-projection.ts +0 -2
- package/src/cli/mcp/redaction.ts +0 -2
- package/src/cli/mcp/repo.ts +0 -2
- package/src/cli/mcp/repository-tools.ts +0 -2
- package/src/cli/mcp/server.ts +0 -2
- package/src/cli/mcp/setup.ts +0 -2
- package/src/cli/mcp/tool-capability-cache.ts +0 -2
- package/src/cli/mcp/tool-contract.ts +0 -2
- package/src/cli/mcp/tools.ts +0 -2
- package/src/cli/mcp/toolset-names.ts +0 -2
- package/src/cli/mcp/toolset-selection.ts +0 -2
- package/src/cli/mcp/toolset.ts +0 -2
- package/src/cli/mcp/transports/http.ts +0 -2
- package/src/cli/mcp/transports/session-registry.ts +0 -2
- package/src/cli/mcp/transports/stdio.ts +0 -2
- package/src/cli/mcp/types.ts +0 -2
- package/src/cli/mcp/umbrella-tools.ts +0 -2
- package/src/cli/tools/codegraph.ts +0 -695
- package/src/core/adoption/helper-wrapper-plan.ts +0 -159
- package/src/runtime/context/codegraph-cache-boundary.ts +0 -255
- package/src/runtime/context/codegraph-read-provider.ts +0 -611
- package/src/runtime/context/codegraph-sidecar.cjs +0 -248
- package/src/runtime/control-plane/codegraph-cache-retention.ts +0 -164
- package/src/runtime/control-plane/execution/content-equivalent-commit-authority.ts +0 -169
- package/src/runtime/control-plane/execution/direct-canonical-work-reconciliation.ts +0 -85
- package/src/runtime/control-plane/execution/direct-edit-work-completion.ts +0 -655
- package/src/runtime/control-plane/execution/work-finalization-service.ts +0 -2850
- package/src/runtime/control-plane/execution/work-path-scope.ts +0 -37
- package/src/runtime/control-plane/execution/work-task-receipt.ts +0 -468
- package/src/runtime/control-plane/facade/controller-round-relay.ts +0 -3
- package/src/runtime/control-plane/facade/work-admission-policy.ts +0 -142
- package/src/runtime/control-plane/facade/work-implementation-review.ts +0 -2
- package/src/runtime/control-plane/facade/work-state-machine.ts +0 -2
- 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 -401
- package/src/runtime/control-plane/routing/workspace-admission.ts +0 -70
- package/src/runtime/gateway/mcp/execution-tools.ts +0 -2
- package/src/runtime/gateway/mcp/legacy-ios-tool-adapter.ts +0 -2
- package/src/runtime/gateway/mcp/persisted-check-process.ts +0 -2
- package/src/runtime/gateway/mcp/process-tools.ts +0 -2
- package/src/runtime/gateway/mcp/router.ts +0 -2
- package/src/runtime/gateway/mcp/runtime-tool-definitions.ts +0 -2
- package/src/runtime/gateway/mcp/runtime-tools.ts +0 -2
- package/src/runtime/gateway/mcp/work-validation-reconciler.ts +0 -2
- package/src/runtime/plugins/browser-provider-registry.ts +0 -2
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
- Agentic skill routing: product discovery -> gstack `office-hours`; complex engineering plans -> gstack `plan-eng-review`; design plans -> gstack `plan-design-review`; daily small/medium planning, bug hunts, and checks -> Forge `/plan`, `/hunt`, `/check`.
|
|
33
33
|
- Knowledge sync and handoff retrieval -> `gbrain`.
|
|
34
34
|
- Codex automation profile: required `health`, `check`, and `mermaid` from `~/.codex/skills`; do not vendor skill bodies.
|
|
35
|
-
-
|
|
35
|
+
- Code navigation uses bounded ripgrep discovery and explicit language-service definitions/references/implementations; no graph index is required.
|
|
36
36
|
- External tooling reference: `docs/reference-configs/agentic-development-flow.md` for routing details, `docs/reference-configs/external-tooling.md` for install/update guidance.
|
|
37
37
|
- Waza runtime boundary: Codex reads `~/.codex/skills`; `~/.agents/skills` is only skills CLI staging/cache and must be copied into Codex with verification after updates.
|
|
38
38
|
- Environment check: `bash .ai/harness/scripts/check-agent-tooling.sh --host both --check-updates`.
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
- Terminal plan/task history: Git history plus durable Control Plane evidence; do not create repository archive directories.
|
|
19
19
|
- `docs/reference-configs/agentic-development-flow.md`: gstack/Waza routing, P1/P2/P3 reporting triggers, and daily flow
|
|
20
20
|
- `docs/reference-configs/harness-overview.md`: orchestration playbook
|
|
21
|
-
- `docs/reference-configs/external-tooling.md`: gstack/Waza/gbrain routing, Codex-first Waza sync, and
|
|
21
|
+
- `docs/reference-configs/external-tooling.md`: gstack/Waza/gbrain routing, Codex-first Waza sync, and source-based navigation guidance
|
|
22
22
|
- `docs/reference-configs/document-generation.md`: minimal docs profile and on-demand document rules
|
|
23
23
|
- `docs/reference-configs/global-working-rules.md`: user-level Claude/Codex rule template
|
|
24
24
|
- `docs/reference-configs/sprint-contracts.md`: contract rules
|
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
{
|
|
5
5
|
"id": "desktop_operator",
|
|
6
6
|
"name": "Forge Desktop Operator",
|
|
7
|
-
"version": "0.
|
|
7
|
+
"version": "0.4.5",
|
|
8
8
|
"description": "Native macOS desktop automation provider for Forge.",
|
|
9
9
|
"repository": "https://github.com/moretea-labs/forge-desktop-operator.git",
|
|
10
|
-
"ref": "v0.
|
|
10
|
+
"ref": "v0.4.5",
|
|
11
11
|
"installer": "forge-plugin-install.mjs",
|
|
12
|
-
"providerVersion": "0.
|
|
12
|
+
"providerVersion": "0.4.5",
|
|
13
13
|
"protocolVersion": "1.0",
|
|
14
14
|
"platforms": [
|
|
15
15
|
"darwin"
|
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
"semanticCapabilities": [
|
|
18
18
|
"computer.observe.v1",
|
|
19
19
|
"computer.input.v1",
|
|
20
|
+
"computer.console.unlock.v1",
|
|
20
21
|
"computer.capture.v1",
|
|
21
|
-
"computer.
|
|
22
|
+
"computer.element.observe.v2",
|
|
23
|
+
"computer.element.action.v2"
|
|
22
24
|
]
|
|
23
25
|
},
|
|
24
26
|
{
|
|
@@ -16,6 +16,31 @@ Forge owns the workflow contract. External host skills may improve reasoning qua
|
|
|
16
16
|
|
|
17
17
|
Missing external skills must degrade only the named enhancement. Hooks may suggest Forge modes, but must not route correctness through a third-party skill.
|
|
18
18
|
|
|
19
|
+
## Architecture Migration Delivery Transaction
|
|
20
|
+
|
|
21
|
+
### Current-Task Lineage Fence
|
|
22
|
+
|
|
23
|
+
Every controller round has one semantic task lineage. Resolve it from the user's current objective and the exact Work/Requirement/Plan relation before consulting repository-wide status. Global active Work is conflict metadata, not a work queue.
|
|
24
|
+
|
|
25
|
+
The controller may inspect unrelated active Work only to answer four bounded questions: does it own an overlapping write path, does it hold an authority/resource needed by the current lineage, does it create a merge/release admission blocker, or does it prove the current lineage was superseded by an explicit typed transition? If none apply, the unrelated Work is ignored for the rest of the round.
|
|
26
|
+
|
|
27
|
+
Never pivot into another Work's implementation, verification, review, release, cleanup, or progress accounting without explicit user intent or an explicit typed lineage transition. This prevents autonomous continuation from turning repository activity into accidental scope expansion.
|
|
28
|
+
|
|
29
|
+
For Kernel/V2 migrations and similarly cross-cutting work, the primary unit of execution is a coherent delivery slice, not an issue, file, failing check, or incidental symptom.
|
|
30
|
+
|
|
31
|
+
1. **Batch discovery**: gather the relevant architecture, ownership, runtime, persistence, and evidence facts in one bounded pass.
|
|
32
|
+
2. **Root-cause decision**: identify the owning invariant/module and decide whether new observations are same-root scope or an independent delivery boundary.
|
|
33
|
+
3. **Freeze the slice**: establish one candidate scope and acceptance contract. Same-root discoveries extend this candidate; they do not create sibling Works by default.
|
|
34
|
+
4. **Coherent implementation**: implement the whole slice before broad validation. Use edit-session/savepoint state rather than per-file Git commits.
|
|
35
|
+
5. **Whole-candidate review**: review authority, dependency, migration, lifecycle, recovery, and diff coherence once the implementation is source-complete.
|
|
36
|
+
6. **Validation wave**: run focused behavior checks first, then canonical gates once. After repair, rerun only affected checks unless evidence invalidates the architecture.
|
|
37
|
+
7. **Delivery boundary**: commit/merge once for the coherent candidate, then perform Candidate/canary/release once. Release must not begin while same-delivery source-changing Works remain active.
|
|
38
|
+
8. **Terminal cleanup**: retire superseded Work/Plan/check/release state so the Controller's active inventory represents only real remaining work.
|
|
39
|
+
|
|
40
|
+
Do not turn concrete incidents into an issue-by-issue patch campaign. Cluster symptoms by architecture owner and invariant before implementation. One-file commits are acceptable only when that file is itself the complete coherent delivery; file count is not the boundary.
|
|
41
|
+
|
|
42
|
+
If execution exposes a defect in Forge lifecycle machinery, decide whether it is required for the current version to converge safely. If not, record a bounded post-version Plan with the violated invariant, evidence, intended owner, and acceptance criteria, then continue the current release without implementing that machinery refactor.
|
|
43
|
+
|
|
19
44
|
## Public CLI Boundary
|
|
20
45
|
|
|
21
46
|
The user-facing CLI is intentionally smaller than the implementation surface:
|
|
@@ -41,7 +66,7 @@ For small work keep this internal. For architecture, debugging, risky refactors,
|
|
|
41
66
|
|
|
42
67
|
1. Read the current user request and current Canonical Runtime state first.
|
|
43
68
|
2. Use `/direct`, `/plan`, `/debug`, `/review`, `/release`, or `/scale` according to intent.
|
|
44
|
-
3. Use
|
|
69
|
+
3. Use bounded rh_context search for current source, then explicit semantic_navigation for known symbols and their references.
|
|
45
70
|
4. If a decision-complete plan is useful, capture it into `plans/` as a durable business/engineering artifact. It is not a second Runtime lifecycle authority.
|
|
46
71
|
5. Execute bounded work through Forge repository/Process/Work primitives and collect verification evidence.
|
|
47
72
|
6. Use `/review` plus focused checks before closeout. Optional peer or Waza reviews may add evidence but may not become the only pass condition.
|
|
@@ -9,7 +9,6 @@ Optional enhancements:
|
|
|
9
9
|
- `gbrain`: optional knowledge tooling;
|
|
10
10
|
- `Mermaid` host skill: optional rendered diagrams; Markdown Mermaid remains sufficient;
|
|
11
11
|
- Forge peer-review helpers (`codex-review`, `claude-review`): optional cross-model acceptance evidence;
|
|
12
|
-
- CodeGraph host MCP/CLI: optional direct host integration. Forge's own `rh_context` structural backend uses the bundled CodeGraph runtime when available.
|
|
13
12
|
|
|
14
13
|
`forge install` installs the Forge CLI/runtime and managed host adapters. It does **not** install Waza, Mermaid, or cross-review skills unless `--with-external-skills` is explicitly supplied. `forge setup` is the guided readiness workflow; `forge setup check` is the one-shot read-only report.
|
|
15
14
|
|
|
@@ -40,9 +39,6 @@ The detector intentionally avoids side-effecting commands. It does not run:
|
|
|
40
39
|
- `npx skills update`
|
|
41
40
|
- `gbrain serve`
|
|
42
41
|
- `gbrain sync`
|
|
43
|
-
- `codegraph init`
|
|
44
|
-
- `codegraph sync`
|
|
45
|
-
- `codegraph install`
|
|
46
42
|
|
|
47
43
|
With `--check-updates`, Waza update checks fetch upstream GitHub raw
|
|
48
44
|
`SKILL.md` and shared `rules/` files, then compare versions/hashes against each
|
|
@@ -118,12 +114,6 @@ CLI and does not ship the forge advisory command.
|
|
|
118
114
|
check` may report its local state, but missing or stale `gbrain` must not
|
|
119
115
|
create Agent repair/update actions or change the setup readiness result.
|
|
120
116
|
|
|
121
|
-
### CodeGraph
|
|
122
|
-
|
|
123
|
-
`CodeGraph` has two integration levels. Forge-internal structural retrieval is provided through `rh_context` and the bundled CodeGraph runtime when available. A global `codegraph` CLI or host MCP entry is optional and exists only for direct Codex/Claude use. Neither replaces workflow checks, tests, architecture evidence, or raw source reads.
|
|
124
|
-
|
|
125
|
-
Forge packages a CodeGraph runtime for its own structural context provider and can ensure the repository index without requiring a user-global CLI. `forge tools configure codegraph` remains an explicit optional host integration.
|
|
126
|
-
|
|
127
117
|
### Runtime Ownership Boundary
|
|
128
118
|
|
|
129
119
|
`forge setup check --target <host> --check-updates --json` reports the
|
|
@@ -151,66 +141,6 @@ script reports unsupported link-mode and tells the caller to use copy-mode.
|
|
|
151
141
|
`rsync` is missing, the script reports unsupported copy-mode instead of a
|
|
152
142
|
generic command failure.
|
|
153
143
|
|
|
154
|
-
Read-only check:
|
|
155
|
-
|
|
156
|
-
```bash
|
|
157
|
-
codegraph status .
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
Local index mutation:
|
|
161
|
-
|
|
162
|
-
```bash
|
|
163
|
-
codegraph init -i .
|
|
164
|
-
codegraph sync .
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Do not ask users to copy MCP TOML or Claude JSON by hand. The user-facing path
|
|
168
|
-
is one terminal command, or explicit authorization for their agent to run the
|
|
169
|
-
same command:
|
|
170
|
-
|
|
171
|
-
```bash
|
|
172
|
-
bun add -g @colbymchenry/codegraph && forge tools configure codegraph --target codex --location global
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
This delegates host-specific MCP config to CodeGraph's target adapters for
|
|
176
|
-
Codex and Claude, so do not run CodeGraph setup automatically from
|
|
177
|
-
`forge install`, `forge adopt`, or explicit tooling configuration. Restart Codex after the installer
|
|
178
|
-
finishes so the MCP server is discovered; Claude Code should pick up its config
|
|
179
|
-
according to its own settings reload behavior. If a launch environment still
|
|
180
|
-
cannot find `codegraph`, an authorized agent should diagnose `PATH` and the
|
|
181
|
-
`~/.local/bin/codegraph` shim. Do not make the user hand-edit MCP config as the
|
|
182
|
-
fallback.
|
|
183
|
-
|
|
184
|
-
For troubleshooting only, inspect host config snippets without writing:
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
codegraph install --print-config codex
|
|
188
|
-
codegraph install --print-config claude
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
Project-local indexes are ignored runtime state:
|
|
192
|
-
|
|
193
|
-
```bash
|
|
194
|
-
codegraph init -i .
|
|
195
|
-
codegraph status .
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
Before non-trivial code work, agents should sync the local index and use it for
|
|
199
|
-
P1/P2 discovery:
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
codegraph sync .
|
|
203
|
-
codegraph context "<task>"
|
|
204
|
-
codegraph query <symbol> --json
|
|
205
|
-
codegraph callers <symbol> --json
|
|
206
|
-
codegraph callees <symbol> --json
|
|
207
|
-
codegraph impact <symbol> --json
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
For this repo, do not treat `codegraph affected` as an authoritative test
|
|
211
|
-
selector. Many tests execute scripts by path or subprocess rather than import
|
|
212
|
-
edges, so run the repo verification commands instead.
|
|
213
|
-
|
|
214
144
|
### Bash Output Evidence and RTK
|
|
215
145
|
|
|
216
146
|
`forge` treats Bash output as runtime evidence, not durable task state.
|
|
@@ -267,12 +197,6 @@ gbrain check-update --json
|
|
|
267
197
|
gbrain upgrade
|
|
268
198
|
```
|
|
269
199
|
|
|
270
|
-
### CodeGraph
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
bun add -g @colbymchenry/codegraph@latest && codegraph sync . && codegraph status .
|
|
274
|
-
```
|
|
275
|
-
|
|
276
200
|
## Manual Knowledge Sync
|
|
277
201
|
|
|
278
202
|
`gbrain` stays advisory-first in this contract. Manual repo sync is allowed:
|
|
@@ -9,6 +9,25 @@ Use this content for user-level `~/.codex/AGENTS.md` and `~/.claude/CLAUDE.md` a
|
|
|
9
9
|
- Act as an engineering collaborator: finish the concrete task, verify it, then report conclusion, actual change, reason, verification, and residual risk.
|
|
10
10
|
- Prefer direct execution over repeated confirmation. Stop to ask only when continuing would likely produce output contrary to the user's intent.
|
|
11
11
|
|
|
12
|
+
## Delivery Transaction Discipline
|
|
13
|
+
|
|
14
|
+
### Current Task Lineage Isolation
|
|
15
|
+
|
|
16
|
+
- Select the current task from explicit user intent plus the exact Work/Requirement/Plan lineage. Never treat repository-wide active Work as the current task queue.
|
|
17
|
+
- Global status/inventory exists for conflict, ownership, blocker, and release-admission checks only. Unrelated active Work must not trigger discovery, edits, validation, review, release, cleanup, or progress accounting in the current controller round.
|
|
18
|
+
- Switch tasks only on explicit user intent or an explicit typed lineage transition. Similar files, shared broad Requirements, urgency, or mere visibility in status are not lineage.
|
|
19
|
+
- Report current-task progress from the current lineage only; label unrelated repository activity separately if it materially blocks the task.
|
|
20
|
+
|
|
21
|
+
For architecture migrations, self-hosting work, and other multi-file system changes, optimize for one bounded delivery transaction instead of repeated micro-lifecycles.
|
|
22
|
+
|
|
23
|
+
- Batch facts first, decide the root cause/owner once, freeze the delivery scope, implement the coherent candidate, review the whole diff, run one focused validation wave, run canonical gates once, then deliver and clean up.
|
|
24
|
+
- A newly observed symptom or affected file does not justify a new Work. Extend the current candidate when the same architecture invariant/root cause still owns the change; create a sibling Work only for a genuinely independent authority, security boundary, delivery, or architecture decision.
|
|
25
|
+
- Do not use Git commits as scratch savepoints. Prefer Work/edit-session/savepoint state during implementation and one coherent candidate commit at the delivery boundary.
|
|
26
|
+
- Do not repeatedly run baseline checks, broad suites, Candidate builds, canaries, or Runtime activation while source-changing work for the same delivery remains active. Release begins only after the source candidate is frozen.
|
|
27
|
+
- After a check failure, repair the same candidate and rerun the affected check set unless the evidence invalidates the architecture; do not restart the whole lifecycle by default.
|
|
28
|
+
- Retire superseded/covered Work and Plan state promptly. Active lifecycle records must describe real remaining work, not historical debris.
|
|
29
|
+
- When the workflow machinery itself has a design problem, capture a bounded follow-up Plan. If the current version can still converge safely, defer that machinery refactor until after the release instead of expanding the release scope.
|
|
30
|
+
|
|
12
31
|
## Progressive Due Diligence
|
|
13
32
|
|
|
14
33
|
For non-trivial engineering work, do P1/P2/P3 before design decisions or code edits.
|
|
@@ -35,6 +35,6 @@ evidence must record `full_test_count`, `dry_run_ratio`, `grader_pass_rate`, and
|
|
|
35
35
|
evidence is non-authoritative, and missing eval evidence must be called out as
|
|
36
36
|
unavailable. Readiness yellow flags from `forge-check` must be recorded
|
|
37
37
|
with either the accepted reason or the concrete repair command, including Waza
|
|
38
|
-
staging drift, gbrain warnings,
|
|
38
|
+
staging drift, gbrain warnings, or non-authoritative
|
|
39
39
|
skill eval evidence. Do not rely only on npm or GitHub release metadata for this
|
|
40
40
|
local audit trail.
|
|
@@ -307,7 +307,7 @@ classify_change() {
|
|
|
307
307
|
[[ "$rel_path" == ".ai/harness/policy.json" ]] ||
|
|
308
308
|
[[ "$rel_path" == ".ai/harness/workflow-contract.json" ]] ||
|
|
309
309
|
[[ "$rel_path" == "assets/workflow-contract.v1.json" ]] ||
|
|
310
|
-
[[ "$rel_path" =~ ^scripts/(architecture-queue|context-contract-sync|workstream-sync|migrate-project-template|migrate-workflow-docs|inspect-project-state|
|
|
310
|
+
[[ "$rel_path" =~ ^scripts/(architecture-queue|context-contract-sync|workstream-sync|migrate-project-template|migrate-workflow-docs|inspect-project-state|capability-resolver|capability-config|create-project-dirs|init-project|ensure-task-workflow|check-task-workflow|check-deploy-sql-order|refresh-current-status|workflow-contract|select-agent-context-blocks)\.(sh|ts)$ ]] ||
|
|
311
311
|
[[ "$rel_path" == "scripts/lib/project-init-lib.sh" ]]; then
|
|
312
312
|
printf 'high workflow-surface\n'
|
|
313
313
|
return
|
|
@@ -76,20 +76,9 @@ const WAZA_RAW_BASE_URL = "https://raw.githubusercontent.com/tw93/Waza/main";
|
|
|
76
76
|
const WAZA_MANAGED_SKILLS = ["think", "hunt", "check", "health"];
|
|
77
77
|
const WAZA_SHARED_RULES = ["anti-patterns.md", "chinese.md", "durable-context.md", "english.md"];
|
|
78
78
|
const CODEX_AUTOMATION_SKILLS = ["health", "check", "mermaid"];
|
|
79
|
-
const CODEGRAPH_PACKAGE = "@colbymchenry/codegraph";
|
|
80
|
-
const CODEGRAPH_GLOBAL_INSTALL_COMMAND = `bun add -g ${CODEGRAPH_PACKAGE} && forge tools configure codegraph --target codex --location global`;
|
|
81
79
|
const GBRAIN_INSTALL_COMMAND = "bun install -g github:garrytan/gbrain";
|
|
82
80
|
const GBRAIN_INSTALL_NOTE =
|
|
83
81
|
"Install from GitHub; npm registry package gbrain is an unrelated GPU library and does not ship this CLI.";
|
|
84
|
-
const CODEGRAPH_MCP_CONFIGURE_COMMAND = "forge tools configure codegraph --target <codex|claude|both> --location global";
|
|
85
|
-
const CODEGRAPH_LOCAL_INSTALL_COMMAND = "bun install";
|
|
86
|
-
const CODEGRAPH_ENSURE_COMMAND = [
|
|
87
|
-
".ai/harness/scripts/ensure-codegraph.sh",
|
|
88
|
-
"scripts/ensure-codegraph.sh",
|
|
89
|
-
].find((relPath) => fs.existsSync(path.join(REPO_ROOT, relPath)));
|
|
90
|
-
const CODEGRAPH_ENSURE_BASH_COMMAND = CODEGRAPH_ENSURE_COMMAND
|
|
91
|
-
? `bash ${CODEGRAPH_ENSURE_COMMAND}`
|
|
92
|
-
: null;
|
|
93
82
|
const WAZA_STAGING_ROOT = path.join(HOME, ".agents");
|
|
94
83
|
const WAZA_STAGING_DIR = path.join(WAZA_STAGING_ROOT, "skills");
|
|
95
84
|
const WAZA_STAGING_RULES_DIR = path.join(WAZA_STAGING_ROOT, "rules");
|
|
@@ -1070,97 +1059,6 @@ function detectGbrain() {
|
|
|
1070
1059
|
};
|
|
1071
1060
|
}
|
|
1072
1061
|
|
|
1073
|
-
function detectCodeGraphMcp(host) {
|
|
1074
|
-
const meta = HOSTS[host];
|
|
1075
|
-
const content = readText(meta.configPath);
|
|
1076
|
-
function claudeEntryResult(entry, source) {
|
|
1077
|
-
if (!entry || typeof entry !== "object") return null;
|
|
1078
|
-
if (entry.alwaysLoad === true) {
|
|
1079
|
-
return {
|
|
1080
|
-
status: "configured",
|
|
1081
|
-
always_load: true,
|
|
1082
|
-
tool_search: "always-load",
|
|
1083
|
-
reason: `${source} contains a codegraph MCP server entry with alwaysLoad=true.`,
|
|
1084
|
-
};
|
|
1085
|
-
}
|
|
1086
|
-
return {
|
|
1087
|
-
status: "deferred",
|
|
1088
|
-
always_load: false,
|
|
1089
|
-
tool_search: "deferred",
|
|
1090
|
-
reason: `${source} contains a codegraph MCP server entry, but alwaysLoad is not true; Claude Code MCP Tool Search may defer CodeGraph tools.`,
|
|
1091
|
-
};
|
|
1092
|
-
}
|
|
1093
|
-
function claudeTextFallback(source, sourcePath) {
|
|
1094
|
-
return {
|
|
1095
|
-
status: "deferred",
|
|
1096
|
-
always_load: false,
|
|
1097
|
-
tool_search: "unknown",
|
|
1098
|
-
reason: `${source} contains a codegraph MCP server entry at ${sourcePath}, but alwaysLoad could not be verified.`,
|
|
1099
|
-
};
|
|
1100
|
-
}
|
|
1101
|
-
|
|
1102
|
-
if (!content) {
|
|
1103
|
-
if (host === "claude") {
|
|
1104
|
-
const claudeRootConfig = path.join(HOME, ".claude.json");
|
|
1105
|
-
const rootJson = readJson(claudeRootConfig);
|
|
1106
|
-
const rootEntry = claudeEntryResult(rootJson?.mcpServers?.codegraph, `Claude root config at ${claudeRootConfig}`);
|
|
1107
|
-
if (rootEntry) return rootEntry;
|
|
1108
|
-
const rootContent = readText(claudeRootConfig);
|
|
1109
|
-
if (/codegraph/i.test(rootContent)) {
|
|
1110
|
-
return claudeTextFallback("Claude root config", claudeRootConfig);
|
|
1111
|
-
}
|
|
1112
|
-
}
|
|
1113
|
-
|
|
1114
|
-
return {
|
|
1115
|
-
status: "missing",
|
|
1116
|
-
reason: `No ${meta.label} config found at ${meta.configPath}.`,
|
|
1117
|
-
};
|
|
1118
|
-
}
|
|
1119
|
-
|
|
1120
|
-
if (host === "codex") {
|
|
1121
|
-
if (/\[mcp_servers\.codegraph\]/.test(content)) {
|
|
1122
|
-
return {
|
|
1123
|
-
status: "configured",
|
|
1124
|
-
reason: "Codex config contains a codegraph MCP server entry.",
|
|
1125
|
-
};
|
|
1126
|
-
}
|
|
1127
|
-
|
|
1128
|
-
return {
|
|
1129
|
-
status: "missing",
|
|
1130
|
-
reason: "Codex config does not contain a codegraph MCP server entry.",
|
|
1131
|
-
};
|
|
1132
|
-
}
|
|
1133
|
-
|
|
1134
|
-
const settingsJson = readJson(meta.configPath);
|
|
1135
|
-
const settingsEntry = claudeEntryResult(settingsJson?.mcpServers?.codegraph, `Claude settings at ${meta.configPath}`);
|
|
1136
|
-
if (settingsEntry) return settingsEntry;
|
|
1137
|
-
if (/"mcpServers"\s*:\s*{[\s\S]*"codegraph"/i.test(content)) {
|
|
1138
|
-
return claudeTextFallback("Claude settings", meta.configPath);
|
|
1139
|
-
}
|
|
1140
|
-
|
|
1141
|
-
const claudeRootConfig = path.join(HOME, ".claude.json");
|
|
1142
|
-
const rootJson = readJson(claudeRootConfig);
|
|
1143
|
-
const rootEntry = claudeEntryResult(rootJson?.mcpServers?.codegraph, `Claude root config at ${claudeRootConfig}`);
|
|
1144
|
-
if (rootEntry) return rootEntry;
|
|
1145
|
-
const rootContent = readText(claudeRootConfig);
|
|
1146
|
-
if (/"mcpServers"\s*:\s*{[\s\S]*"codegraph"/i.test(rootContent)) {
|
|
1147
|
-
return claudeTextFallback("Claude root config", claudeRootConfig);
|
|
1148
|
-
}
|
|
1149
|
-
|
|
1150
|
-
return {
|
|
1151
|
-
status: "missing",
|
|
1152
|
-
reason: "Claude config does not contain a codegraph MCP server entry.",
|
|
1153
|
-
};
|
|
1154
|
-
}
|
|
1155
|
-
|
|
1156
|
-
function parseCodeGraphProjectStatus(output) {
|
|
1157
|
-
if (/Not initialized/i.test(output)) return "not-initialized";
|
|
1158
|
-
if (/Index is up to date/i.test(output)) return "up-to-date";
|
|
1159
|
-
if (/Pending Changes/i.test(output) || /Run "codegraph sync/i.test(output)) return "stale";
|
|
1160
|
-
if (/CodeGraph Status/i.test(output)) return "unknown";
|
|
1161
|
-
return "unavailable";
|
|
1162
|
-
}
|
|
1163
|
-
|
|
1164
1062
|
function resolvePathCommand(command) {
|
|
1165
1063
|
const pathValue = process.env.PATH || "";
|
|
1166
1064
|
for (const dir of pathValue.split(path.delimiter)) {
|
|
@@ -1171,207 +1069,6 @@ function resolvePathCommand(command) {
|
|
|
1171
1069
|
return null;
|
|
1172
1070
|
}
|
|
1173
1071
|
|
|
1174
|
-
function codeGraphPackageDeclared() {
|
|
1175
|
-
const pkg = readJson(path.join(REPO_ROOT, "package.json"));
|
|
1176
|
-
if (!pkg || typeof pkg !== "object") return false;
|
|
1177
|
-
return Boolean(
|
|
1178
|
-
pkg.devDependencies?.[CODEGRAPH_PACKAGE] ||
|
|
1179
|
-
pkg.dependencies?.[CODEGRAPH_PACKAGE] ||
|
|
1180
|
-
pkg.optionalDependencies?.[CODEGRAPH_PACKAGE]
|
|
1181
|
-
);
|
|
1182
|
-
}
|
|
1183
|
-
|
|
1184
|
-
function codeGraphPlatformPackageName() {
|
|
1185
|
-
return `${CODEGRAPH_PACKAGE}-${process.platform}-${process.arch}`;
|
|
1186
|
-
}
|
|
1187
|
-
|
|
1188
|
-
function codeGraphPlatformBundleBin() {
|
|
1189
|
-
if (process.platform === "win32") return null;
|
|
1190
|
-
return path.join(REPO_ROOT, "node_modules", codeGraphPlatformPackageName(), "bin", "codegraph");
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
function resolveCodeGraphBinary() {
|
|
1194
|
-
const allowRepoLocal = process.env.AGENTIC_DEV_CODEGRAPH_ALLOW_REPO_LOCAL !== "0";
|
|
1195
|
-
const allowGlobal = process.env.AGENTIC_DEV_CODEGRAPH_ALLOW_GLOBAL !== "0";
|
|
1196
|
-
const localCandidates = [];
|
|
1197
|
-
const localOverride = process.env.AGENTIC_DEV_CODEGRAPH_LOCAL_BIN;
|
|
1198
|
-
const globalOverride = process.env.AGENTIC_DEV_CODEGRAPH_GLOBAL_BIN;
|
|
1199
|
-
|
|
1200
|
-
if (localOverride) localCandidates.push(localOverride);
|
|
1201
|
-
if (allowRepoLocal) {
|
|
1202
|
-
localCandidates.push(codeGraphPlatformBundleBin());
|
|
1203
|
-
localCandidates.push(path.join(REPO_ROOT, "node_modules", ".bin", "codegraph"));
|
|
1204
|
-
}
|
|
1205
|
-
|
|
1206
|
-
let localBinPath = null;
|
|
1207
|
-
for (const candidate of localCandidates) {
|
|
1208
|
-
if (candidate && fileIsExecutable(candidate)) {
|
|
1209
|
-
localBinPath = candidate;
|
|
1210
|
-
break;
|
|
1211
|
-
}
|
|
1212
|
-
}
|
|
1213
|
-
|
|
1214
|
-
let globalBinPath = null;
|
|
1215
|
-
if (allowGlobal) {
|
|
1216
|
-
if (globalOverride && fileIsExecutable(globalOverride)) {
|
|
1217
|
-
globalBinPath = globalOverride;
|
|
1218
|
-
} else if (!globalOverride) {
|
|
1219
|
-
globalBinPath = resolvePathCommand("codegraph");
|
|
1220
|
-
}
|
|
1221
|
-
}
|
|
1222
|
-
|
|
1223
|
-
if (localBinPath) {
|
|
1224
|
-
return {
|
|
1225
|
-
source: "local",
|
|
1226
|
-
bin_path: localBinPath,
|
|
1227
|
-
local_bin_path: localBinPath,
|
|
1228
|
-
global_bin_path: globalBinPath,
|
|
1229
|
-
global_fallback_used: false,
|
|
1230
|
-
};
|
|
1231
|
-
}
|
|
1232
|
-
|
|
1233
|
-
if (globalBinPath) {
|
|
1234
|
-
return {
|
|
1235
|
-
source: "global",
|
|
1236
|
-
bin_path: globalBinPath,
|
|
1237
|
-
local_bin_path: null,
|
|
1238
|
-
global_bin_path: globalBinPath,
|
|
1239
|
-
global_fallback_used: true,
|
|
1240
|
-
};
|
|
1241
|
-
}
|
|
1242
|
-
|
|
1243
|
-
return {
|
|
1244
|
-
source: "missing",
|
|
1245
|
-
bin_path: null,
|
|
1246
|
-
local_bin_path: null,
|
|
1247
|
-
global_bin_path: null,
|
|
1248
|
-
global_fallback_used: false,
|
|
1249
|
-
};
|
|
1250
|
-
}
|
|
1251
|
-
|
|
1252
|
-
function codeGraphVersion(binPath) {
|
|
1253
|
-
if (!binPath) return null;
|
|
1254
|
-
const result = run(binPath, ["--version"], { timeoutMs: 1000 });
|
|
1255
|
-
if (result.ok) return result.stdout.trim() || null;
|
|
1256
|
-
if (result.timed_out) {
|
|
1257
|
-
const retry = run(binPath, ["--version"], { timeoutMs: 1000 });
|
|
1258
|
-
if (retry.ok) return retry.stdout.trim() || null;
|
|
1259
|
-
}
|
|
1260
|
-
return null;
|
|
1261
|
-
}
|
|
1262
|
-
|
|
1263
|
-
function detectCodeGraph() {
|
|
1264
|
-
const resolution = resolveCodeGraphBinary();
|
|
1265
|
-
const cliPresent = Boolean(resolution.bin_path);
|
|
1266
|
-
const version = codeGraphVersion(resolution.bin_path);
|
|
1267
|
-
const globalVersion = resolution.global_bin_path && resolution.global_bin_path !== resolution.bin_path
|
|
1268
|
-
? codeGraphVersion(resolution.global_bin_path)
|
|
1269
|
-
: resolution.source === "global"
|
|
1270
|
-
? version
|
|
1271
|
-
: null;
|
|
1272
|
-
const localVersion = resolution.source === "local" ? version : null;
|
|
1273
|
-
const packageDeclared = codeGraphPackageDeclared();
|
|
1274
|
-
const mcpHosts = {};
|
|
1275
|
-
|
|
1276
|
-
for (const host of SELECTED_HOSTS) {
|
|
1277
|
-
mcpHosts[host] = {
|
|
1278
|
-
label: HOSTS[host].label,
|
|
1279
|
-
...detectCodeGraphMcp(host),
|
|
1280
|
-
};
|
|
1281
|
-
}
|
|
1282
|
-
|
|
1283
|
-
const selectedMcpConfigured = SELECTED_HOSTS.every((host) => mcpHosts[host]?.status === "configured");
|
|
1284
|
-
const statusResult = cliPresent ? run(resolution.bin_path, ["status", "."], { timeoutMs: 1500 }) : null;
|
|
1285
|
-
const statusOutput = `${statusResult?.stdout || ""}\n${statusResult?.stderr || ""}`;
|
|
1286
|
-
const projectIndexStatus = cliPresent ? parseCodeGraphProjectStatus(statusOutput) : "unavailable";
|
|
1287
|
-
const indexInitialized = fs.existsSync(path.join(REPO_ROOT, ".codegraph"))
|
|
1288
|
-
|| ["up-to-date", "stale", "unknown"].includes(projectIndexStatus);
|
|
1289
|
-
const updateResult = cliPresent && checkUpdates
|
|
1290
|
-
? run("npm", ["view", CODEGRAPH_PACKAGE, "version", "--json"], { timeoutMs: 3000 })
|
|
1291
|
-
: null;
|
|
1292
|
-
const latestVersion = updateResult?.ok ? (parseJson(updateResult.stdout) || updateResult.stdout.trim().replace(/^"|"$/g, "")) : null;
|
|
1293
|
-
const updateStatus = !checkUpdates
|
|
1294
|
-
? "not-checked"
|
|
1295
|
-
: latestVersion && version
|
|
1296
|
-
? (String(latestVersion) === String(version) ? "up-to-date" : "update-available")
|
|
1297
|
-
: "unknown";
|
|
1298
|
-
const localDependencyMissing = packageDeclared && resolution.source === "global";
|
|
1299
|
-
const status = !cliPresent
|
|
1300
|
-
? "missing"
|
|
1301
|
-
: localDependencyMissing || !selectedMcpConfigured || projectIndexStatus === "not-initialized" || projectIndexStatus === "unavailable"
|
|
1302
|
-
? "partial"
|
|
1303
|
-
: projectIndexStatus === "stale" || projectIndexStatus === "unknown"
|
|
1304
|
-
? "warning"
|
|
1305
|
-
: "present";
|
|
1306
|
-
|
|
1307
|
-
return {
|
|
1308
|
-
name: "codegraph",
|
|
1309
|
-
status,
|
|
1310
|
-
reason: !cliPresent
|
|
1311
|
-
? "CodeGraph CLI is not installed."
|
|
1312
|
-
: localDependencyMissing
|
|
1313
|
-
? "CodeGraph global fallback is present, but this repo declares a local dev dependency that is not installed."
|
|
1314
|
-
: !selectedMcpConfigured
|
|
1315
|
-
? "CodeGraph CLI is present, but one or more selected host MCP configs are missing or deferred."
|
|
1316
|
-
: projectIndexStatus === "not-initialized"
|
|
1317
|
-
? "CodeGraph CLI and MCP are present, but this repo has not been indexed."
|
|
1318
|
-
: projectIndexStatus === "unavailable"
|
|
1319
|
-
? "CodeGraph CLI and MCP are present, but project index status could not be read."
|
|
1320
|
-
: projectIndexStatus === "stale"
|
|
1321
|
-
? "CodeGraph is configured, but this repo index has pending changes."
|
|
1322
|
-
: projectIndexStatus === "unknown"
|
|
1323
|
-
? "CodeGraph is configured, but this repo index status is unknown."
|
|
1324
|
-
: "CodeGraph CLI, selected host MCP config, and project index are ready.",
|
|
1325
|
-
package: CODEGRAPH_PACKAGE,
|
|
1326
|
-
primary_host: "codex",
|
|
1327
|
-
cli_present: cliPresent,
|
|
1328
|
-
source: resolution.source,
|
|
1329
|
-
bin_path: resolution.bin_path,
|
|
1330
|
-
local_bin_path: resolution.local_bin_path,
|
|
1331
|
-
global_bin_path: resolution.global_bin_path,
|
|
1332
|
-
global_fallback_used: resolution.global_fallback_used,
|
|
1333
|
-
version,
|
|
1334
|
-
local_version: localVersion,
|
|
1335
|
-
global_version: globalVersion,
|
|
1336
|
-
dependency_declared: packageDeclared,
|
|
1337
|
-
drift: localVersion && globalVersion && localVersion !== globalVersion
|
|
1338
|
-
? { local: localVersion, global: globalVersion, using: resolution.source }
|
|
1339
|
-
: null,
|
|
1340
|
-
latest_version: latestVersion,
|
|
1341
|
-
update_status: updateStatus,
|
|
1342
|
-
update_reason: !checkUpdates
|
|
1343
|
-
? "Update checks were skipped."
|
|
1344
|
-
: updateResult?.timed_out
|
|
1345
|
-
? "CodeGraph npm version check timed out."
|
|
1346
|
-
: latestVersion && version
|
|
1347
|
-
? (String(latestVersion) === String(version) ? "Local CodeGraph matches npm latest." : "npm reports a newer CodeGraph version.")
|
|
1348
|
-
: "CodeGraph update status is unknown.",
|
|
1349
|
-
mcp_hosts: mcpHosts,
|
|
1350
|
-
project_index: {
|
|
1351
|
-
status: projectIndexStatus,
|
|
1352
|
-
initialized: indexInitialized,
|
|
1353
|
-
path: path.join(REPO_ROOT, ".codegraph"),
|
|
1354
|
-
command: "codegraph status .",
|
|
1355
|
-
},
|
|
1356
|
-
install_command: packageDeclared ? CODEGRAPH_LOCAL_INSTALL_COMMAND : CODEGRAPH_GLOBAL_INSTALL_COMMAND,
|
|
1357
|
-
ensure_command: packageDeclared ? CODEGRAPH_ENSURE_BASH_COMMAND : null,
|
|
1358
|
-
mcp_install_command: CODEGRAPH_MCP_CONFIGURE_COMMAND,
|
|
1359
|
-
init_command: packageDeclared && CODEGRAPH_ENSURE_BASH_COMMAND ? `${CODEGRAPH_ENSURE_BASH_COMMAND} --init` : "codegraph init -i .",
|
|
1360
|
-
sync_command: packageDeclared && CODEGRAPH_ENSURE_BASH_COMMAND ? `${CODEGRAPH_ENSURE_BASH_COMMAND} --sync` : "codegraph sync .",
|
|
1361
|
-
upgrade_command: packageDeclared && CODEGRAPH_ENSURE_BASH_COMMAND ? `bun update @colbymchenry/codegraph && ${CODEGRAPH_ENSURE_BASH_COMMAND} --sync` : `bun add -g ${CODEGRAPH_PACKAGE}@latest && codegraph sync .`,
|
|
1362
|
-
uninstall_command: "codegraph uninstall --target codex --location global --yes",
|
|
1363
|
-
readiness: {
|
|
1364
|
-
required_for: "codex-agent-code-navigation",
|
|
1365
|
-
hook_policy: "do-not-block-hooks",
|
|
1366
|
-
user_setup: "one-terminal-command-or-authorized-agent-action",
|
|
1367
|
-
},
|
|
1368
|
-
impact: {
|
|
1369
|
-
code_navigation: status === "present" ? "full" : status === "warning" ? "stale-index" : "missing",
|
|
1370
|
-
hook_correctness: "unaffected",
|
|
1371
|
-
},
|
|
1372
|
-
};
|
|
1373
|
-
}
|
|
1374
|
-
|
|
1375
1072
|
const wazaReport = detectWaza();
|
|
1376
1073
|
const report = {
|
|
1377
1074
|
generated_at: new Date().toISOString(),
|
|
@@ -1384,14 +1081,10 @@ const report = {
|
|
|
1384
1081
|
waza: wazaReport,
|
|
1385
1082
|
codex_automation_profile: detectCodexAutomationProfile(),
|
|
1386
1083
|
gbrain: detectGbrain(),
|
|
1387
|
-
codegraph: detectCodeGraph(),
|
|
1388
1084
|
},
|
|
1389
1085
|
};
|
|
1390
1086
|
|
|
1391
1087
|
const strictFailures = [];
|
|
1392
|
-
if (strictReadiness && ["missing", "partial"].includes(report.tools.codegraph.status)) {
|
|
1393
|
-
strictFailures.push(`CodeGraph readiness is ${report.tools.codegraph.status}: ${report.tools.codegraph.reason}`);
|
|
1394
|
-
}
|
|
1395
1088
|
|
|
1396
1089
|
function printText(result) {
|
|
1397
1090
|
console.log("External Tooling Report");
|
|
@@ -1496,26 +1189,7 @@ function printText(result) {
|
|
|
1496
1189
|
console.log(` - Manual sync: ${gbrain.sync_command}`);
|
|
1497
1190
|
console.log("");
|
|
1498
1191
|
|
|
1499
|
-
|
|
1500
|
-
console.log(`CodeGraph [${codegraph.status}]`);
|
|
1501
|
-
console.log(` - CLI: ${codegraph.cli_present ? `present${codegraph.version ? ` (v${codegraph.version})` : ""} via ${codegraph.source}` : "missing"}`);
|
|
1502
|
-
if (codegraph.drift) {
|
|
1503
|
-
console.log(` - Drift: local=${codegraph.drift.local}, global=${codegraph.drift.global}, using=${codegraph.drift.using}`);
|
|
1504
|
-
}
|
|
1505
|
-
for (const host of SELECTED_HOSTS) {
|
|
1506
|
-
const entry = codegraph.mcp_hosts[host];
|
|
1507
|
-
const suffix = entry.tool_search ? ` (${entry.tool_search})` : "";
|
|
1508
|
-
console.log(` - ${entry.label} MCP: ${entry.status}${suffix}`);
|
|
1509
|
-
}
|
|
1510
|
-
console.log(` - Project index: ${codegraph.project_index.status}`);
|
|
1511
|
-
console.log(` - Updates: ${codegraph.update_status} (${codegraph.update_reason})`);
|
|
1512
|
-
console.log(` - Impact: code-navigation=${codegraph.impact.code_navigation}, hooks=${codegraph.impact.hook_correctness}`);
|
|
1513
|
-
console.log(` - Install deps: ${codegraph.install_command}`);
|
|
1514
|
-
if (codegraph.ensure_command) {
|
|
1515
|
-
console.log(` - Ensure: ${codegraph.ensure_command}`);
|
|
1516
|
-
}
|
|
1517
|
-
console.log(` - Init index: ${codegraph.init_command}`);
|
|
1518
|
-
console.log(` - Sync index: ${codegraph.sync_command}`);
|
|
1192
|
+
|
|
1519
1193
|
}
|
|
1520
1194
|
|
|
1521
1195
|
if (jsonOutput) {
|
|
@@ -670,7 +670,7 @@ check_helper_runtime_files() {
|
|
|
670
670
|
refresh-current-status.sh prepare-handoff.sh verify-contract.sh summarize-failures.sh
|
|
671
671
|
verify-sprint.sh sprint-backlog.sh check-task-sync.sh check-deploy-sql-order.sh
|
|
672
672
|
check-architecture-sync.sh check-agent-tooling.sh check-context-files.sh
|
|
673
|
-
check-brain-manifest.sh sync-brain-docs.sh
|
|
673
|
+
check-brain-manifest.sh sync-brain-docs.sh
|
|
674
674
|
select-agent-context-blocks.sh ensure-task-workflow.sh check-task-workflow.sh
|
|
675
675
|
switch-plan.sh workflow-contract.ts
|
|
676
676
|
inspect-project-state.ts migrate-workflow-docs.ts migrate-project-template.sh
|
|
@@ -1012,20 +1012,6 @@ ARCHITECTURE_INDEX_EOF
|
|
|
1012
1012
|
},
|
|
1013
1013
|
"gbrain": {
|
|
1014
1014
|
"mcp": "candidate-disabled"
|
|
1015
|
-
},
|
|
1016
|
-
"codegraph": {
|
|
1017
|
-
"package": "@colbymchenry/codegraph",
|
|
1018
|
-
"primary_host": "both",
|
|
1019
|
-
"install_mode": "target-aware-mcp",
|
|
1020
|
-
"codex_config_path": "~/.codex/config.toml",
|
|
1021
|
-
"claude_config_path": "~/.claude.json",
|
|
1022
|
-
"index_dir": ".codegraph",
|
|
1023
|
-
"readiness": "forge-bundled-backend; host-mcp-optional",
|
|
1024
|
-
"hook_policy": "do-not-block-hooks",
|
|
1025
|
-
"install_command": "bun add -g @colbymchenry/codegraph && forge tools configure codegraph --target codex --location global",
|
|
1026
|
-
"project_init_command": "codegraph init -i .",
|
|
1027
|
-
"sync_command": "codegraph sync .",
|
|
1028
|
-
"vendoring_policy": "do-not-add-package-dependency"
|
|
1029
1015
|
}
|
|
1030
1016
|
},
|
|
1031
1017
|
"agentic_development": {
|