@moretea-labs/forge 1.5.0-rc.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 +120 -0
- package/CHANGELOG.md +36 -0
- package/CLAUDE.md +120 -0
- package/CODE_OF_CONDUCT.md +23 -0
- package/CONTRIBUTING.md +77 -0
- package/LICENSE +22 -0
- package/NOTICE +9 -0
- package/README.en.md +5 -0
- package/README.es.md +12 -0
- package/README.fr.md +12 -0
- package/README.ja.md +12 -0
- package/README.md +132 -0
- package/README.zh-CN.md +84 -0
- package/SECURITY.md +50 -0
- package/SKILL.md +431 -0
- package/SUPPORT.md +31 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/agents/openai.yaml +4 -0
- package/assets/AGENTS.md +68 -0
- package/assets/CLAUDE.md +68 -0
- package/assets/branding/README.md +10 -0
- package/assets/branding/forge-controller-flow.mmd +8 -0
- package/assets/hooks/AGENTS.md +75 -0
- package/assets/hooks/CLAUDE.md +75 -0
- package/assets/hooks/anti-simplification.sh +12 -0
- package/assets/hooks/changelog-guard.sh +80 -0
- package/assets/hooks/codex.hooks.template.json +60 -0
- package/assets/hooks/first-principles-guard.sh +72 -0
- package/assets/hooks/hook-input.sh +618 -0
- package/assets/hooks/lib/session-state.sh +106 -0
- package/assets/hooks/lib/workflow-state.sh +1730 -0
- package/assets/hooks/post-bash.sh +215 -0
- package/assets/hooks/post-edit-guard.sh +256 -0
- package/assets/hooks/post-tool-observer.sh +99 -0
- package/assets/hooks/pre-edit-guard.sh +240 -0
- package/assets/hooks/prompt-guard.sh +1077 -0
- package/assets/hooks/run-hook.sh +67 -0
- package/assets/hooks/security-sentinel.sh +115 -0
- package/assets/hooks/session-start-context.sh +593 -0
- package/assets/hooks/settings.template.json +60 -0
- package/assets/hooks/stop-orchestrator.sh +171 -0
- package/assets/hooks/subagent-return-channel-guard.sh +107 -0
- package/assets/hooks/worktree-guard.sh +39 -0
- package/assets/initializer-question-pack.v1.json +132 -0
- package/assets/initializer-question-pack.v1.schema.json +46 -0
- package/assets/initializer-question-pack.v2.json +174 -0
- package/assets/initializer-question-pack.v3.json +206 -0
- package/assets/initializer-question-pack.v3.schema.json +92 -0
- package/assets/initializer-question-pack.v4.json +557 -0
- package/assets/initializer-question-pack.v4.schema.json +169 -0
- package/assets/partials/01-header.partial.md +10 -0
- package/assets/partials/02-iron-rules.partial.md +30 -0
- package/assets/partials/03-philosophy.partial.md +32 -0
- package/assets/partials/04-project-structure.partial.md +56 -0
- package/assets/partials/05-workflow.partial.md +79 -0
- package/assets/partials/06-cloudflare.partial.md +20 -0
- package/assets/partials/07-footer.partial.md +38 -0
- package/assets/partials/08-orchestration.partial.md +49 -0
- package/assets/partials/09-compact-instructions.partial.md +11 -0
- package/assets/partials/_assembly-order.md +40 -0
- package/assets/partials-agents/01-header.partial.md +8 -0
- package/assets/partials-agents/02-operating-mode.partial.md +44 -0
- package/assets/partials-agents/03-orchestration.partial.md +45 -0
- package/assets/partials-agents/04-task-protocol.partial.md +69 -0
- package/assets/partials-agents/05-coding-constraints.partial.md +20 -0
- package/assets/partials-agents/06-quality-safety.partial.md +23 -0
- package/assets/partials-agents/07-cloudflare.partial.md +9 -0
- package/assets/partials-agents/08-deep-docs.partial.md +32 -0
- package/assets/plan-map.json +301 -0
- package/assets/plugin-registry.v1.json +8 -0
- package/assets/project-structures/ai-native-collaborative-editor.txt +25 -0
- package/assets/project-structures/ai-native-product-copilot.txt +21 -0
- package/assets/project-structures/ai-native-runtime-console.txt +25 -0
- package/assets/project-structures/ai-native-sidecar-kernel.txt +19 -0
- package/assets/project-structures/astro-ssr.txt +25 -0
- package/assets/project-structures/expo-nativewind.txt +52 -0
- package/assets/project-structures/monorepo.txt +63 -0
- package/assets/project-structures/remix.txt +50 -0
- package/assets/project-structures/tanstack-start-workers.txt +51 -0
- package/assets/project-structures/vite-tanstack.txt +58 -0
- package/assets/reference-configs/AGENTS.md +13 -0
- package/assets/reference-configs/CLAUDE.md +13 -0
- package/assets/reference-configs/agentic-development-flow.md +94 -0
- package/assets/reference-configs/ai-workflows.md +14 -0
- package/assets/reference-configs/changelog-versioning.md +13 -0
- package/assets/reference-configs/coding-standards.md +14 -0
- package/assets/reference-configs/development-protocol.md +21 -0
- package/assets/reference-configs/document-generation.md +38 -0
- package/assets/reference-configs/evaluator-rubric.md +19 -0
- package/assets/reference-configs/external-tooling.md +374 -0
- package/assets/reference-configs/git-strategy.md +14 -0
- package/assets/reference-configs/global-working-rules.md +64 -0
- package/assets/reference-configs/handoff-protocol.md +38 -0
- package/assets/reference-configs/harness-overview.md +124 -0
- package/assets/reference-configs/heartbeat-triage.md +57 -0
- package/assets/reference-configs/hook-operations.md +96 -0
- package/assets/reference-configs/release-deploy.md +40 -0
- package/assets/reference-configs/spa-day-protocol.md +14 -0
- package/assets/reference-configs/sprint-contracts.md +89 -0
- package/assets/reference-configs/workflow-orchestration.md +14 -0
- package/assets/skill-hooks.json +41 -0
- package/assets/skill-version.json +189 -0
- package/assets/skills/claude-review/SKILL.md +231 -0
- package/assets/skills/codex-review/SKILL.md +103 -0
- package/assets/templates/AGENTS.md +13 -0
- package/assets/templates/CLAUDE.md +13 -0
- package/assets/templates/architecture.template.md +80 -0
- package/assets/templates/brief.template.md +38 -0
- package/assets/templates/contract.template.md +104 -0
- package/assets/templates/decisions.template.md +85 -0
- package/assets/templates/factor-factory/factor-backtest-report.template.md +36 -0
- package/assets/templates/factor-factory/factor-hypothesis.template.md +30 -0
- package/assets/templates/factor-factory/factor-registry.template.json +5 -0
- package/assets/templates/gitignore.template +53 -0
- package/assets/templates/guides/metro-esm-gotchas.template.md +46 -0
- package/assets/templates/helpers/architecture-event.ts +822 -0
- package/assets/templates/helpers/architecture-queue.sh +647 -0
- package/assets/templates/helpers/archive-architecture-request.sh +244 -0
- package/assets/templates/helpers/archive-workflow.sh +295 -0
- package/assets/templates/helpers/capability-config.ts +394 -0
- package/assets/templates/helpers/capability-resolver.ts +505 -0
- package/assets/templates/helpers/capture-plan.sh +335 -0
- package/assets/templates/helpers/check-agent-tooling.sh +1533 -0
- package/assets/templates/helpers/check-architecture-sync.sh +287 -0
- package/assets/templates/helpers/check-brain-manifest.sh +255 -0
- package/assets/templates/helpers/check-context-files.sh +49 -0
- package/assets/templates/helpers/check-deploy-sql-order.sh +117 -0
- package/assets/templates/helpers/check-skill-version.ts +193 -0
- package/assets/templates/helpers/check-task-sync.sh +65 -0
- package/assets/templates/helpers/check-task-workflow.sh +1002 -0
- package/assets/templates/helpers/codex-handoff-resume.sh +269 -0
- package/assets/templates/helpers/context-contract-sync.sh +516 -0
- package/assets/templates/helpers/contract-run.ts +465 -0
- package/assets/templates/helpers/contract-worktree.sh +725 -0
- package/assets/templates/helpers/ensure-task-workflow.sh +1218 -0
- package/assets/templates/helpers/harness-trace-grade.sh +150 -0
- package/assets/templates/helpers/heartbeat-triage.sh +361 -0
- package/assets/templates/helpers/inspect-project-state.ts +280 -0
- package/assets/templates/helpers/maintenance-triage.sh +167 -0
- package/assets/templates/helpers/migrate-project-template.sh +54 -0
- package/assets/templates/helpers/migrate-workflow-docs.ts +413 -0
- package/assets/templates/helpers/new-plan.sh +183 -0
- package/assets/templates/helpers/new-spec.sh +50 -0
- package/assets/templates/helpers/new-sprint.sh +49 -0
- package/assets/templates/helpers/plan-to-todo.sh +799 -0
- package/assets/templates/helpers/prepare-codex-handoff.sh +203 -0
- package/assets/templates/helpers/prepare-handoff.sh +81 -0
- package/assets/templates/helpers/refresh-current-status.sh +469 -0
- package/assets/templates/helpers/select-agent-context-blocks.sh +66 -0
- package/assets/templates/helpers/ship-worktrees.sh +561 -0
- package/assets/templates/helpers/sprint-backlog.sh +837 -0
- package/assets/templates/helpers/summarize-failures.sh +125 -0
- package/assets/templates/helpers/switch-plan.sh +153 -0
- package/assets/templates/helpers/sync-brain-docs.sh +381 -0
- package/assets/templates/helpers/verify-contract.sh +705 -0
- package/assets/templates/helpers/verify-sprint.sh +680 -0
- package/assets/templates/helpers/workflow-contract.ts +202 -0
- package/assets/templates/helpers/workstream-sync.sh +263 -0
- package/assets/templates/implementation-notes.template.md +37 -0
- package/assets/templates/packages.template.md +45 -0
- package/assets/templates/plan.template.md +77 -0
- package/assets/templates/prd.template.md +165 -0
- package/assets/templates/research.template.md +25 -0
- package/assets/templates/review.template.md +78 -0
- package/assets/templates/spec.template.md +31 -0
- package/assets/templates/sprint.template.md +69 -0
- package/assets/templates/tech-stack.template.md +57 -0
- package/assets/versions.json +77 -0
- package/assets/workflow-contract.v1.json +671 -0
- package/bin/forge-desktop-helper.mjs +204 -0
- package/bin/forge-hook.mjs +32 -0
- package/bin/forge-runtime-service.mjs +34 -0
- package/bin/forge-runtime.mjs +30 -0
- package/bin/forge.mjs +32 -0
- package/docs/CHANGELOG.md +978 -0
- package/docs/README.md +72 -0
- package/docs/README.zh-CN.md +58 -0
- package/docs/architecture/chatgpt-handoff-facade.md +393 -0
- package/docs/architecture/current/README.md +158 -0
- package/docs/architecture/current/approved-target-architecture.zh-CN.md +1501 -0
- package/docs/architecture/current/architecture-invariants.md +331 -0
- package/docs/architecture/current/automation-and-schedule-engine.md +453 -0
- package/docs/architecture/current/codegraph-context-provider.md +226 -0
- package/docs/architecture/current/control-plane-authority-inventory.md +82 -0
- package/docs/architecture/current/controller-repository-decoupling.md +148 -0
- package/docs/architecture/current/dispatch-and-agent-strategy.md +354 -0
- package/docs/architecture/current/entity-model.md +619 -0
- package/docs/architecture/current/external-plugin-governance.md +396 -0
- package/docs/architecture/current/failure-recovery.md +471 -0
- package/docs/architecture/current/governance.md +213 -0
- package/docs/architecture/current/human-interaction-plane.md +87 -0
- package/docs/architecture/current/implementation-status.md +128 -0
- package/docs/architecture/current/job-and-run-lifecycle.md +413 -0
- package/docs/architecture/current/local-workspace-target-grants.md +70 -0
- package/docs/architecture/current/migration-roadmap.md +105 -0
- package/docs/architecture/current/multi-repository-execution.md +371 -0
- package/docs/architecture/current/operations-runbook.md +45 -0
- package/docs/architecture/current/peer-supercontroller-runtime.md +32 -0
- package/docs/architecture/current/personal-assistant-plugin-baseline.md +207 -0
- package/docs/architecture/current/repository-access-modes.md +102 -0
- package/docs/architecture/current/route-policy.md +15 -0
- package/docs/architecture/current/route-session-concurrency.md +85 -0
- package/docs/architecture/current/runtime-architecture-simplification.md +214 -0
- package/docs/architecture/current/runtime-directory-map.md +49 -0
- package/docs/architecture/current/runtime-health-and-resource-lifecycle.md +85 -0
- package/docs/architecture/current/scheduler-and-resource-claims.md +432 -0
- package/docs/architecture/current/session-aware-execution-and-authorization.md +77 -0
- package/docs/architecture/current/system-overview.md +144 -0
- package/docs/architecture/current/target-requirements-traceability.md +202 -0
- package/docs/architecture/current/thin-harness-governance-policy.md +32 -0
- package/docs/architecture/current/thin-harness-v1.md +313 -0
- package/docs/architecture/current/verification-and-release-gates.md +391 -0
- package/docs/architecture/decisions/20260801-controller-home-sqlite-state.md +100 -0
- package/docs/architecture/decisions/20260803-canonical-skill-surface.md +40 -0
- package/docs/architecture/decisions/20260803-release-identity-binding-and-exit-policy.md +53 -0
- package/docs/architecture/diagrams/.gitkeep +1 -0
- package/docs/architecture/diagrams/agentic-dev-plugin-architecture.html +186 -0
- package/docs/architecture/domains/.gitkeep +0 -0
- package/docs/architecture/domains/public-surface.md +30 -0
- package/docs/architecture/domains/runtime-harness.md +33 -0
- package/docs/architecture/domains/verification.md +33 -0
- package/docs/architecture/domains/workflow-engine.md +30 -0
- package/docs/architecture/global-hook-runtime.md +162 -0
- package/docs/architecture/history.md +38 -0
- package/docs/architecture/index.md +114 -0
- package/docs/architecture/ios-semantic-automation-provider-v2.md +166 -0
- package/docs/architecture/modules/.gitkeep +0 -0
- package/docs/architecture/modules/controller-runtime/transport-lifecycle.md +24 -0
- package/docs/architecture/requests/.gitkeep +1 -0
- package/docs/architecture/requests/archive/2026/20260528-154740-ai-hooks-ai-hooks-hook-input-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-154816-assets-hooks-assets-hooks-hook-input-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-161851-ai-harness-workflow-contract-json-ai-harness-workflow-contract-json.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-161853-scripts-check-task-workflow-sh-scripts-check-task-workflow-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-161911-assets-workflow-contract-v1-json-assets-workflow-contract-v1-json.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222416-ai-hooks-ai-hooks-hook-input-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222444-ai-hooks-ai-hooks-pre-edit-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222457-ai-hooks-ai-hooks-pre-edit-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222648-ai-hooks-ai-hooks-pre-edit-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222705-ai-hooks-ai-hooks-worktree-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222726-ai-hooks-ai-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-222727-ai-hooks-ai-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-224736-ai-hooks-ai-hooks-hook-input-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233259-ai-hooks-ai-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233335-assets-hooks-assets-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233456-ai-hooks-ai-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233457-assets-hooks-assets-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233637-ai-hooks-ai-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260528-233638-assets-hooks-assets-hooks-prompt-guard-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260529-000322-root-package-json.md +59 -0
- package/docs/architecture/requests/archive/2026/20260529-004238-ai-hooks-ai-hooks-lib-workflow-state-sh.md +59 -0
- package/docs/architecture/requests/archive/2026/20260529-020654-ai-harness-policy-json-ai-harness-policy-json.md +63 -0
- package/docs/architecture/requests/archive/2026/20260529-094236-ai-hooks-ai-hooks-prompt-guard-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260529-094323-assets-hooks-assets-hooks-prompt-guard-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260529-094331-ai-hooks-ai-hooks-prompt-guard-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260529-094339-assets-hooks-assets-hooks-prompt-guard-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260529-094430-assets-hooks-assets-hooks-session-start-context-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260529-094446-ai-hooks-ai-hooks-session-start-context-sh.md +60 -0
- package/docs/architecture/requests/archive/2026/20260613-002040-runtime-harness-hook-adapters.md +68 -0
- package/docs/architecture/requests/archive/2026/root.md +68 -0
- package/docs/architecture/requests/archive/2026/runtime-harness-hook-adapters.md +76 -0
- package/docs/architecture/requests/archive/2026/verification-evals-checks.md +68 -0
- package/docs/architecture/requests/archive/2026/workflow-engine-contract-assets.md +69 -0
- package/docs/architecture/reviews/2026-07-11-access-surface-review.md +99 -0
- package/docs/architecture/snapshots/.gitkeep +1 -0
- package/docs/forge-autonomous-goal-loop.md +7 -0
- package/docs/forge-chatgpt-browser-engine.md +11 -0
- package/docs/forge-chatgpt-mcp-setup.md +239 -0
- package/docs/forge-chatgpt-supervised-automation.md +11 -0
- package/docs/forge-github-issue-launcher.md +7 -0
- package/docs/forge-plugin-management.md +95 -0
- package/docs/forge-provider-configuration.md +7 -0
- package/docs/forge-runtime-self-healing-loop.md +7 -0
- package/docs/images/forge-banner-cn.svg +1 -0
- package/docs/images/forge-banner.svg +1 -0
- package/docs/images/forge-controller-flow.svg +1 -0
- package/docs/images/image.png +0 -0
- package/docs/images/repo-harness-gptpro-cn.png +0 -0
- package/docs/images/repo-harness-gptpro.png +0 -0
- package/docs/images/repo-harness-hook-carrot.png +0 -0
- package/docs/operations/chatgpt-personal-assistant-runtime.md +83 -0
- package/docs/operations/checkout-route-integrity.md +22 -0
- package/docs/operations/controller-browser-plugin.md +299 -0
- package/docs/operations/controller-desktop-plugin.md +112 -0
- package/docs/operations/controller-performance-and-502.md +126 -0
- package/docs/operations/controller-reliability-runbook.md +134 -0
- package/docs/operations/environment-hardening.md +50 -0
- package/docs/operations/features.md +45 -0
- package/docs/operations/features.zh-CN.md +45 -0
- package/docs/operations/github-repository.md +60 -0
- package/docs/operations/gmail-assistant-routines.md +186 -0
- package/docs/operations/homebrew.md +26 -0
- package/docs/operations/local-system-assistant.md +46 -0
- package/docs/operations/local-system-assistant.zh-CN.md +46 -0
- package/docs/operations/mcp-tool-exposure.md +58 -0
- package/docs/operations/mobile-intents-shortcuts.md +117 -0
- package/docs/operations/open-source-release-hygiene.md +31 -0
- package/docs/operations/personal-assistant-operator-guide.md +61 -0
- package/docs/operations/platform-support.md +62 -0
- package/docs/operations/platform-support.zh-CN.md +61 -0
- package/docs/operations/provider-configuration.md +31 -0
- package/docs/operations/releasing.md +86 -0
- package/docs/operations/releasing.zh-CN.md +86 -0
- package/docs/operations/route-session-concurrency-baseline.json +893 -0
- package/docs/operations/route-session-concurrency-baseline.md +94 -0
- package/docs/operations/runtime-performance-diagnostics.md +14 -0
- package/docs/operations/sqlite-control-plane-recovery.md +65 -0
- package/docs/operations/standalone-disaster-recovery.md +136 -0
- package/docs/operations/troubleshooting.md +72 -0
- package/docs/operations/troubleshooting.zh-CN.md +70 -0
- package/docs/public-usage-guide.md +33 -0
- package/docs/public-usage-guide.zh-CN.md +33 -0
- package/docs/tutorials/01-install-and-start.md +93 -0
- package/docs/tutorials/01-install-and-start.zh-CN.md +93 -0
- package/docs/tutorials/02-connect-chatgpt.md +82 -0
- package/docs/tutorials/02-connect-chatgpt.zh-CN.md +80 -0
- package/docs/tutorials/03-first-repository-task.md +57 -0
- package/docs/tutorials/03-first-repository-task.zh-CN.md +57 -0
- package/docs/tutorials/README.md +13 -0
- package/docs/tutorials/README.zh-CN.md +13 -0
- package/docs/wiki/Architecture.md +85 -0
- package/docs/wiki/Core-Concepts.md +27 -0
- package/docs/wiki/Home.md +36 -0
- package/docs/wiki/Implementation.md +172 -0
- package/docs/wiki/Installation.md +50 -0
- package/docs/wiki/Integrations.md +29 -0
- package/docs/wiki/Operations.md +26 -0
- package/docs/wiki/Quick-Start.md +46 -0
- package/docs/wiki/Releases-and-Upgrades.md +34 -0
- package/docs/wiki/Runtime-Architecture.md +50 -0
- package/docs/wiki/Security-Model.md +31 -0
- package/docs/wiki/Troubleshooting.md +38 -0
- package/docs/wiki/Work-Lifecycle.md +31 -0
- package/docs/wiki/_Sidebar.md +21 -0
- package/install.ps1 +48 -0
- package/install.sh +66 -0
- package/package.json +156 -0
- package/scripts/activate-source-baseline.ts +335 -0
- package/scripts/architecture-event.ts +822 -0
- package/scripts/architecture-queue.sh +647 -0
- package/scripts/archive-architecture-request.sh +244 -0
- package/scripts/archive-workflow.sh +295 -0
- package/scripts/assemble-template.ts +1172 -0
- package/scripts/benchmark-controller-hotpath.ts +212 -0
- package/scripts/benchmark-controller-round2.ts +139 -0
- package/scripts/benchmark-ios-agent-device.ts +514 -0
- package/scripts/benchmark-route-session-concurrency.ts +714 -0
- package/scripts/benchmark-thin-harness-gateway-ab.ts +632 -0
- package/scripts/benchmark-thin-harness-mcp-e2e.ts +479 -0
- package/scripts/benchmark-thin-harness.ts +251 -0
- package/scripts/bootstrap-runtime-maintenance-recovery.sh +183 -0
- package/scripts/canary-global-hook.sh +263 -0
- package/scripts/capability-config.ts +394 -0
- package/scripts/capability-resolver.ts +505 -0
- package/scripts/capture-plan.sh +335 -0
- package/scripts/check-agent-tooling.sh +1549 -0
- package/scripts/check-architecture-sync.sh +373 -0
- package/scripts/check-brain-manifest.sh +255 -0
- package/scripts/check-ci.sh +16 -0
- package/scripts/check-context-files.sh +49 -0
- package/scripts/check-deploy-sql-order.sh +117 -0
- package/scripts/check-mcp-compatibility.ts +93 -0
- package/scripts/check-npm-release.sh +32 -0
- package/scripts/check-open-source-tracked-surface.sh +146 -0
- package/scripts/check-package-identity.mjs +117 -0
- package/scripts/check-platform-support.mjs +79 -0
- package/scripts/check-public-docs.sh +105 -0
- package/scripts/check-public-release-surface.sh +19 -0
- package/scripts/check-release-published.sh +57 -0
- package/scripts/check-release-readiness.sh +43 -0
- package/scripts/check-release-version.mjs +74 -0
- package/scripts/check-runtime-architecture.mjs +593 -0
- package/scripts/check-runtime-env.mjs +89 -0
- package/scripts/check-skill-version.ts +193 -0
- package/scripts/check-tarball-install-smoke.sh +66 -0
- package/scripts/check-task-sync.sh +65 -0
- package/scripts/check-task-workflow.sh +1002 -0
- package/scripts/check-third-party-notices.mjs +36 -0
- package/scripts/codex-handoff-resume.sh +269 -0
- package/scripts/complete-control-plane-cutover.ts +126 -0
- package/scripts/context-contract-sync.sh +516 -0
- package/scripts/contract-run.ts +465 -0
- package/scripts/contract-worktree.sh +725 -0
- package/scripts/controller-ngrok-rotation.sh +678 -0
- package/scripts/create-project-dirs.sh +282 -0
- package/scripts/ensure-codegraph.sh +16 -0
- package/scripts/ensure-task-workflow.sh +1218 -0
- package/scripts/export-requirement-portfolio.ts +28 -0
- package/scripts/factor-lab-check.sh +73 -0
- package/scripts/factor-lab-new.sh +96 -0
- package/scripts/factor-lab-promote.sh +86 -0
- package/scripts/factor-lab-reject.sh +68 -0
- package/scripts/harness-trace-grade.sh +150 -0
- package/scripts/heartbeat-triage.sh +361 -0
- package/scripts/hook-dispatch-diet-report.ts +234 -0
- package/scripts/hook-shim.sh +93 -0
- package/scripts/init-project.sh +505 -0
- package/scripts/initializer-question-pack.ts +200 -0
- package/scripts/inspect-project-state.ts +280 -0
- package/scripts/install-desktop-operator-registration.ts +45 -0
- package/scripts/install-standalone-recovery.ts +74 -0
- package/scripts/lib/AGENTS.md +13 -0
- package/scripts/lib/CLAUDE.md +13 -0
- package/scripts/lib/controller-home-env.sh +69 -0
- package/scripts/lib/project-init-lib.sh +2759 -0
- package/scripts/load-standalone-recovery.sh +17 -0
- package/scripts/loop-engine-cutover-gate.ts +324 -0
- package/scripts/maintenance-triage.sh +167 -0
- package/scripts/migrate-project-template.sh +1189 -0
- package/scripts/migrate-requirement-portfolio.ts +86 -0
- package/scripts/migrate-workflow-docs.ts +413 -0
- package/scripts/new-plan.sh +183 -0
- package/scripts/new-spec.sh +50 -0
- package/scripts/new-sprint.sh +49 -0
- package/scripts/open-source-audit-allowlist.txt +46 -0
- package/scripts/package-source-archive.sh +147 -0
- package/scripts/plan-to-todo.sh +799 -0
- package/scripts/prepare-codex-handoff.sh +203 -0
- package/scripts/prepare-handoff.sh +81 -0
- package/scripts/public-release-files.txt +39 -0
- package/scripts/public-release.ts +174 -0
- package/scripts/publish-release-tarball.sh +27 -0
- package/scripts/refresh-current-status.sh +469 -0
- package/scripts/refresh-ios-physical-runtime.ts +196 -0
- package/scripts/repair-executable-modes.ts +8 -0
- package/scripts/rollout-all-registered-repos.sh +7 -0
- package/scripts/route-nl-vs-ts-eval.ts +679 -0
- package/scripts/run-bun-test-file.ts +182 -0
- package/scripts/run-governed-gate.ts +140 -0
- package/scripts/run-mobile-monitor-bridge.ts +71 -0
- package/scripts/run-skill-evals.ts +1022 -0
- package/scripts/run-skill-hook.ts +244 -0
- package/scripts/run-supervised-command.ts +24 -0
- package/scripts/run-tests-portable.sh +20 -0
- package/scripts/select-agent-context-blocks.sh +66 -0
- package/scripts/setup-plugins.sh +43 -0
- package/scripts/ship-worktrees.sh +561 -0
- package/scripts/smoke-browser-cdp-bridge.ts +93 -0
- package/scripts/smoke-chatgpt-supervised-automation.ts +208 -0
- package/scripts/smoke-ios-physical-device.ts +114 -0
- package/scripts/smoke-mcp-http-runtime.ts +216 -0
- package/scripts/smoke-mcp-tool-surface.ts +117 -0
- package/scripts/smoke-runtime-recovery.ts +220 -0
- package/scripts/smoke-schedule-engine.ts +283 -0
- package/scripts/sprint-backlog.sh +837 -0
- package/scripts/stage-runtime-release.ts +38 -0
- package/scripts/summarize-failures.sh +125 -0
- package/scripts/switch-plan.sh +153 -0
- package/scripts/sync-brain-docs.sh +381 -0
- package/scripts/sync-codex-installed-copies.sh +183 -0
- package/scripts/test-governance.ts +75 -0
- package/scripts/verify-contract.sh +705 -0
- package/scripts/verify-forge-runtime.sh +31 -0
- package/scripts/verify-sprint.sh +680 -0
- package/scripts/windows-paths.d.mts +7 -0
- package/scripts/windows-paths.mjs +28 -0
- package/scripts/workflow-contract.ts +206 -0
- package/scripts/workstream-sync.sh +263 -0
- package/src/cli/agent-jobs/executable-resolver.ts +289 -0
- package/src/cli/agent-jobs/executor-health.ts +252 -0
- package/src/cli/agent-jobs/integration.ts +963 -0
- package/src/cli/agent-jobs/job-manager.ts +2030 -0
- package/src/cli/agent-jobs/types.ts +219 -0
- package/src/cli/agent-jobs/worker-lifecycle.ts +288 -0
- package/src/cli/chatgpt-browser/bind-server.ts +504 -0
- package/src/cli/chatgpt-browser/binding.ts +140 -0
- package/src/cli/chatgpt-browser/bridge-extension.ts +221 -0
- package/src/cli/chatgpt-browser/bridge-provider.ts +268 -0
- package/src/cli/chatgpt-browser/engine.ts +569 -0
- package/src/cli/chatgpt-browser/file-policy.ts +158 -0
- package/src/cli/chatgpt-browser/native-provider.ts +553 -0
- package/src/cli/chatgpt-browser/oracle-provider.ts +437 -0
- package/src/cli/chatgpt-browser/prompt-assembler.ts +29 -0
- package/src/cli/chatgpt-browser/session-store.ts +301 -0
- package/src/cli/chatgpt-browser/types.ts +172 -0
- package/src/cli/commands/adopt-plan.ts +186 -0
- package/src/cli/commands/brain-root.ts +132 -0
- package/src/cli/commands/brain.ts +609 -0
- package/src/cli/commands/capability-context.ts +613 -0
- package/src/cli/commands/chatgpt.ts +424 -0
- package/src/cli/commands/controller.ts +680 -0
- package/src/cli/commands/docs.ts +103 -0
- package/src/cli/commands/doctor.ts +476 -0
- package/src/cli/commands/global-runtime.ts +323 -0
- package/src/cli/commands/hook.ts +34 -0
- package/src/cli/commands/init-hook.ts +870 -0
- package/src/cli/commands/init.ts +829 -0
- package/src/cli/commands/install.ts +86 -0
- package/src/cli/commands/mcp.ts +315 -0
- package/src/cli/commands/migrate.ts +154 -0
- package/src/cli/commands/plugin.ts +74 -0
- package/src/cli/commands/prompt-guard-decision.ts +238 -0
- package/src/cli/commands/recovery.ts +667 -0
- package/src/cli/commands/repository.ts +224 -0
- package/src/cli/commands/run.ts +23 -0
- package/src/cli/commands/runtime.ts +191 -0
- package/src/cli/commands/security.ts +440 -0
- package/src/cli/commands/status.ts +137 -0
- package/src/cli/commands/tools.ts +167 -0
- package/src/cli/controller/check-runner.ts +1022 -0
- package/src/cli/controller/codex-continuation.ts +153 -0
- package/src/cli/controller/completion-backlog.ts +380 -0
- package/src/cli/controller/completion-orchestrator.ts +1807 -0
- package/src/cli/controller/completion-target.ts +96 -0
- package/src/cli/controller/composite-operations.ts +196 -0
- package/src/cli/controller/composite-result.ts +130 -0
- package/src/cli/controller/context-pack.ts +652 -0
- package/src/cli/controller/execution-completion.ts +175 -0
- package/src/cli/controller/execution-policy.ts +392 -0
- package/src/cli/controller/governance.ts +594 -0
- package/src/cli/controller/issue-store.ts +1421 -0
- package/src/cli/controller/launch-agents.ts +410 -0
- package/src/cli/controller/legacy-issue-cutover.ts +415 -0
- package/src/cli/controller/lifecycle-authority.ts +16 -0
- package/src/cli/controller/migrated-issue-decision.ts +237 -0
- package/src/cli/controller/operational-plan.ts +226 -0
- package/src/cli/controller/postcondition.ts +134 -0
- package/src/cli/controller/progress.ts +656 -0
- package/src/cli/controller/project-state.ts +147 -0
- package/src/cli/controller/requirement-portfolio-export.ts +146 -0
- package/src/cli/controller/requirement-portfolio-migration.ts +613 -0
- package/src/cli/controller/run-evidence.ts +43 -0
- package/src/cli/controller/runtime-config.ts +92 -0
- package/src/cli/controller/stuck-state-migration.ts +396 -0
- package/src/cli/controller/task-ledger.ts +632 -0
- package/src/cli/controller/task-status-resolver.ts +403 -0
- package/src/cli/controller/types.ts +273 -0
- package/src/cli/controller/work-mode.ts +186 -0
- package/src/cli/controller/worklog.ts +201 -0
- package/src/cli/diagnostic-entry.ts +39 -0
- package/src/cli/editing/edit-session.ts +1606 -0
- package/src/cli/editing/executable-modes.ts +70 -0
- package/src/cli/github/github.ts +274 -0
- package/src/cli/github/plugin.ts +345 -0
- package/src/cli/github/session.ts +104 -0
- package/src/cli/hook/prompt-guard-decision.ts +238 -0
- package/src/cli/hook/prompt-intents.ts +534 -0
- package/src/cli/hook/route-registry.ts +107 -0
- package/src/cli/hook/runtime.ts +303 -0
- package/src/cli/hook/state-snapshot.ts +388 -0
- package/src/cli/hook-entry.ts +51 -0
- package/src/cli/index.ts +574 -0
- package/src/cli/installer/managed-entries.ts +78 -0
- package/src/cli/installer/shared.ts +65 -0
- package/src/cli/installer/targets/claude.ts +136 -0
- package/src/cli/installer/targets/codex.ts +174 -0
- package/src/cli/installer/targets/registry.ts +28 -0
- package/src/cli/installer/types.ts +72 -0
- package/src/cli/local-bridge/connector-freshness.ts +529 -0
- package/src/cli/local-bridge/console-view-models.ts +324 -0
- package/src/cli/local-bridge/dashboard.ts +1312 -0
- package/src/cli/local-bridge/facade-api.ts +1877 -0
- package/src/cli/local-bridge/job-store.ts +1451 -0
- package/src/cli/local-bridge/mobile-intents.ts +344 -0
- package/src/cli/local-bridge/mobile-monitor.ts +209 -0
- package/src/cli/local-bridge/server.ts +3183 -0
- package/src/cli/local-bridge/types.ts +176 -0
- package/src/cli/mcp/access-mode.ts +132 -0
- package/src/cli/mcp/access-tools.ts +387 -0
- package/src/cli/mcp/audit.ts +32 -0
- package/src/cli/mcp/auth.ts +402 -0
- package/src/cli/mcp/instructions.ts +33 -0
- package/src/cli/mcp/legacy-context.ts +16 -0
- package/src/cli/mcp/legacy-tool-service.ts +5516 -0
- package/src/cli/mcp/multi-repository.ts +423 -0
- package/src/cli/mcp/oauth.ts +226 -0
- package/src/cli/mcp/paths.ts +134 -0
- package/src/cli/mcp/policy.ts +230 -0
- package/src/cli/mcp/proxy-env.ts +62 -0
- package/src/cli/mcp/readiness-projection.ts +24 -0
- package/src/cli/mcp/redaction.ts +21 -0
- package/src/cli/mcp/repo.ts +24 -0
- package/src/cli/mcp/repository-tools.ts +1295 -0
- package/src/cli/mcp/server.ts +341 -0
- package/src/cli/mcp/setup.ts +793 -0
- package/src/cli/mcp/tool-capability-cache.ts +87 -0
- package/src/cli/mcp/tools.ts +9 -0
- package/src/cli/mcp/toolset-names.ts +70 -0
- package/src/cli/mcp/toolset-selection.ts +41 -0
- package/src/cli/mcp/toolset.ts +300 -0
- package/src/cli/mcp/transports/AGENTS.md +39 -0
- package/src/cli/mcp/transports/CLAUDE.md +39 -0
- package/src/cli/mcp/transports/http.ts +1234 -0
- package/src/cli/mcp/transports/session-registry.ts +428 -0
- package/src/cli/mcp/transports/stdio.ts +8 -0
- package/src/cli/mcp/types.ts +41 -0
- package/src/cli/mcp/umbrella-tools.ts +117 -0
- package/src/cli/repo-adoption/reclaim-runtime.ts +681 -0
- package/src/cli/repositories/branch-name-policy.ts +57 -0
- package/src/cli/repositories/command-classifier.ts +600 -0
- package/src/cli/repositories/command-executor.ts +1066 -0
- package/src/cli/repositories/command-normalization.ts +53 -0
- package/src/cli/repositories/command-scope.ts +264 -0
- package/src/cli/repositories/controller-home.ts +88 -0
- package/src/cli/repositories/entity-migration.ts +199 -0
- package/src/cli/repositories/ephemeral-workspace.ts +62 -0
- package/src/cli/repositories/git-command-executor.ts +301 -0
- package/src/cli/repositories/goal-registry.ts +239 -0
- package/src/cli/repositories/identity.ts +64 -0
- package/src/cli/repositories/local-project-onboarding.ts +539 -0
- package/src/cli/repositories/locks.ts +262 -0
- package/src/cli/repositories/registry.ts +1057 -0
- package/src/cli/repositories/runtime-storage.ts +411 -0
- package/src/cli/repositories/safe-patch.ts +421 -0
- package/src/cli/repositories/selected-path-actions.ts +341 -0
- package/src/cli/repositories/structured-git.ts +257 -0
- package/src/cli/repositories/types.ts +155 -0
- package/src/cli/repositories/umbrella.ts +134 -0
- package/src/cli/repositories/workbench.ts +140 -0
- package/src/cli/repositories/worktree-storage.ts +137 -0
- package/src/cli/repository/inspector.ts +637 -0
- package/src/cli/repository/session-cache.ts +453 -0
- package/src/cli/runtime/helper-runner.ts +172 -0
- package/src/cli/runtime-invocation.ts +318 -0
- package/src/cli/tools/codegraph.ts +676 -0
- package/src/cli/v81-entry.ts +29 -0
- package/src/core/adoption/gitignore-plan.ts +127 -0
- package/src/core/adoption/helper-wrapper-plan.ts +159 -0
- package/src/core/adoption/manifest-templates.ts +60 -0
- package/src/core/adoption/modes.ts +7 -0
- package/src/core/adoption/operations.ts +126 -0
- package/src/core/adoption/plan.ts +149 -0
- package/src/core/adoption/render.ts +70 -0
- package/src/core/adoption/rollback.ts +62 -0
- package/src/core/adoption/summary.ts +43 -0
- package/src/core/adoption/workflow-contract-asset.ts +14 -0
- package/src/core/adoption/workflow-contract-plan.ts +31 -0
- package/src/effects/fs-transaction.ts +540 -0
- package/src/effects/git-executable.ts +59 -0
- package/src/effects/managed-block.ts +86 -0
- package/src/effects/path-safety.ts +47 -0
- package/src/effects/process-runner.ts +192 -0
- package/src/runtime/assistant/action-proposals.ts +279 -0
- package/src/runtime/assistant/intent.ts +395 -0
- package/src/runtime/assistant/model-provider.ts +460 -0
- package/src/runtime/assistant/openapi.ts +223 -0
- package/src/runtime/assistant/policy.ts +89 -0
- package/src/runtime/assistant/readiness.ts +258 -0
- package/src/runtime/assistant/routine-runtime.ts +477 -0
- package/src/runtime/assistant/schedule-binding.ts +171 -0
- package/src/runtime/assistant/standing-grants.ts +375 -0
- package/src/runtime/assistant/store.ts +243 -0
- package/src/runtime/assistant/types.ts +135 -0
- package/src/runtime/context/codegraph-read-provider.ts +347 -0
- package/src/runtime/context/codegraph-sidecar.cjs +207 -0
- package/src/runtime/control-plane/dispatch-priority.ts +67 -0
- package/src/runtime/control-plane/execution/direct-edit-work-completion.ts +151 -0
- package/src/runtime/control-plane/execution/execution-identity.ts +456 -0
- package/src/runtime/control-plane/execution/session-store.ts +175 -0
- package/src/runtime/control-plane/execution/validation.ts +117 -0
- package/src/runtime/control-plane/execution/verification-evidence.ts +191 -0
- package/src/runtime/control-plane/execution/work-handle-store.ts +225 -0
- package/src/runtime/control-plane/execution/work-prepare-request-store.ts +159 -0
- package/src/runtime/control-plane/execution/work-task-receipt.ts +445 -0
- package/src/runtime/control-plane/execution/work-terminal-cleanup.ts +821 -0
- package/src/runtime/control-plane/facade/capability-registry.ts +279 -0
- package/src/runtime/control-plane/facade/check-normalization.ts +233 -0
- package/src/runtime/control-plane/facade/codex-delegation.ts +196 -0
- package/src/runtime/control-plane/facade/controller-session-store.ts +199 -0
- package/src/runtime/control-plane/facade/facade-result.ts +41 -0
- package/src/runtime/control-plane/facade/goal-workloop-access.ts +177 -0
- package/src/runtime/control-plane/facade/goal-workloop.ts +1216 -0
- package/src/runtime/control-plane/facade/handoff-inbox-store.ts +221 -0
- package/src/runtime/control-plane/facade/index.ts +16 -0
- package/src/runtime/control-plane/facade/operation-digest.ts +528 -0
- package/src/runtime/control-plane/facade/plan-contract-store.ts +403 -0
- package/src/runtime/control-plane/facade/policy-gate.ts +149 -0
- package/src/runtime/control-plane/facade/requirement-board.ts +280 -0
- package/src/runtime/control-plane/facade/self-healing-loop.ts +555 -0
- package/src/runtime/control-plane/facade/suggested-actions.ts +108 -0
- package/src/runtime/control-plane/facade/types.ts +729 -0
- package/src/runtime/control-plane/facade/work-admission-policy.ts +93 -0
- package/src/runtime/control-plane/facade/work-continuation.ts +104 -0
- package/src/runtime/control-plane/facade/work-contract-store.ts +1118 -0
- package/src/runtime/control-plane/facade/work-task-projection.ts +66 -0
- package/src/runtime/control-plane/global-scheduler/reconciliation.ts +365 -0
- package/src/runtime/control-plane/global-scheduler/scheduler.ts +920 -0
- package/src/runtime/control-plane/global-scheduler/wake-signal.ts +89 -0
- package/src/runtime/control-plane/goal-loop/config-facade.ts +700 -0
- package/src/runtime/control-plane/goal-loop/config-store.ts +570 -0
- package/src/runtime/control-plane/goal-loop/config-types.ts +213 -0
- package/src/runtime/control-plane/goal-loop/executor-router.ts +109 -0
- package/src/runtime/control-plane/goal-loop/failure-taxonomy.ts +149 -0
- package/src/runtime/control-plane/goal-loop/goal-contract-store.ts +304 -0
- package/src/runtime/control-plane/goal-loop/goal-loop-engine.ts +1001 -0
- package/src/runtime/control-plane/goal-loop/handoff-packet.ts +160 -0
- package/src/runtime/control-plane/goal-loop/index.ts +13 -0
- package/src/runtime/control-plane/goal-loop/local-tools.ts +290 -0
- package/src/runtime/control-plane/goal-loop/policy-gates.ts +203 -0
- package/src/runtime/control-plane/goal-loop/provider-dispatch.ts +93 -0
- package/src/runtime/control-plane/goal-loop/provider-registry.ts +545 -0
- package/src/runtime/control-plane/goal-loop/types.ts +378 -0
- package/src/runtime/control-plane/governance/access-policy.ts +147 -0
- package/src/runtime/control-plane/governance/authorization.ts +195 -0
- package/src/runtime/control-plane/governance/external-effects.ts +43 -0
- package/src/runtime/control-plane/launcher/thin-launcher.ts +97 -0
- package/src/runtime/control-plane/persistence/metadata-payload-policy.ts +53 -0
- package/src/runtime/control-plane/persistence/requirement-store.ts +241 -0
- package/src/runtime/control-plane/persistence/sqlite-store.ts +539 -0
- package/src/runtime/control-plane/release-retention.ts +447 -0
- package/src/runtime/control-plane/repo-actor/actor.ts +181 -0
- package/src/runtime/control-plane/repo-actor/registry.ts +20 -0
- package/src/runtime/control-plane/routing/index.ts +1 -0
- package/src/runtime/control-plane/routing/route-policy.ts +379 -0
- package/src/runtime/control-plane/runtime-cleanup.ts +727 -0
- package/src/runtime/control-plane/runtime-generation.ts +509 -0
- package/src/runtime/control-plane/runtime-pid-ownership.ts +11 -0
- package/src/runtime/control-plane/runtime-status-client.ts +90 -0
- package/src/runtime/control-plane/startup-recovery.ts +198 -0
- package/src/runtime/diagnostics/connectivity-observability.ts +475 -0
- package/src/runtime/diagnostics/mcp-timing.ts +64 -0
- package/src/runtime/diagnostics/performance.ts +379 -0
- package/src/runtime/diagnostics/process-facade.ts +350 -0
- package/src/runtime/diagnostics/read-only-tool.ts +226 -0
- package/src/runtime/evidence/artifact-store.ts +154 -0
- package/src/runtime/evidence/event-ledger.ts +80 -0
- package/src/runtime/evidence/evidence-store.ts +68 -0
- package/src/runtime/evidence/process-check-receipt.ts +43 -0
- package/src/runtime/evidence/result-store.ts +209 -0
- package/src/runtime/evidence/sensitive-output.ts +353 -0
- package/src/runtime/execution/jobs/child-reference.ts +124 -0
- package/src/runtime/execution/jobs/legacy-adapter.ts +22 -0
- package/src/runtime/execution/jobs/receipt-recovery.ts +119 -0
- package/src/runtime/execution/jobs/receipt-store.ts +243 -0
- package/src/runtime/execution/jobs/store.ts +737 -0
- package/src/runtime/execution/jobs/timeouts.ts +109 -0
- package/src/runtime/execution/jobs/types.ts +230 -0
- package/src/runtime/execution/jobs/wait.ts +45 -0
- package/src/runtime/execution/process-runtime/canary.ts +26 -0
- package/src/runtime/execution/process-runtime/check-facade.ts +272 -0
- package/src/runtime/execution/process-runtime/check-receipt.ts +185 -0
- package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +60 -0
- package/src/runtime/execution/process-runtime/command-facade.ts +321 -0
- package/src/runtime/execution/process-runtime/gc.ts +171 -0
- package/src/runtime/execution/process-runtime/index.ts +9 -0
- package/src/runtime/execution/process-runtime/interactive-admission.ts +23 -0
- package/src/runtime/execution/process-runtime/process-runner-entry.ts +466 -0
- package/src/runtime/execution/process-runtime/resource-claims.ts +440 -0
- package/src/runtime/execution/process-runtime/runtime.ts +1816 -0
- package/src/runtime/execution/process-runtime/store.ts +687 -0
- package/src/runtime/execution/process-runtime/types.ts +352 -0
- package/src/runtime/execution/thin-harness/async-process.ts +181 -0
- package/src/runtime/execution/thin-harness/batch-executor.ts +671 -0
- package/src/runtime/execution/thin-harness/execution-router.ts +700 -0
- package/src/runtime/execution/thin-harness/fast-executor.ts +1263 -0
- package/src/runtime/execution/thin-harness/fast-receipt.ts +235 -0
- package/src/runtime/execution/thin-harness/fingerprint-worker.ts +191 -0
- package/src/runtime/execution/thin-harness/index.ts +13 -0
- package/src/runtime/execution/thin-harness/latency-trace.ts +107 -0
- package/src/runtime/execution/thin-harness/lightweight-lanes.ts +745 -0
- package/src/runtime/execution/thin-harness/mutation-gate.ts +578 -0
- package/src/runtime/execution/thin-harness/proposal-store.ts +409 -0
- package/src/runtime/execution/thin-harness/request-ledger.ts +595 -0
- package/src/runtime/execution/thin-harness/search-worker.ts +114 -0
- package/src/runtime/execution/thin-harness/types.ts +313 -0
- package/src/runtime/execution/thin-harness/workspace-savepoint.ts +333 -0
- package/src/runtime/execution/workers/executor.ts +687 -0
- package/src/runtime/execution/workers/ownership.ts +94 -0
- package/src/runtime/execution/workers/worker-entry.ts +277 -0
- package/src/runtime/gateway/mcp/execution-tools.ts +2009 -0
- package/src/runtime/gateway/mcp/persisted-check-process.ts +255 -0
- package/src/runtime/gateway/mcp/process-tools.ts +230 -0
- package/src/runtime/gateway/mcp/resource-policy.ts +195 -0
- package/src/runtime/gateway/mcp/router.ts +1088 -0
- package/src/runtime/gateway/mcp/runtime-tools.ts +5994 -0
- package/src/runtime/gateway/mcp/work-validation-reconciler.ts +219 -0
- package/src/runtime/health/evaluator.ts +474 -0
- package/src/runtime/health/index.ts +2 -0
- package/src/runtime/health/operational-view.ts +198 -0
- package/src/runtime/maintenance/cleanup.ts +419 -0
- package/src/runtime/model-clients/deepseek-adapter.ts +312 -0
- package/src/runtime/model-clients/index.ts +2 -0
- package/src/runtime/model-clients/types.ts +101 -0
- package/src/runtime/observability/gateway-contention-metrics.ts +129 -0
- package/src/runtime/observability/route-session-benchmark.ts +110 -0
- package/src/runtime/personal-assistant/gmail-triage-manager.ts +231 -0
- package/src/runtime/personal-assistant/reporting-runtime.ts +344 -0
- package/src/runtime/personal-assistant/triage-runtime.ts +748 -0
- package/src/runtime/plugins/app-store-connect-adapter.ts +868 -0
- package/src/runtime/plugins/browser-adapter.ts +2812 -0
- package/src/runtime/plugins/browser-automation-service.ts +46 -0
- package/src/runtime/plugins/browser-handoff-host.ts +304 -0
- package/src/runtime/plugins/browser-handoff.ts +371 -0
- package/src/runtime/plugins/browser-macos-bridge.ts +865 -0
- package/src/runtime/plugins/browser-node-bridge-host.ts +64 -0
- package/src/runtime/plugins/browser-node-bridge.ts +249 -0
- package/src/runtime/plugins/desktop-adapter.ts +374 -0
- package/src/runtime/plugins/desktop-operator-registration.ts +418 -0
- package/src/runtime/plugins/errors.ts +39 -0
- package/src/runtime/plugins/execution-origin.ts +26 -0
- package/src/runtime/plugins/external-adapter.ts +322 -0
- package/src/runtime/plugins/external-registration.ts +308 -0
- package/src/runtime/plugins/external-unix-socket-probe.cjs +79 -0
- package/src/runtime/plugins/external-unix-socket.ts +238 -0
- package/src/runtime/plugins/first-party-registry.ts +37 -0
- package/src/runtime/plugins/github-adapter.ts +266 -0
- package/src/runtime/plugins/gmail-adapter.ts +729 -0
- package/src/runtime/plugins/google-calendar-adapter.ts +468 -0
- package/src/runtime/plugins/google-shared.ts +578 -0
- package/src/runtime/plugins/google-tasks-adapter.ts +535 -0
- package/src/runtime/plugins/interaction-session.ts +252 -0
- package/src/runtime/plugins/ios/agent-device-capabilities.ts +258 -0
- package/src/runtime/plugins/ios/agent-device-failures.ts +95 -0
- package/src/runtime/plugins/ios/agent-device-provider.ts +63 -0
- package/src/runtime/plugins/ios/agent-device-typed-provider.ts +268 -0
- package/src/runtime/plugins/ios/app-adapters.ts +122 -0
- package/src/runtime/plugins/ios-adapter.ts +509 -0
- package/src/runtime/plugins/ios-agent-device.ts +2311 -0
- package/src/runtime/plugins/ios-physical-device.ts +955 -0
- package/src/runtime/plugins/local-system-adapter.ts +1016 -0
- package/src/runtime/plugins/macos-capability-broker.ts +73 -0
- package/src/runtime/plugins/managed-process-adapter.ts +366 -0
- package/src/runtime/plugins/resend-adapter.ts +506 -0
- package/src/runtime/plugins/store.ts +1025 -0
- package/src/runtime/plugins/types.ts +138 -0
- package/src/runtime/projections/controller-context.ts +596 -0
- package/src/runtime/projections/git-status-sampler.ts +84 -0
- package/src/runtime/projections/invalidation.ts +250 -0
- package/src/runtime/projections/materialized-view.ts +694 -0
- package/src/runtime/recovery/actions.ts +158 -0
- package/src/runtime/recovery/audit.ts +38 -0
- package/src/runtime/recovery/classifier.ts +163 -0
- package/src/runtime/recovery/index.ts +9 -0
- package/src/runtime/recovery/local-jobs-repair.ts +393 -0
- package/src/runtime/recovery/maintenance-executor.ts +822 -0
- package/src/runtime/recovery/patch-handoff.ts +50 -0
- package/src/runtime/recovery/probe.ts +308 -0
- package/src/runtime/recovery/store.ts +35 -0
- package/src/runtime/recovery/types.ts +175 -0
- package/src/runtime/release/identity.ts +101 -0
- package/src/runtime/release/release-gate.ts +137 -0
- package/src/runtime/resources/claims/conflicts.ts +205 -0
- package/src/runtime/resources/index.ts +1 -0
- package/src/runtime/resources/leases/store.ts +539 -0
- package/src/runtime/resources/leases/types.ts +50 -0
- package/src/runtime/resources/ownership.ts +72 -0
- package/src/runtime/root/controller-services.ts +42 -0
- package/src/runtime/root/entry.ts +70 -0
- package/src/runtime/root/gateway-adapter.ts +46 -0
- package/src/runtime/root/local-bridge.ts +72 -0
- package/src/runtime/root/mcp-transport.ts +198 -0
- package/src/runtime/root/ownership.ts +94 -0
- package/src/runtime/root/readiness.ts +69 -0
- package/src/runtime/root/release-manifest.ts +147 -0
- package/src/runtime/root/release-materialize.ts +509 -0
- package/src/runtime/root/release-store.ts +236 -0
- package/src/runtime/root/runtime.ts +318 -0
- package/src/runtime/root/scheduler.ts +58 -0
- package/src/runtime/root/service-runner-entry.ts +20 -0
- package/src/runtime/root/service-runner.ts +69 -0
- package/src/runtime/root/service.ts +291 -0
- package/src/runtime/root/status.ts +127 -0
- package/src/runtime/root/types.ts +112 -0
- package/src/runtime/root/write-fence.ts +309 -0
- package/src/runtime/safe-tooling/browser-safe.ts +133 -0
- package/src/runtime/safe-tooling/external-filesystem.ts +304 -0
- package/src/runtime/safe-tooling/google-credential-store.ts +95 -0
- package/src/runtime/safe-tooling/google-oauth-broker.ts +286 -0
- package/src/runtime/safe-tooling/index.ts +11 -0
- package/src/runtime/safe-tooling/ios-development.ts +1039 -0
- package/src/runtime/safe-tooling/job-summary.ts +361 -0
- package/src/runtime/safe-tooling/plugin-summary.ts +53 -0
- package/src/runtime/safe-tooling/resend-oauth.ts +387 -0
- package/src/runtime/safe-tooling/review-artifacts.ts +133 -0
- package/src/runtime/safe-tooling/types.ts +103 -0
- package/src/runtime/safe-tooling/workspace-auth.ts +116 -0
- package/src/runtime/shared/bounded-child-supervisor.ts +235 -0
- package/src/runtime/shared/idempotent-retry.ts +128 -0
- package/src/runtime/shared/json-files.ts +43 -0
- package/src/runtime/shared/local-bridge-surface.ts +231 -0
- package/src/runtime/shared/managed-env.ts +154 -0
- package/src/runtime/shared/node-ts-loader.mjs +50 -0
- package/src/runtime/shared/process-environment.ts +97 -0
- package/src/runtime/shared/process-identity.ts +72 -0
- package/src/runtime/shared/process-tree.ts +227 -0
- package/src/runtime/shared/response-budget.ts +246 -0
- package/src/runtime/standalone-recovery/core.ts +2275 -0
- package/src/runtime/standalone-recovery/entry.ts +686 -0
- package/src/runtime/standalone-recovery/http-transport.ts +317 -0
- package/src/runtime/standalone-recovery/installer.ts +747 -0
- package/src/runtime/standalone-recovery/release.ts +241 -0
- package/src/runtime/watchdog/workflow-watchdog.ts +118 -0
- package/src/runtime/workflow/campaigns/cleanup.ts +263 -0
- package/src/runtime/workflow/campaigns/engine.ts +112 -0
- package/src/runtime/workflow/campaigns/normalize.ts +100 -0
- package/src/runtime/workflow/campaigns/review.ts +315 -0
- package/src/runtime/workflow/campaigns/store.ts +526 -0
- package/src/runtime/workflow/campaigns/supervisor.ts +112 -0
- package/src/runtime/workflow/campaigns/types.ts +290 -0
- package/src/runtime/workflow/campaigns/workspace-agent.ts +155 -0
- package/src/runtime/workflow/campaigns/workspace.ts +200 -0
- package/src/runtime/workflow/findings/store.ts +165 -0
- package/src/runtime/workflow/findings/types.ts +36 -0
- package/src/runtime/workflow/portfolio/engine.ts +20 -0
- package/src/runtime/workflow/portfolio/store.ts +185 -0
- package/src/runtime/workflow/portfolio/types.ts +29 -0
- package/src/runtime/workflow/schedules/engine.ts +620 -0
- package/src/runtime/workflow/schedules/settlement.ts +144 -0
- package/src/runtime/workflow/schedules/store.ts +417 -0
- package/src/runtime/workflow/schedules/types.ts +124 -0
- package/src/runtime/workspace-targets/index.ts +24 -0
- package/src/runtime/workspace-targets/target-grant.ts +721 -0
- package/src/testing/test-governance.ts +626 -0
- package/src/version.ts +21 -0
package/docs/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Forge Documentation
|
|
2
|
+
|
|
3
|
+
> Maintained documentation for the current Forge product and runtime. Executable behavior and [`architecture/current/`](architecture/current/) are authoritative; historical notes are context, not active contracts.
|
|
4
|
+
|
|
5
|
+
[中文文档中心](README.zh-CN.md) · [GitHub](https://github.com/moretea-labs/forge) · [Releases](https://github.com/moretea-labs/forge/releases) · [Support](../SUPPORT.md)
|
|
6
|
+
|
|
7
|
+
## Start here
|
|
8
|
+
|
|
9
|
+
| Goal | Start | Next |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| Install Forge | [Install and start](tutorials/01-install-and-start.md) | [Platform support](operations/platform-support.md) |
|
|
12
|
+
| Connect ChatGPT | [Connect ChatGPT](tutorials/02-connect-chatgpt.md) | [MCP setup](forge-chatgpt-mcp-setup.md) |
|
|
13
|
+
| Complete a first task | [First repository task](tutorials/03-first-repository-task.md) | [Public usage guide](public-usage-guide.md) |
|
|
14
|
+
| Install an official provider | [Plugin management](forge-plugin-management.md) | [Provider configuration](operations/provider-configuration.md) |
|
|
15
|
+
| Understand Forge | [Core Concepts](wiki/Core-Concepts.md) | [Architecture](wiki/Architecture.md) |
|
|
16
|
+
| Operate or recover | [Operations](wiki/Operations.md) | [Troubleshooting](operations/troubleshooting.md) |
|
|
17
|
+
| Contribute or release | [Contributing](../CONTRIBUTING.md) | [Release process](operations/releasing.md) |
|
|
18
|
+
|
|
19
|
+
## Product surface
|
|
20
|
+
|
|
21
|
+
The normal ChatGPT connector exposes a bounded **19-tool MCP surface**. The five preferred facades—`rh_status`, `rh_access`, `rh_inbox`, `rh_context`, and `rh_work`—cover the normal control loop; repository, source/patch, check, Process, plugin-dispatch, and result tools complete the default surface.
|
|
22
|
+
|
|
23
|
+
Forge is Direct-first: investigation does not create durable Work by itself, and worktrees are introduced only when isolation is needed. Long-running commands use one Process lifecycle and return bounded summaries plus durable references.
|
|
24
|
+
|
|
25
|
+
## Documentation map
|
|
26
|
+
|
|
27
|
+
### Learn
|
|
28
|
+
- [Tutorials](tutorials/README.md)
|
|
29
|
+
- [Public usage guide](public-usage-guide.md)
|
|
30
|
+
- [Features and setup levels](operations/features.md)
|
|
31
|
+
- [Platform support](operations/platform-support.md)
|
|
32
|
+
|
|
33
|
+
### Understand
|
|
34
|
+
- [Core Concepts](wiki/Core-Concepts.md)
|
|
35
|
+
- [Architecture](wiki/Architecture.md)
|
|
36
|
+
- [Runtime Architecture](wiki/Runtime-Architecture.md)
|
|
37
|
+
- [Work Lifecycle](wiki/Work-Lifecycle.md)
|
|
38
|
+
- [Implementation map](wiki/Implementation.md)
|
|
39
|
+
|
|
40
|
+
### Integrate
|
|
41
|
+
- [Plugin management](forge-plugin-management.md)
|
|
42
|
+
- [Provider configuration](operations/provider-configuration.md)
|
|
43
|
+
- [Browser provider](operations/controller-browser-plugin.md)
|
|
44
|
+
- [Desktop provider](operations/controller-desktop-plugin.md)
|
|
45
|
+
- [Local system assistant](operations/local-system-assistant.md)
|
|
46
|
+
- [iOS development assistant](forge-ios-development-assistant.md)
|
|
47
|
+
|
|
48
|
+
### Operate
|
|
49
|
+
- [Operations overview](wiki/Operations.md)
|
|
50
|
+
- [Troubleshooting](operations/troubleshooting.md)
|
|
51
|
+
- [Controller reliability runbook](operations/controller-reliability-runbook.md)
|
|
52
|
+
- [Runtime performance diagnostics](operations/runtime-performance-diagnostics.md)
|
|
53
|
+
- [Standalone disaster recovery](operations/standalone-disaster-recovery.md)
|
|
54
|
+
|
|
55
|
+
### Maintain
|
|
56
|
+
- [Release process](operations/releasing.md)
|
|
57
|
+
- [Open-source release hygiene](operations/open-source-release-hygiene.md)
|
|
58
|
+
- [GitHub repository baseline](operations/github-repository.md)
|
|
59
|
+
- [Versioning](versioning.md)
|
|
60
|
+
- [Security policy](../SECURITY.md)
|
|
61
|
+
|
|
62
|
+
## Current runtime facts
|
|
63
|
+
|
|
64
|
+
- Controller is a global multi-repository service; repository work is explicitly scoped by stable `repoId` and, when needed, `checkoutId`.
|
|
65
|
+
- Controller Home owns service configuration, authentication, provider settings, durable runtime state, and release metadata.
|
|
66
|
+
- The public MCP endpoint is separate from the localhost-only Controller UI.
|
|
67
|
+
- Long-running work returns bounded summaries and durable references instead of unbounded logs.
|
|
68
|
+
- Stable runtime rollout uses immutable releases and exact revision identity; ambiguous ownership or release drift fails closed.
|
|
69
|
+
|
|
70
|
+
## Authority and history
|
|
71
|
+
|
|
72
|
+
Current architecture lives in [`architecture/current/`](architecture/current/). The [architecture index](architecture/index.md) and [consolidated history](architecture/history.md) explain superseded designs. Research notes under [`researches/`](researches/) are evidence, not current contracts.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Forge 中文文档
|
|
2
|
+
|
|
3
|
+
> 这里维护 Forge 当前产品与 Runtime 的公开文档。可执行代码与 [`architecture/current/`](architecture/current/) 是当前事实来源;历史设计与研究文档只提供背景,不覆盖当前契约。
|
|
4
|
+
|
|
5
|
+
[English docs](README.md) · [GitHub](https://github.com/moretea-labs/forge) · [版本发布](https://github.com/moretea-labs/forge/releases) · [支持](../SUPPORT.md)
|
|
6
|
+
|
|
7
|
+
## 从这里开始
|
|
8
|
+
|
|
9
|
+
| 目标 | 先读 | 接着读 |
|
|
10
|
+
| --- | --- | --- |
|
|
11
|
+
| 安装 Forge | [安装并启动](tutorials/01-install-and-start.zh-CN.md) | [平台支持](operations/platform-support.zh-CN.md) |
|
|
12
|
+
| 连接 ChatGPT | [连接 ChatGPT](tutorials/02-connect-chatgpt.zh-CN.md) | [MCP 配置](forge-chatgpt-mcp-setup.md) |
|
|
13
|
+
| 完成第一个任务 | [第一个仓库任务](tutorials/03-first-repository-task.zh-CN.md) | [公开使用指南](public-usage-guide.zh-CN.md) |
|
|
14
|
+
| 安装官方 Provider | [插件管理](forge-plugin-management.md) | [Provider 配置](operations/provider-configuration.md) |
|
|
15
|
+
| 理解 Forge | [核心概念](wiki/Core-Concepts.md) | [架构](wiki/Architecture.md) |
|
|
16
|
+
| 运维与恢复 | [Operations](wiki/Operations.md) | [故障排查](operations/troubleshooting.zh-CN.md) |
|
|
17
|
+
| 贡献与发布 | [贡献指南](../CONTRIBUTING.md) | [发布流程](operations/releasing.zh-CN.md) |
|
|
18
|
+
|
|
19
|
+
## 当前产品面
|
|
20
|
+
|
|
21
|
+
普通 ChatGPT Connector 默认暴露 **19 个 MCP 工具**。`rh_status`、`rh_access`、`rh_inbox`、`rh_context`、`rh_work` 五个 facade 覆盖主要控制循环,其余默认工具负责仓库、源码/补丁、check、Process、插件分发与结果读取。
|
|
22
|
+
|
|
23
|
+
Forge 默认 Direct-first:仅调查不会创建 durable Work;只有真正需要隔离时才建立 worktree。长命令由同一个 Process 生命周期管理,并返回有界摘要与可继续读取的引用。
|
|
24
|
+
|
|
25
|
+
## 文档地图
|
|
26
|
+
|
|
27
|
+
### 学习与使用
|
|
28
|
+
- [教程目录](tutorials/README.zh-CN.md)
|
|
29
|
+
- [公开使用指南](public-usage-guide.zh-CN.md)
|
|
30
|
+
- [功能与配置层级](operations/features.zh-CN.md)
|
|
31
|
+
- [平台支持](operations/platform-support.zh-CN.md)
|
|
32
|
+
|
|
33
|
+
### 理解架构
|
|
34
|
+
- [核心概念](wiki/Core-Concepts.md)
|
|
35
|
+
- [架构](wiki/Architecture.md)
|
|
36
|
+
- [Runtime 架构](wiki/Runtime-Architecture.md)
|
|
37
|
+
- [工作生命周期](wiki/Work-Lifecycle.md)
|
|
38
|
+
- [实现地图](wiki/Implementation.md)
|
|
39
|
+
|
|
40
|
+
### 集成能力
|
|
41
|
+
- [插件管理](forge-plugin-management.md)
|
|
42
|
+
- [Provider 配置](operations/provider-configuration.md)
|
|
43
|
+
- [桌面 Provider](operations/controller-desktop-plugin.md)
|
|
44
|
+
- [本地系统助手](operations/local-system-assistant.zh-CN.md)
|
|
45
|
+
- [iOS 开发助手](forge-ios-development-assistant.md)
|
|
46
|
+
|
|
47
|
+
### 运维与维护
|
|
48
|
+
- [故障排查](operations/troubleshooting.zh-CN.md)
|
|
49
|
+
- [发布流程](operations/releasing.zh-CN.md)
|
|
50
|
+
- [GitHub 仓库基线](operations/github-repository.md)
|
|
51
|
+
- [版本策略](versioning.md)
|
|
52
|
+
- [安全策略](../SECURITY.md)
|
|
53
|
+
|
|
54
|
+
## 当前事实与历史
|
|
55
|
+
|
|
56
|
+
Controller 是全局多仓库服务,但执行始终由稳定 `repoId` 和必要时的 `checkoutId` 明确限定。Controller Home 保存服务配置、认证、Provider、持久状态与发布元数据;公网 MCP 与仅本机可见的 Controller UI 相互分离。
|
|
57
|
+
|
|
58
|
+
当前架构以 [`architecture/current/`](architecture/current/) 为准;[`architecture/history.md`](architecture/history.md) 与 [`researches/`](researches/) 用于追溯历史和证据,不是当前运行契约。
|
|
@@ -0,0 +1,393 @@
|
|
|
1
|
+
# ChatGPT Handoff Inbox and MCP Facade Architecture
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
This design keeps ChatGPT as the strong interactive controller while making Forge a safer, smaller, and more useful repository control plane.
|
|
6
|
+
|
|
7
|
+
The architecture addresses two current bottlenecks:
|
|
8
|
+
|
|
9
|
+
1. Forge can execute work but cannot proactively return pending decisions to the ChatGPT control conversation.
|
|
10
|
+
2. ChatGPT sees too many narrow MCP tools, making tool selection harder as new repository and plugin capabilities are added.
|
|
11
|
+
|
|
12
|
+
The solution is not to make Forge a replacement LLM agent. The solution is to expose a small ChatGPT-facing facade, route concrete work through internal capabilities, and record pending decisions in a durable Handoff Inbox.
|
|
13
|
+
|
|
14
|
+
## Design principles
|
|
15
|
+
|
|
16
|
+
- ChatGPT remains the strong主控 for ambiguous design, product, architecture, and high-risk decisions.
|
|
17
|
+
- Forge owns deterministic control-plane work: repository state, worktrees, task lifecycle, evidence, verification, policy, and cleanup.
|
|
18
|
+
- Codex or another coding agent may be used as a worker, but Forge remains the scheduler, verifier, and policy gate.
|
|
19
|
+
- Internal capabilities may grow, but the ChatGPT-facing tool surface should stay small and stable.
|
|
20
|
+
- New features should register internal capabilities instead of adding one visible MCP tool per feature.
|
|
21
|
+
- All ChatGPT-facing responses should be bounded summaries by default, with explicit detail/ref follow-up.
|
|
22
|
+
- Risky operations should return approval requests, not be exposed as separate high-risk tools.
|
|
23
|
+
|
|
24
|
+
## Capability domains
|
|
25
|
+
|
|
26
|
+
Forge has at least two peer capability domains. They should be modeled in parallel, not nested under each other.
|
|
27
|
+
|
|
28
|
+
### Repository capabilities
|
|
29
|
+
|
|
30
|
+
Repository capabilities operate on code, tasks, checks, branches, worktrees, commits, and evidence.
|
|
31
|
+
|
|
32
|
+
Examples:
|
|
33
|
+
|
|
34
|
+
- inspect repository status
|
|
35
|
+
- create or reuse a worktree
|
|
36
|
+
- read task context
|
|
37
|
+
- apply bounded edits
|
|
38
|
+
- run verification
|
|
39
|
+
- summarize diff and evidence
|
|
40
|
+
- commit, merge, or cleanup after policy approval
|
|
41
|
+
|
|
42
|
+
### Plugin capabilities
|
|
43
|
+
|
|
44
|
+
Plugin capabilities operate on external service integrations or assistant runtime extensions. They are not inherently repository operations, even if their configuration or tests live in the repository.
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
|
|
48
|
+
- Gmail plugin actions
|
|
49
|
+
- Calendar plugin actions
|
|
50
|
+
- browser plugin actions
|
|
51
|
+
- GitHub plugin actions
|
|
52
|
+
- future assistant/runtime plugins
|
|
53
|
+
|
|
54
|
+
### Why they should be parallel
|
|
55
|
+
|
|
56
|
+
Treating plugin capabilities as a subset of repository tools causes tool growth and mixed permissions. A browser preview, a GitHub issue sync, and a repository verification check have different risk shapes. They should all register as internal capabilities with metadata, but ChatGPT should not receive a new top-level tool for each one.
|
|
57
|
+
|
|
58
|
+
The common abstraction should be:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Capability
|
|
62
|
+
id
|
|
63
|
+
domain: repository | plugin | controller | evidence | maintenance
|
|
64
|
+
operation class: read | write | execute | verify | finalize
|
|
65
|
+
risk: low | medium | high | destructive
|
|
66
|
+
input contract
|
|
67
|
+
result contract
|
|
68
|
+
exposed via facade operation
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This keeps plugin abilities and repository abilities extensible without growing the public MCP surface.
|
|
72
|
+
|
|
73
|
+
## ChatGPT-facing facade
|
|
74
|
+
|
|
75
|
+
The facade is a small set of stable tools. It should hide controller internals such as runId, checkoutId, raw job payloads, leases, fingerprints, and plugin-specific implementation details unless explicitly requested through a detail path.
|
|
76
|
+
|
|
77
|
+
Recommended first surface:
|
|
78
|
+
|
|
79
|
+
```text
|
|
80
|
+
rh_status - current controller/repo/task readiness and pending attention
|
|
81
|
+
rh_inbox - list, get, ack, resolve handoff items
|
|
82
|
+
rh_context - task, repo, diff, evidence, recent attempts, context map
|
|
83
|
+
rh_work - start, continue, verify, repair, finalize, stop
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
A later `rh_evidence` can be split out if evidence becomes too large for `rh_context`.
|
|
87
|
+
|
|
88
|
+
### Facade operation rule
|
|
89
|
+
|
|
90
|
+
Operations describe generic workflow actions, not business-specific features.
|
|
91
|
+
|
|
92
|
+
Good operations:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
start
|
|
96
|
+
continue
|
|
97
|
+
verify
|
|
98
|
+
repair
|
|
99
|
+
finalize
|
|
100
|
+
list
|
|
101
|
+
get
|
|
102
|
+
ack
|
|
103
|
+
resolve
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Bad operations:
|
|
107
|
+
|
|
108
|
+
```text
|
|
109
|
+
fix_durable_job_response
|
|
110
|
+
migrate_mcp_runtime_config
|
|
111
|
+
repair_browser_preview
|
|
112
|
+
sync_gmail_plugin
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Business meaning belongs in `objective`, `task_id`, `acceptance_criteria`, `runbook_ref`, and evidence summaries.
|
|
116
|
+
|
|
117
|
+
## Unified facade result
|
|
118
|
+
|
|
119
|
+
Every ChatGPT-facing facade should return the same outer envelope.
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
FacadeResult
|
|
123
|
+
status: ok | blocked | failed | approval_required | not_found
|
|
124
|
+
summary: short natural-language summary for ChatGPT
|
|
125
|
+
data: bounded structured data
|
|
126
|
+
evidence_refs: bounded references to detailed evidence
|
|
127
|
+
warnings: policy or validation warnings
|
|
128
|
+
suggested_next_actions: concrete facade calls that are safe next steps
|
|
129
|
+
raw_available: whether a more detailed view exists
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
`suggested_next_actions` is important because it turns Forge into a guided workflow. ChatGPT should not have to choose from many tools after every result. The controller should return a small set of next safe actions.
|
|
133
|
+
|
|
134
|
+
## Handoff Inbox
|
|
135
|
+
|
|
136
|
+
The Handoff Inbox is the durable bridge from background work back to the ChatGPT主控.
|
|
137
|
+
|
|
138
|
+
Forge should create a handoff when it reaches a state where a strong controller should decide the next step.
|
|
139
|
+
|
|
140
|
+
Typical triggers:
|
|
141
|
+
|
|
142
|
+
- verification failed and the repair direction is ambiguous
|
|
143
|
+
- work is ready for review or merge approval
|
|
144
|
+
- an operation was blocked by policy
|
|
145
|
+
- a background task discovered a new candidate issue
|
|
146
|
+
- a plugin capability needs configuration or user authorization
|
|
147
|
+
- a coding agent completed work but Forge cannot safely finalize
|
|
148
|
+
|
|
149
|
+
### Handoff item contract
|
|
150
|
+
|
|
151
|
+
```text
|
|
152
|
+
HandoffItem
|
|
153
|
+
id
|
|
154
|
+
repo_id
|
|
155
|
+
task_id
|
|
156
|
+
title
|
|
157
|
+
severity: info | needs_review | blocked | failed | ready_to_continue
|
|
158
|
+
status: pending | acknowledged | in_progress | resolved | dismissed | superseded
|
|
159
|
+
reason: why ChatGPT/main controller is needed
|
|
160
|
+
summary: what happened
|
|
161
|
+
current_state: bounded repo/task/work state
|
|
162
|
+
evidence_refs: evidence references, not raw logs by default
|
|
163
|
+
recommended_decision: what ChatGPT should decide
|
|
164
|
+
recommended_prompt: continuation prompt for a new or resumed ChatGPT session
|
|
165
|
+
suggested_next_actions: safe facade calls for the next step
|
|
166
|
+
created_at
|
|
167
|
+
updated_at
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
### Handoff lifecycle
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
pending -> acknowledged -> in_progress -> resolved
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Additional terminal states:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
dismissed
|
|
180
|
+
superseded
|
|
181
|
+
expired
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
The inbox should be pull-friendly. ChatGPT or a scheduled checker can call `rh_inbox list`, read the highest-priority pending item, then continue with `rh_context` and `rh_work`.
|
|
185
|
+
|
|
186
|
+
## Policy gate
|
|
187
|
+
|
|
188
|
+
Permissions should not be encoded by creating more MCP tools. They should be enforced by a policy gate below the facade.
|
|
189
|
+
|
|
190
|
+
The gate classifies each requested capability invocation as:
|
|
191
|
+
|
|
192
|
+
```text
|
|
193
|
+
allowed
|
|
194
|
+
approval_required
|
|
195
|
+
denied
|
|
196
|
+
dry_run_only
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
Examples:
|
|
200
|
+
|
|
201
|
+
- reading bounded task context: allowed
|
|
202
|
+
- running a known targeted check: allowed
|
|
203
|
+
- creating a worktree for scoped work: allowed or approval-free if low/medium risk
|
|
204
|
+
- committing a scoped verified change: allowed when task policy permits
|
|
205
|
+
- merging to main: approval_required
|
|
206
|
+
- deleting a worktree: approval_required unless it is controller-owned and terminal
|
|
207
|
+
- running arbitrary shell from ChatGPT input: denied or approval_required
|
|
208
|
+
- reading raw tokens, auth files, or full environment: denied by default
|
|
209
|
+
|
|
210
|
+
## Avoiding security-prone ChatGPT request shapes
|
|
211
|
+
|
|
212
|
+
ChatGPT-facing tools should avoid request shapes that look like unconstrained local execution or agent takeover.
|
|
213
|
+
|
|
214
|
+
Prefer this shape:
|
|
215
|
+
|
|
216
|
+
```text
|
|
217
|
+
rh_work({
|
|
218
|
+
operation: "continue",
|
|
219
|
+
task_id: "T17",
|
|
220
|
+
mode: "supervised",
|
|
221
|
+
constraints: { max_changed_files: 6, allow_merge: false }
|
|
222
|
+
})
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Avoid this shape:
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
execute_command({ command: "..." })
|
|
229
|
+
run_agent({ prompt: "do anything needed" })
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Execution should be staged:
|
|
233
|
+
|
|
234
|
+
1. ChatGPT submits a high-level intent through a facade.
|
|
235
|
+
2. Forge returns a preview, policy classification, and suggested next actions.
|
|
236
|
+
3. Forge creates a controller-owned worktree or direct-edit session internally.
|
|
237
|
+
4. Risky execution requests become approval requests with bounded previews.
|
|
238
|
+
5. Raw logs, large stdout/stderr, local paths, and secrets are not returned by default.
|
|
239
|
+
|
|
240
|
+
This design reduces the chance that ChatGPT triggers safety systems with a broad local-execution request. It also gives Forge a stronger audit trail.
|
|
241
|
+
|
|
242
|
+
## Execution mode selection
|
|
243
|
+
|
|
244
|
+
The facade should not force every request into the Goal Workloop. Forge needs a lightweight router that preserves the existing fast path while upgrading only the work that benefits from recovery, isolation, worker execution, approval, plugin authorization, or background continuation.
|
|
245
|
+
|
|
246
|
+
### Direct Control
|
|
247
|
+
|
|
248
|
+
Use Direct Control when ChatGPT is actively supervising a small, clear change.
|
|
249
|
+
|
|
250
|
+
Typical conditions:
|
|
251
|
+
|
|
252
|
+
- expected files are three or fewer
|
|
253
|
+
- expected changed lines are roughly two hundred or fewer
|
|
254
|
+
- scope and paths are clear
|
|
255
|
+
- no external plugin side effect is required
|
|
256
|
+
- no worker or background recovery is required
|
|
257
|
+
- no merge, cleanup, or destructive approval is required
|
|
258
|
+
|
|
259
|
+
Direct Control may still use bounded primitives such as search, read, direct edit, patch, targeted check, and selected-path commit. It is a fast execution path, not a policy bypass.
|
|
260
|
+
|
|
261
|
+
### Goal Workloop
|
|
262
|
+
|
|
263
|
+
Use Goal Workloop when the work has enough complexity to benefit from a durable contract.
|
|
264
|
+
|
|
265
|
+
Typical conditions:
|
|
266
|
+
|
|
267
|
+
- multi-step implementation or verification
|
|
268
|
+
- controller-owned worktree isolation
|
|
269
|
+
- Codex or another worker may be useful
|
|
270
|
+
- explicit policy approval may be needed
|
|
271
|
+
- a later ChatGPT session may need to resume
|
|
272
|
+
- plugin capability or external service state is involved
|
|
273
|
+
|
|
274
|
+
The Goal Workloop can internally choose direct edit, isolated worktree, worker execution, or handoff, but ChatGPT should not have to select the low-level mechanism in the request shape.
|
|
275
|
+
|
|
276
|
+
### Handoff-only
|
|
277
|
+
|
|
278
|
+
Use Handoff-only when Forge should not execute yet.
|
|
279
|
+
|
|
280
|
+
Typical conditions:
|
|
281
|
+
|
|
282
|
+
- the objective is underspecified
|
|
283
|
+
- acceptance criteria are missing
|
|
284
|
+
- allowed paths are unclear
|
|
285
|
+
- a plugin is missing authorization
|
|
286
|
+
- the next step requires product or architecture judgment
|
|
287
|
+
- the operation is high risk and lacks approval
|
|
288
|
+
|
|
289
|
+
Handoff-only creates a pending decision packet for ChatGPT or the user. It should not become a general log sink.
|
|
290
|
+
|
|
291
|
+
### Routing rule
|
|
292
|
+
|
|
293
|
+
```text
|
|
294
|
+
small + clear + supervised
|
|
295
|
+
-> Direct Control
|
|
296
|
+
|
|
297
|
+
clear + complex or needs recovery/worker/approval/external effect
|
|
298
|
+
-> Goal Workloop
|
|
299
|
+
|
|
300
|
+
unclear or unsafe without a decision
|
|
301
|
+
-> Handoff-only
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
This rule prevents process inflation: direct edit remains the default for small supervised work, and Goal Workloop is an escalation path rather than a universal wrapper.
|
|
305
|
+
|
|
306
|
+
## Work start flow
|
|
307
|
+
|
|
308
|
+
The expected implementation flow for new work is:
|
|
309
|
+
|
|
310
|
+
```text
|
|
311
|
+
ChatGPT request
|
|
312
|
+
-> rh_status / rh_context to inspect readiness
|
|
313
|
+
-> rh_work start or continue with bounded constraints
|
|
314
|
+
-> policy gate decides allowed / approval_required / denied
|
|
315
|
+
-> Forge creates worktree or edit session
|
|
316
|
+
-> internal capability executes work
|
|
317
|
+
-> evidence is captured as bounded references
|
|
318
|
+
-> rh_work returns summary and suggested_next_actions
|
|
319
|
+
-> if blocked or review-needed, Handoff Inbox item is created
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
For low-risk documentation or contract work, Forge may use a bounded direct-edit session. For isolated code changes, Forge should prefer a controller-owned worktree. ChatGPT should not need to choose the low-level mechanism unless the user explicitly asks.
|
|
323
|
+
|
|
324
|
+
## Capability registry
|
|
325
|
+
|
|
326
|
+
New features should be added to the registry, not to the ChatGPT-visible tool list.
|
|
327
|
+
|
|
328
|
+
Example:
|
|
329
|
+
|
|
330
|
+
```text
|
|
331
|
+
Capability: browser_result_preview
|
|
332
|
+
domain: plugin
|
|
333
|
+
operation_class: evidence
|
|
334
|
+
risk: low
|
|
335
|
+
exposed_via: rh_context.evidence
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
```text
|
|
339
|
+
Capability: stale_worktree_cleanup
|
|
340
|
+
domain: maintenance
|
|
341
|
+
operation_class: finalize
|
|
342
|
+
risk: medium
|
|
343
|
+
exposed_via: rh_work.finalize
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
```text
|
|
347
|
+
Capability: durable_job_bounded_response_check
|
|
348
|
+
domain: controller
|
|
349
|
+
operation_class: verify
|
|
350
|
+
risk: low
|
|
351
|
+
exposed_via: rh_work.verify
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
This prevents new feature work from expanding ChatGPT's tool menu.
|
|
355
|
+
|
|
356
|
+
## Implementation stages
|
|
357
|
+
|
|
358
|
+
### Stage 1: documentation and contracts
|
|
359
|
+
|
|
360
|
+
- Document Handoff Inbox and MCP facade architecture.
|
|
361
|
+
- Define `HandoffItem` and `FacadeResult` contracts.
|
|
362
|
+
- Define the first facade operations and result envelopes.
|
|
363
|
+
- Document policy and safety rules.
|
|
364
|
+
|
|
365
|
+
### Stage 2: Handoff Inbox MVP
|
|
366
|
+
|
|
367
|
+
- Add persistent handoff storage under controller-home repository runtime storage.
|
|
368
|
+
- Add create/list/get/ack/resolve operations internally.
|
|
369
|
+
- Surface pending handoff count in status.
|
|
370
|
+
- Create handoffs from blocked, failed, approval-required, and ready-to-continue states.
|
|
371
|
+
|
|
372
|
+
### Stage 3: MCP facade MVP
|
|
373
|
+
|
|
374
|
+
- Add `rh_status`, `rh_inbox`, `rh_context`, and `rh_work` facade tools.
|
|
375
|
+
- Route existing controller actions through facade operations.
|
|
376
|
+
- Return `FacadeResult` consistently.
|
|
377
|
+
- Mark legacy narrow tools as internal/deprecated for ChatGPT use.
|
|
378
|
+
|
|
379
|
+
### Stage 4: capability routing and policy gate
|
|
380
|
+
|
|
381
|
+
- Add capability metadata and routing.
|
|
382
|
+
- Move plugin and repository operations behind the same registry/policy model.
|
|
383
|
+
- Enforce approval_required for merge, cleanup, raw detail, and arbitrary execution.
|
|
384
|
+
|
|
385
|
+
### Stage 5: worker integration
|
|
386
|
+
|
|
387
|
+
- Let `rh_work` schedule Codex or another worker only after policy classification.
|
|
388
|
+
- Keep Codex as a worker, not the owner of task lifecycle.
|
|
389
|
+
- Forge remains responsible for verification, evidence, finalization, and handoff.
|
|
390
|
+
|
|
391
|
+
## Acceptance for this architecture
|
|
392
|
+
|
|
393
|
+
The design is successful if ChatGPT can operate Forge primarily through four stable entry points, if background work can leave a resumable handoff, and if new repository or plugin capabilities can be added internally without growing the public tool list.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
# Current Controller Runtime Architecture
|
|
2
|
+
|
|
3
|
+
> **Runtime Authority** — this directory is the approved architecture source for Forge Controller Runtime.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
This directory defines the architecture that implementation work must converge toward. It exists to prevent runtime behavior from being inferred from whichever V5, V6, V7, V8, plan, research report, or Issue happens to be read first.
|
|
8
|
+
|
|
9
|
+
Forge is designed as an **Agent Engineering Control Plane**:
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
Thin Gateway
|
|
13
|
+
-> Global Control Plane
|
|
14
|
+
-> Per-Repository Actor
|
|
15
|
+
-> Durable Job Queue
|
|
16
|
+
-> Isolated Worker
|
|
17
|
+
-> Evidence Plane
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
The architecture is both technical and operational. It defines not only modules and processes, but also:
|
|
21
|
+
|
|
22
|
+
- who may decide;
|
|
23
|
+
- who may execute;
|
|
24
|
+
- how work is persisted and recovered;
|
|
25
|
+
- when tasks may run concurrently;
|
|
26
|
+
- what counts as a conflict;
|
|
27
|
+
- how multiple repositories share system resources;
|
|
28
|
+
- how scheduled work remains bounded;
|
|
29
|
+
- what evidence is required before completion or release.
|
|
30
|
+
|
|
31
|
+
## Authority Statement
|
|
32
|
+
|
|
33
|
+
The documents in this directory are the sole architecture authority for the current Controller Runtime.
|
|
34
|
+
|
|
35
|
+
The execution control-plane topology is implemented, but the lifecycle simplification described by `runtime-architecture-simplification.md` remains a target under migration. Normative documents must distinguish current behavior, approved target rules, and compatibility boundaries using these labels:
|
|
36
|
+
|
|
37
|
+
### Current Implementation
|
|
38
|
+
|
|
39
|
+
Verified behavior that exists in code, tests, persisted schemas, or observable runtime state.
|
|
40
|
+
|
|
41
|
+
Use this label only when a repository path or executable check can support the claim.
|
|
42
|
+
|
|
43
|
+
### Architecture Requirement
|
|
44
|
+
|
|
45
|
+
A non-negotiable behavior that current and future implementations must preserve. Runtime evidence is listed in `implementation-status.md`.
|
|
46
|
+
|
|
47
|
+
### Compatibility Rule
|
|
48
|
+
|
|
49
|
+
A rule that protects existing tools, stored state and callers while the runtime uses the new control-plane implementation.
|
|
50
|
+
|
|
51
|
+
## Reading Order
|
|
52
|
+
|
|
53
|
+
Read the architecture in this order:
|
|
54
|
+
|
|
55
|
+
1. `system-overview.md` — boundary, layers, and process topology.
|
|
56
|
+
2. `personal-assistant-plugin-baseline.md` — concrete assistant/plugin/GitHub/Gmail/Calendar boundary and migration baseline.
|
|
57
|
+
3. `architecture-invariants.md` — non-negotiable rules.
|
|
58
|
+
4. `entity-model.md` — durable entity meanings and ownership.
|
|
59
|
+
5. `job-and-run-lifecycle.md` — execution, retry, cancellation, and terminal-state semantics.
|
|
60
|
+
6. `dispatch-and-agent-strategy.md` — selection of Direct Edit, Quick Agent, durable Tasks, and Agent roles.
|
|
61
|
+
6a. `thin-harness-v1.md` — Fast Path router, typed batch, lightweight lanes, and durable escalation rules.
|
|
62
|
+
7. `scheduler-and-resource-claims.md` — repository actors, claims, leases, workspace conflicts, and integration queues.
|
|
63
|
+
8. `multi-repository-execution.md` — cross-repository quotas, fairness, DAGs, and failure isolation.
|
|
64
|
+
9. `automation-and-schedule-engine.md` — schedules, bounded occurrences, deduplication, budgets, and stop conditions.
|
|
65
|
+
10. `failure-recovery.md` — Gateway, Controller, Worker, orphan, stale, timeout, and reconciliation behavior.
|
|
66
|
+
11. `verification-and-release-gates.md` — exact-revision verification, acceptance, release freeze, and human authorization.
|
|
67
|
+
12. `implementation-status.md` — verified implementation coverage and compatibility boundaries.
|
|
68
|
+
13. `migration-roadmap.md` — completed execution-plane phases and the active lifecycle convergence record.
|
|
69
|
+
14. `runtime-architecture-simplification.md` — single-owner services, canonical authority/config, immutable activation, Recovery boundary, invariants, and deletion map.
|
|
70
|
+
15. `runtime-directory-map.md` — executable module boundaries.
|
|
71
|
+
16. `operations-runbook.md` — health, recovery and release operations.
|
|
72
|
+
17. `governance.md` — ownership, ADR, drift, and maintenance rules.
|
|
73
|
+
18. `session-aware-execution-and-authorization.md` — Session Context, Work Handle, Goal delegation, and resumable approval boundaries.
|
|
74
|
+
19. `runtime-health-and-resource-lifecycle.md` — shared health evaluation, projection freshness, capability status, attention/history, and bounded ownership-aware cleanup.
|
|
75
|
+
20. `runtime-architecture-simplification.md` — canonical single Runtime lifecycle, release and recovery boundary.
|
|
76
|
+
21. `human-interaction-plane.md` — foreground provider sessions, durable human handoff, profile fencing, and safe resumption.
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
## Architecture Layers
|
|
80
|
+
|
|
81
|
+
The approved top-level layers are:
|
|
82
|
+
|
|
83
|
+
| Layer | Primary responsibility | Must not own |
|
|
84
|
+
| --- | --- | --- |
|
|
85
|
+
| Thin Gateway | Authentication, validation, routing, compact reads, durable command acceptance | Long execution, Agent lifetime, heavy checks |
|
|
86
|
+
| Global Control Plane | Repository registry, global quotas, portfolio scheduling | Repository-local workflow mutation |
|
|
87
|
+
| Per-Repository Actor | Repository-local ordering, claims, conflict decisions, integration and release coordination | Cross-repository global locks |
|
|
88
|
+
| Workflow Plane | Issue, Task, Schedule, Occurrence intent and dependency state | Process lifetime and raw logs |
|
|
89
|
+
| Durable Execution Plane | Job acceptance, dispatch, Run attempts, commands, checks, workers | Product acceptance decisions |
|
|
90
|
+
| Workspace Plane | Workspace/worktree allocation, Git integration, resource leases | Business intent |
|
|
91
|
+
| Evidence Plane | Diffs, checks, logs, artifacts, verification and release evidence | Scheduling policy |
|
|
92
|
+
| Projection Plane | Compact snapshots, indexes, dashboard and MCP read models | Source-of-truth state mutation |
|
|
93
|
+
|
|
94
|
+
## Source-of-Truth Rules
|
|
95
|
+
|
|
96
|
+
- Issue and Task files own durable work intent.
|
|
97
|
+
- Jobs own asynchronous system-operation state.
|
|
98
|
+
- Runs own individual Agent execution attempts.
|
|
99
|
+
- Edit Sessions own transactional direct modifications.
|
|
100
|
+
- Verification records own exact-revision completion evidence.
|
|
101
|
+
- Event logs own audit history.
|
|
102
|
+
- Atomic snapshots and indexes are projections optimized for reads and recovery.
|
|
103
|
+
- The controller task ledger projection (`.ai/harness/controller/task-ledger.json` and `.ai/harness/handoff/controller-current.md`) is a compact recovery/read model derived from durable Issue, Task, Run, and worklog state; its `status` field is a deterministic continuation hint for controller recovery, not a competing mutable task source.
|
|
104
|
+
- The controller context pack is a transient Projection Plane read model for scoped code investigation. It may return live Git metadata, validation hints, ranked candidate files, and bounded raw snippets, but it must not become source-of-truth for implementation decisions or replace exact source, diff, and validation review.
|
|
105
|
+
- Chat history, UI state, worker self-reports, and in-memory maps are never durable truth.
|
|
106
|
+
|
|
107
|
+
## Historical Documents
|
|
108
|
+
|
|
109
|
+
Superseded V5–V8 decisions are consolidated in [`docs/architecture/history.md`](../history.md), which is explicitly **Historical Design — Not Runtime Authority**. Detailed legacy documents are retained by Git history rather than published as parallel architecture surfaces.
|
|
110
|
+
|
|
111
|
+
The history may describe behavior that still exists, behavior that was removed, or behavior not yet migrated. It never overrides this directory.
|
|
112
|
+
|
|
113
|
+
## Change Discipline
|
|
114
|
+
|
|
115
|
+
A change requires architecture review when it modifies any of the following:
|
|
116
|
+
|
|
117
|
+
- process or service boundaries;
|
|
118
|
+
- authority or ownership of state;
|
|
119
|
+
- entity meanings or lifecycle transitions;
|
|
120
|
+
- task dispatch or Agent-selection behavior;
|
|
121
|
+
- concurrency, conflict, claim, lease, or integration semantics;
|
|
122
|
+
- multi-repository isolation or fairness;
|
|
123
|
+
- schedule, retry, budget, or stop-condition behavior;
|
|
124
|
+
- verification, acceptance, release, or destructive-operation boundaries;
|
|
125
|
+
- public MCP execution contracts or durable schema compatibility.
|
|
126
|
+
|
|
127
|
+
The expected sequence is:
|
|
128
|
+
|
|
129
|
+
```text
|
|
130
|
+
request or ADR
|
|
131
|
+
-> current architecture update
|
|
132
|
+
-> implementation Task
|
|
133
|
+
-> executable verification
|
|
134
|
+
-> architecture drift check
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Implementation may precede the documentation update only for an urgent incident fix. In that case the change must record a temporary architecture drift item with an owner and closure condition.
|
|
138
|
+
|
|
139
|
+
## Completion Standard
|
|
140
|
+
|
|
141
|
+
The architecture baseline is complete only when:
|
|
142
|
+
|
|
143
|
+
- every required document exists;
|
|
144
|
+
- terms have one meaning across documents;
|
|
145
|
+
- Current Implementation and Target Architecture are distinguishable;
|
|
146
|
+
- every normative invariant has an implementation owner or migration item;
|
|
147
|
+
- historical documents are visibly non-authoritative;
|
|
148
|
+
- automated checks protect the document set and authority markers;
|
|
149
|
+
- future Issues can cite these documents instead of reconstructing strategy from conversation history.
|
|
150
|
+
|
|
151
|
+
See [Architecture Governance Contract](governance.md).
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
- [Forge + ChatGPT current comprehensive architecture (zh-CN)](chatgpt-Forge-current-architecture.zh-CN.md)
|
|
155
|
+
- [Approved target architecture (zh-CN)](approved-target-architecture.zh-CN.md)
|
|
156
|
+
- [Personal assistant/plugin baseline](personal-assistant-plugin-baseline.md)
|
|
157
|
+
- [Target requirements traceability](target-requirements-traceability.md)
|
|
158
|
+
- [Human interaction plane](human-interaction-plane.md)
|