@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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Local Workspace Target Grants
|
|
2
|
+
|
|
3
|
+
## Authority
|
|
4
|
+
|
|
5
|
+
Repository-free local directory access uses one authority:
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
controllerHome/system/local-system/targets.json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
The `local_system` plugin created this authority. The reusable implementation now lives in `src/runtime/workspace-targets/`; the plugin is an adapter over that core. No second Ephemeral Workspace store, Repository Registry shadow record, or route decision store is permitted.
|
|
12
|
+
|
|
13
|
+
## Grant identity
|
|
14
|
+
|
|
15
|
+
A target grant authorizes one existing absolute directory for a bounded period. New grants record:
|
|
16
|
+
|
|
17
|
+
- canonical root path;
|
|
18
|
+
- read-only or read-write access;
|
|
19
|
+
- owner scope derived from the authenticated principal propagated by the execution entrypoint;
|
|
20
|
+
- optional Controller instance identity for audit;
|
|
21
|
+
- deterministic workspace identity and full identity fingerprint;
|
|
22
|
+
- read-only Git detection;
|
|
23
|
+
- creation, expiry, and reason.
|
|
24
|
+
|
|
25
|
+
The workspace identity derives from canonical root, owner scope, access mode, schema version, and authority name. It is stable across retries and Controller restarts but is not a `repoId`.
|
|
26
|
+
|
|
27
|
+
Historical schema-v1 records containing only `targetKey`, `rootPath`, timestamps, and reason remain readable. They are interpreted as `read_write` and `legacy:shared` until their original expiry. Historical audit data is not bulk rewritten.
|
|
28
|
+
|
|
29
|
+
The store and every record are validated before use. Unreadable JSON, malformed records, invalid timestamp ranges, or a persisted identity that no longer matches canonical root, owner scope, and access fail closed without rewriting the evidence. Git metadata is rediscovered on read rather than trusted as a permanent snapshot.
|
|
30
|
+
|
|
31
|
+
New owner isolation must use the authenticated MCP/controller principal, not a generic tool name or request id. The Gateway adapter is responsible for propagating that principal into the plugin execution origin. Until a trusted principal is available, generic Controller actors are normalized to the explicit `controller:shared` scope; they never claim per-user isolation.
|
|
32
|
+
|
|
33
|
+
## Filesystem boundary
|
|
34
|
+
|
|
35
|
+
All plugin file paths and future command working directories must use the same core resolver. It rejects:
|
|
36
|
+
|
|
37
|
+
- absolute child paths;
|
|
38
|
+
- lexical traversal outside the grant root;
|
|
39
|
+
- existing symlinks that escape the root;
|
|
40
|
+
- non-existing destinations whose nearest existing ancestor escapes the root;
|
|
41
|
+
- missing or non-directory command working directories;
|
|
42
|
+
- writes through read-only grants.
|
|
43
|
+
|
|
44
|
+
The resolver re-canonicalizes the root at use time. A moved, deleted, or replaced root fails closed. Grant-store mutations use the existing global Controller Lock and fail with retryable contention instead of silently losing concurrent updates.
|
|
45
|
+
|
|
46
|
+
Explicit revocation uses the same owner-scoped authority and Controller Lock. It removes only the caller-owned active grant; the next read, write, or command fails closed as unavailable. Revocation is recorded through the normal plugin action receipt and local-effect Work lineage rather than a second audit store.
|
|
47
|
+
|
|
48
|
+
## Git behavior
|
|
49
|
+
|
|
50
|
+
Git discovery is read-only and recognizes:
|
|
51
|
+
|
|
52
|
+
- a repository root with a `.git` directory;
|
|
53
|
+
- a linked worktree root with a `.git` file;
|
|
54
|
+
- a directory nested inside an existing repository;
|
|
55
|
+
- a non-Git directory.
|
|
56
|
+
|
|
57
|
+
Authorizing a target never runs `git init`, registers a repository, adopts a dirty workspace, or creates a Work.
|
|
58
|
+
|
|
59
|
+
## Execution integration
|
|
60
|
+
|
|
61
|
+
A Target Grant supplies workspace facts and path authorization only. It does not decide execution mode and does not authorize arbitrary commands.
|
|
62
|
+
|
|
63
|
+
- Route Policy remains the only direct-versus-durable and executor authority.
|
|
64
|
+
- Mutations still require Work lineage, current owner identity, policy/route evidence, base workspace fingerprint, verification, and a final receipt.
|
|
65
|
+
- The existing repository command classifier and approval policy must be reused when command execution is wired to Target Grants.
|
|
66
|
+
- Repository-wide Git refs, Issue ownership, release operations, and long-lived repository defaults still require explicit Repository Registry promotion.
|
|
67
|
+
- Single-file deletion is a dedicated root-bounded action with strong confirmation and a durable receipt. Recursive/directory deletion and arbitrary `rm` execution remain unavailable.
|
|
68
|
+
- Ordinary target commands remain typed-argv and classifier-bounded. A project script that cannot be proven read-only uses a separate high-risk action: the caller selects one fixed interpreter resolved from a closed set of canonical system locations, one root-contained script, and its exact SHA-256 digest, then provides strong confirmation. Caller-supplied executable paths, eval flags, and shell command strings are not accepted, and execution holds the target mutation lock with destructive authorization recorded on the Work contract.
|
|
69
|
+
|
|
70
|
+
This boundary enables repository-free local work without weakening command policy or introducing a parallel lifecycle owner.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Target Architecture Migration Record
|
|
2
|
+
|
|
3
|
+
> Status: **Active Migration Record**
|
|
4
|
+
> Completion baseline: 2026-06-25
|
|
5
|
+
> Lifecycle convergence baseline: 2026-08-02
|
|
6
|
+
|
|
7
|
+
The execution-plane phases below remain completed. The seven-phase lifecycle source convergence governed by [`runtime-architecture-simplification.md`](runtime-architecture-simplification.md) is also complete. This source result does not imply that a new release has been activated on a running installation; live activation remains a separate explicit operation with exact release evidence.
|
|
8
|
+
|
|
9
|
+
## P0 — Single-Owner Runtime Convergence
|
|
10
|
+
|
|
11
|
+
Active target:
|
|
12
|
+
|
|
13
|
+
- one `forge-runtime` process owns MCP Transport, Gateway Adapter, Controller Services, Scheduler, SQLite, and Worker Manager;
|
|
14
|
+
- one Runtime Root owns core startup, shutdown, fatal failure, ownership, and binary readiness;
|
|
15
|
+
- MCP binds directly to one configured Runtime endpoint; no Stable Ingress or alternate serving slot exists;
|
|
16
|
+
- `runtime/releases/authority.json` owns one atomic active/previous whole-release selection;
|
|
17
|
+
- SQLite contents and backups remain local Controller Home execution state and are never distributed in source, packages, releases, or manifests;
|
|
18
|
+
- Workers are bounded Runtime-owned children and every state mutation is fenced by Runtime/release/Job/attempt/Lease identity;
|
|
19
|
+
- standalone Recovery remains independently installable for diagnostics, self/tunnel repair, and offline whole-Runtime rollback, but owns no primary component lifecycle;
|
|
20
|
+
- old bootstrap slot/writer compatibility state, restart coordinator, and component lifecycle scripts are removed; Canonical Runtime fencing is the only write authority.
|
|
21
|
+
|
|
22
|
+
The convergence is one-way and fail-closed. Unsupported legacy authority must report migration/fencing errors rather than selecting a slot, component pointer, or fallback process owner.
|
|
23
|
+
|
|
24
|
+
## P0 — Stabilize and Remove Request-Lifetime Execution
|
|
25
|
+
|
|
26
|
+
Completed:
|
|
27
|
+
|
|
28
|
+
- long and mutating MCP calls are persisted as durable Jobs and acknowledged immediately;
|
|
29
|
+
- Gateway session, body size, initialization and POST concurrency are bounded;
|
|
30
|
+
- overload produces explicit 429/503 responses instead of unbounded request accumulation;
|
|
31
|
+
- repository commands, checks, Edit verification, Agent dispatch and integration run outside Gateway;
|
|
32
|
+
- `/health`, `/ready` and repository health remain available during Worker execution;
|
|
33
|
+
- synchronous legacy code is confined to isolated Workers where compatibility requires it.
|
|
34
|
+
|
|
35
|
+
## P1 — Unified Execution Model
|
|
36
|
+
|
|
37
|
+
Completed:
|
|
38
|
+
|
|
39
|
+
- common `ExecutionJob` state machine;
|
|
40
|
+
- global request-id dedupe and semantic conflict detection;
|
|
41
|
+
- active/recent/request indexes;
|
|
42
|
+
- durable Operation Receipts before side effects;
|
|
43
|
+
- Job/Run separation, deadlines, attempts, heartbeat and reconciliation;
|
|
44
|
+
- append-only entity events;
|
|
45
|
+
- bounded result bodies and addressable Artifacts;
|
|
46
|
+
- ambiguous mutation recovery stops for human review instead of replaying blindly.
|
|
47
|
+
|
|
48
|
+
## P2 — Repository Actor and Resource Scheduling
|
|
49
|
+
|
|
50
|
+
Completed:
|
|
51
|
+
|
|
52
|
+
- one logical Actor mailbox per repository;
|
|
53
|
+
- Claims for Workspace, Worktree, paths, Git refs, checks, integration, remote and release resources;
|
|
54
|
+
- renewable Leases with monotonically increasing fencing tokens;
|
|
55
|
+
- attempt/PID/Lease ownership that rejects zombie Workers;
|
|
56
|
+
- conservative unknown write scope;
|
|
57
|
+
- Workspace single writer and eligible automatic Worktree placement;
|
|
58
|
+
- serial Integration and release barriers.
|
|
59
|
+
|
|
60
|
+
## P3 — Multi-Repository Control Plane
|
|
61
|
+
|
|
62
|
+
Completed:
|
|
63
|
+
|
|
64
|
+
- global Worker and Agent limits;
|
|
65
|
+
- Heavy Check and provider quotas;
|
|
66
|
+
- memory and CPU-load admission;
|
|
67
|
+
- priority plus aging fairness persisted across restart;
|
|
68
|
+
- per-repository actor isolation;
|
|
69
|
+
- cross-repository Portfolio DAG;
|
|
70
|
+
- deterministic stop/compensation Saga semantics;
|
|
71
|
+
- repository identity and remote-mapping diagnostics.
|
|
72
|
+
|
|
73
|
+
## P4 — Schedule Engine
|
|
74
|
+
|
|
75
|
+
Completed:
|
|
76
|
+
|
|
77
|
+
- first-class Schedule, Trigger, Decision and Occurrence records;
|
|
78
|
+
- interval, manual, UTC cron, calendar, condition-watch, repository-event and dependency-checkpoint triggers;
|
|
79
|
+
- deterministic occurrence-window identity and active/recent indexes;
|
|
80
|
+
- maximum active occurrences, cooldown, daily budget and persisted exponential backoff;
|
|
81
|
+
- consecutive-failure circuit breaker and external-blocker stops;
|
|
82
|
+
- dirty Workspace and release-freeze suppression;
|
|
83
|
+
- Shadow Mode default;
|
|
84
|
+
- Candidate Finding semantic dedupe and explicit human promotion;
|
|
85
|
+
- one bounded Job per executable Occurrence;
|
|
86
|
+
- unattended external-side-effect prohibition.
|
|
87
|
+
|
|
88
|
+
Operational rule: new mutation Schedules still begin in Shadow Mode as a rollout policy, not because the engine is incomplete.
|
|
89
|
+
|
|
90
|
+
## P5 — Verification and Release Gate
|
|
91
|
+
|
|
92
|
+
Completed:
|
|
93
|
+
|
|
94
|
+
- exact-revision Evidence records and environment fingerprints;
|
|
95
|
+
- stale revision rejection;
|
|
96
|
+
- Artifact references for large output;
|
|
97
|
+
- exclusive Release Freeze Lease;
|
|
98
|
+
- active Job/Run/Edit/Integration and repository-identity checks;
|
|
99
|
+
- exact-revision Task Verification requirements;
|
|
100
|
+
- deterministic release-ready manifest;
|
|
101
|
+
- explicit human authorization boundary for push, merge, publish and deployment.
|
|
102
|
+
|
|
103
|
+
## Maintenance Gate
|
|
104
|
+
|
|
105
|
+
Future changes must preserve architecture invariants, add an ADR before weakening a boundary, update the current architecture documents and extend focused checks for every new Job, Claim, Trigger, recovery path or release condition.
|
|
@@ -0,0 +1,371 @@
|
|
|
1
|
+
# Multi-Repository Execution
|
|
2
|
+
|
|
3
|
+
> Status: **Runtime Authority**
|
|
4
|
+
|
|
5
|
+
## 1. Objective
|
|
6
|
+
|
|
7
|
+
Multi-repository execution allows unrelated projects to progress concurrently while preserving repository-local ownership, fair system capacity, explicit cross-repository dependencies, and failure isolation.
|
|
8
|
+
|
|
9
|
+
The core rule is:
|
|
10
|
+
|
|
11
|
+
> The Global Control Plane allocates capacity; each Repo Actor decides repository-local safety.
|
|
12
|
+
|
|
13
|
+
No global repository lock is permitted for ordinary work.
|
|
14
|
+
|
|
15
|
+
## 2. Repository Identity and Isolation
|
|
16
|
+
|
|
17
|
+
Every command resolves to:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
repoId
|
|
21
|
+
checkoutId when applicable
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
A repository has independent:
|
|
25
|
+
|
|
26
|
+
- Issue and Task state;
|
|
27
|
+
- Jobs and Runs;
|
|
28
|
+
- Claims and Leases;
|
|
29
|
+
- Workspaces and Worktrees;
|
|
30
|
+
- check queues;
|
|
31
|
+
- integration queue;
|
|
32
|
+
- release freeze;
|
|
33
|
+
- GitHub mapping;
|
|
34
|
+
- runtime projections and evidence.
|
|
35
|
+
|
|
36
|
+
A repository-local failure MUST NOT mutate or block another repository's state.
|
|
37
|
+
|
|
38
|
+
## 3. Global Capacity Model
|
|
39
|
+
|
|
40
|
+
The Global Scheduler maintains configurable limits such as:
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
maxConcurrentRepositories
|
|
44
|
+
maxWorkers
|
|
45
|
+
maxAgentProcesses
|
|
46
|
+
maxAgentProcessesByProvider
|
|
47
|
+
maxHeavyChecks
|
|
48
|
+
maxHeavyChecksByRepository
|
|
49
|
+
maxWritesByRepository
|
|
50
|
+
maxWorktreesByRepository
|
|
51
|
+
memoryBudget
|
|
52
|
+
cpuBudget
|
|
53
|
+
optional provider cost budget
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Recommended defaults favor stability:
|
|
57
|
+
|
|
58
|
+
- at least one slot remains available for explicit user work when scheduled work is active;
|
|
59
|
+
- one Heavy Check per repository;
|
|
60
|
+
- a small global Heavy Check cap;
|
|
61
|
+
- one Workspace writer per Checkout;
|
|
62
|
+
- Worktree writers limited by repository and global Worker capacity.
|
|
63
|
+
|
|
64
|
+
These are policy defaults, not hard-coded architecture constants.
|
|
65
|
+
|
|
66
|
+
## 4. Scheduling Eligibility
|
|
67
|
+
|
|
68
|
+
A repository Job is globally eligible when:
|
|
69
|
+
|
|
70
|
+
1. its Repo Actor reports repository-local readiness;
|
|
71
|
+
2. dependencies are satisfied;
|
|
72
|
+
3. required Claims can eventually be granted;
|
|
73
|
+
4. no release barrier prohibits its class;
|
|
74
|
+
5. global quota is available or the Job may enter a fair queue;
|
|
75
|
+
6. the Job has not exceeded budget, deadline, or retry policy.
|
|
76
|
+
|
|
77
|
+
The Global Scheduler does not re-evaluate path conflicts. That remains the Repo Actor's responsibility.
|
|
78
|
+
|
|
79
|
+
## 5. Priority Classes
|
|
80
|
+
|
|
81
|
+
Recommended priority classes:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
P0 — Controller availability, data integrity, security, active incident
|
|
85
|
+
P1 — explicit user-requested work
|
|
86
|
+
P2 — continuation of current accepted Task or release-critical dependency
|
|
87
|
+
P3 — scheduled repair or confirmed maintenance
|
|
88
|
+
P4 — discovery, optimization candidate, background hygiene
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Priority does not bypass safety, dependency, or authorization gates.
|
|
92
|
+
|
|
93
|
+
## 6. Fair Queueing
|
|
94
|
+
|
|
95
|
+
The target policy is aging weighted fair queueing across repositories.
|
|
96
|
+
|
|
97
|
+
A scheduling score may consider:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
priority class
|
|
101
|
+
wait duration
|
|
102
|
+
user initiated vs scheduled
|
|
103
|
+
critical dependency path
|
|
104
|
+
repository recent resource share
|
|
105
|
+
estimated execution cost
|
|
106
|
+
retry count
|
|
107
|
+
provider availability
|
|
108
|
+
deadline proximity
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
Fairness rules:
|
|
112
|
+
|
|
113
|
+
- one busy repository cannot consume all Workers indefinitely;
|
|
114
|
+
- low-priority Jobs age toward eligibility;
|
|
115
|
+
- a repository with a blocked Workspace may still run read-only or Worktree work;
|
|
116
|
+
- scheduled maintenance yields to explicit user work;
|
|
117
|
+
- capacity is not reserved for disabled or release-frozen repositories unless release policy requires it.
|
|
118
|
+
|
|
119
|
+
## 7. Failure Isolation
|
|
120
|
+
|
|
121
|
+
Repository A states that must not block Repository B include:
|
|
122
|
+
|
|
123
|
+
- dirty Workspace;
|
|
124
|
+
- path conflict;
|
|
125
|
+
- stale Job;
|
|
126
|
+
- orphaned Worker;
|
|
127
|
+
- failed Heavy Check;
|
|
128
|
+
- unresolved integration conflict;
|
|
129
|
+
- missing local Agent configuration;
|
|
130
|
+
- invalid GitHub mapping;
|
|
131
|
+
- release freeze;
|
|
132
|
+
- corrupted projection that can be rebuilt locally.
|
|
133
|
+
|
|
134
|
+
System-wide degradation is justified only for shared infrastructure failures such as:
|
|
135
|
+
|
|
136
|
+
- Controller Home unavailable;
|
|
137
|
+
- scheduler state cannot be persisted safely;
|
|
138
|
+
- global authentication boundary compromised;
|
|
139
|
+
- Worker pool unavailable;
|
|
140
|
+
- process-wide resource exhaustion.
|
|
141
|
+
|
|
142
|
+
## 8. Repository Backpressure
|
|
143
|
+
|
|
144
|
+
A Repo Actor may signal:
|
|
145
|
+
|
|
146
|
+
```text
|
|
147
|
+
ready
|
|
148
|
+
capacity_limited
|
|
149
|
+
workspace_blocked
|
|
150
|
+
integration_backlog
|
|
151
|
+
release_frozen
|
|
152
|
+
configuration_blocked
|
|
153
|
+
storage_blocked
|
|
154
|
+
disabled
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Backpressure removes or limits that repository's dispatch eligibility without blocking status queries or unrelated repositories.
|
|
158
|
+
|
|
159
|
+
## 9. Cross-Repository Portfolio Workflow
|
|
160
|
+
|
|
161
|
+
Cross-repository intent is represented by a Portfolio Workflow, not by attaching foreign Tasks directly to one repository Issue.
|
|
162
|
+
|
|
163
|
+
Example:
|
|
164
|
+
|
|
165
|
+
```text
|
|
166
|
+
Portfolio: API v2 migration
|
|
167
|
+
-> backend/schema Task in Repository A
|
|
168
|
+
-> SDK generation Task in Repository B depends on A checkpoint
|
|
169
|
+
-> client migration Task in Repository C depends on B
|
|
170
|
+
-> documentation Task in Repository D independent after A
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Each node contains:
|
|
174
|
+
|
|
175
|
+
```text
|
|
176
|
+
portfolioNodeId
|
|
177
|
+
repoId
|
|
178
|
+
issueId / taskId or creation template
|
|
179
|
+
dependsOn nodes
|
|
180
|
+
required checkpoint
|
|
181
|
+
failure policy
|
|
182
|
+
compensation metadata
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
The Portfolio coordinator observes repository node outcomes but cannot directly mutate repository-local execution state outside the owning Actor command path.
|
|
186
|
+
|
|
187
|
+
## 10. Saga Semantics
|
|
188
|
+
|
|
189
|
+
Cross-repository work uses Saga semantics rather than distributed atomic transactions.
|
|
190
|
+
|
|
191
|
+
```text
|
|
192
|
+
prepare node
|
|
193
|
+
-> execute in repository
|
|
194
|
+
-> verify repository checkpoint
|
|
195
|
+
-> persist portfolio checkpoint
|
|
196
|
+
-> unlock dependent nodes
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
On failure:
|
|
200
|
+
|
|
201
|
+
```text
|
|
202
|
+
stop dependents
|
|
203
|
+
-> preserve successful checkpoints
|
|
204
|
+
-> execute explicit compensation when safe
|
|
205
|
+
-> or require human decision
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
Compensation examples:
|
|
209
|
+
|
|
210
|
+
- revert a generated SDK commit through a reviewed change;
|
|
211
|
+
- disable a feature flag;
|
|
212
|
+
- restore a prior configuration artifact;
|
|
213
|
+
- abandon an unmerged branch.
|
|
214
|
+
|
|
215
|
+
Unsafe compensation must not be inferred or executed automatically.
|
|
216
|
+
|
|
217
|
+
## 11. Checkpoint Contract
|
|
218
|
+
|
|
219
|
+
A cross-repository dependency is satisfied by an explicit checkpoint, not by another repository's raw process exit.
|
|
220
|
+
|
|
221
|
+
Checkpoint examples:
|
|
222
|
+
|
|
223
|
+
```text
|
|
224
|
+
Task accepted and verified
|
|
225
|
+
artifact published to a local staging path
|
|
226
|
+
schema hash recorded
|
|
227
|
+
commit SHA prepared
|
|
228
|
+
API contract generated
|
|
229
|
+
release candidate manifest approved
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Each checkpoint records:
|
|
233
|
+
|
|
234
|
+
```text
|
|
235
|
+
repoId
|
|
236
|
+
source entity
|
|
237
|
+
revision or artifact hash
|
|
238
|
+
verification evidence
|
|
239
|
+
createdAt
|
|
240
|
+
validity or expiry conditions
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
If a checkpoint becomes stale, dependent nodes must pause or re-evaluate.
|
|
244
|
+
|
|
245
|
+
## 12. Cross-Repository Concurrency
|
|
246
|
+
|
|
247
|
+
Independent nodes may execute concurrently when:
|
|
248
|
+
|
|
249
|
+
- their repository-local Actors report readiness;
|
|
250
|
+
- global capacity exists;
|
|
251
|
+
- no shared external resource requires serialization;
|
|
252
|
+
- the Portfolio DAG has no dependency edge between them.
|
|
253
|
+
|
|
254
|
+
Cross-repository writes do not conflict merely because paths have the same name. Conflict keys include `repoId`.
|
|
255
|
+
|
|
256
|
+
Shared external resources may still require global Claims, for example:
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
package-name:<registry>:<name>
|
|
260
|
+
deployment-environment:<name>
|
|
261
|
+
shared-database:<identifier>
|
|
262
|
+
shared-generated-artifact:<key>
|
|
263
|
+
remote-project:<provider>:<id>
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
## 13. Multi-Checkout Repositories
|
|
267
|
+
|
|
268
|
+
Multiple local Checkouts of one logical repository share:
|
|
269
|
+
|
|
270
|
+
- repository identity;
|
|
271
|
+
- Git ref mutation coordination;
|
|
272
|
+
- provider and release mapping;
|
|
273
|
+
- repository-wide Heavy Check or release policy when configured.
|
|
274
|
+
|
|
275
|
+
They have separate Workspace claims.
|
|
276
|
+
|
|
277
|
+
A Checkout cannot be treated as a separate repository solely to bypass repository-level ordering or release policy.
|
|
278
|
+
|
|
279
|
+
## 14. Git and Remote Mapping
|
|
280
|
+
|
|
281
|
+
Repository registry canonical remote and GitHub plugin mapping must be diagnosable separately.
|
|
282
|
+
|
|
283
|
+
A mismatch may mean:
|
|
284
|
+
|
|
285
|
+
- local fork with upstream remote;
|
|
286
|
+
- stale plugin configuration;
|
|
287
|
+
- repository transfer;
|
|
288
|
+
- duplicate registry record;
|
|
289
|
+
- intentionally different collaboration target.
|
|
290
|
+
|
|
291
|
+
The system must warn and require explicit reconciliation. It must not silently create a second active `repoId` or publish to an inferred remote.
|
|
292
|
+
|
|
293
|
+
## 15. Cross-Repository Release
|
|
294
|
+
|
|
295
|
+
A Portfolio release uses staged barriers:
|
|
296
|
+
|
|
297
|
+
```text
|
|
298
|
+
all required nodes verified
|
|
299
|
+
-> each repository enters local release freeze
|
|
300
|
+
-> validate checkpoints are current
|
|
301
|
+
-> generate portfolio release manifest
|
|
302
|
+
-> human authorization
|
|
303
|
+
-> execute repository release actions in declared order
|
|
304
|
+
-> record partial or complete outcome
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
A partial release is a first-class outcome. Recovery follows the declared rollout or compensation policy; it is not hidden as global success.
|
|
308
|
+
|
|
309
|
+
## 16. Scheduled Work Across Repositories
|
|
310
|
+
|
|
311
|
+
A global Schedule may select multiple repositories, but it creates one repository-scoped Occurrence per selected `repoId`, plus an optional parent portfolio occurrence.
|
|
312
|
+
|
|
313
|
+
This preserves:
|
|
314
|
+
|
|
315
|
+
- repository-local idempotency;
|
|
316
|
+
- independent failure and backoff;
|
|
317
|
+
- per-repository budget;
|
|
318
|
+
- fair scheduling;
|
|
319
|
+
- scoped notifications.
|
|
320
|
+
|
|
321
|
+
One failing repository does not force successful repository Occurrences to rerun.
|
|
322
|
+
|
|
323
|
+
## 17. Disable and Removal
|
|
324
|
+
|
|
325
|
+
A disabled repository:
|
|
326
|
+
|
|
327
|
+
- accepts read-only historical queries;
|
|
328
|
+
- does not admit new execution Jobs;
|
|
329
|
+
- retains durable state and audit history;
|
|
330
|
+
- may finish or explicitly cancel active work according to disable policy.
|
|
331
|
+
|
|
332
|
+
A soft-removed repository remains addressable with `include_removed` for audit and recovery. Removal does not delete evidence automatically.
|
|
333
|
+
|
|
334
|
+
## 18. Implemented Runtime
|
|
335
|
+
|
|
336
|
+
The current runtime provides:
|
|
337
|
+
|
|
338
|
+
- stable repository registry and multiple checkout records;
|
|
339
|
+
- repository-scoped Controller Home storage;
|
|
340
|
+
- explicit `repo_id` and `checkout_id` routing;
|
|
341
|
+
- one logical Repo Actor mailbox per repository;
|
|
342
|
+
- global Worker, Agent, provider, Heavy Check, CPU and memory budgets;
|
|
343
|
+
- persisted aging/fairness state across Daemon restart;
|
|
344
|
+
- repository-local Claims, renewable Leases and fencing tokens;
|
|
345
|
+
- Portfolio DAG dependencies with deterministic stop or Saga compensation;
|
|
346
|
+
- repository-scoped Schedule Occurrences;
|
|
347
|
+
- explicit repository identity and remote-mapping drift diagnostics;
|
|
348
|
+
- disabled/removed repository admission barriers while retaining audit reads.
|
|
349
|
+
|
|
350
|
+
## 19. Compatibility and Extension Rules
|
|
351
|
+
|
|
352
|
+
The legacy Umbrella entity remains readable for stored-state compatibility. New cross-repository execution ownership belongs to `PortfolioWorkflow`, not Umbrella mutation code.
|
|
353
|
+
|
|
354
|
+
New multi-repository features must:
|
|
355
|
+
|
|
356
|
+
- create repository-scoped durable Jobs;
|
|
357
|
+
- declare cross-repository dependencies explicitly;
|
|
358
|
+
- avoid global repository locks;
|
|
359
|
+
- preserve independent failure, retry, budget and evidence per repository;
|
|
360
|
+
- route external publication through verified repository/GitHub mapping;
|
|
361
|
+
- add an ADR before weakening fairness or repository isolation.
|
|
362
|
+
|
|
363
|
+
## 20. Runtime Verification
|
|
364
|
+
|
|
365
|
+
The architecture gate and process smokes verify that:
|
|
366
|
+
|
|
367
|
+
- Scheduler dispatch history is persisted;
|
|
368
|
+
- one repository can wait without blocking another repository's actor;
|
|
369
|
+
- Portfolio dependency cycles are rejected;
|
|
370
|
+
- external side effects are rejected in unattended Portfolio execution;
|
|
371
|
+
- Worker failure is reconciled through durable Job state rather than Gateway lifetime.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Controller Runtime Operations Runbook
|
|
2
|
+
|
|
3
|
+
> Status: **Runtime Authority**
|
|
4
|
+
|
|
5
|
+
## Health
|
|
6
|
+
|
|
7
|
+
- `GET /health`: Gateway event loop, session pressure and tool surface. Must stay fast.
|
|
8
|
+
- `GET /ready`: binary whole-Runtime readiness for the Canonical Forge Runtime.
|
|
9
|
+
- `GET /repos/<repoId>/health`: repository projection, queue and Lease state.
|
|
10
|
+
- MCP `controller_ready`: equivalent structured readiness.
|
|
11
|
+
|
|
12
|
+
## Job Inspection
|
|
13
|
+
|
|
14
|
+
Use `get_job` with the returned Job ID. Include events only for lifecycle diagnosis. Use `get_artifact` for bounded access to oversized results.
|
|
15
|
+
|
|
16
|
+
Key waiting states are not failures:
|
|
17
|
+
|
|
18
|
+
- `waiting_for_dependency`
|
|
19
|
+
- `waiting_for_workspace`
|
|
20
|
+
- `waiting_for_heavy_check`
|
|
21
|
+
- `waiting_for_integration`
|
|
22
|
+
- `waiting_for_release_barrier`
|
|
23
|
+
|
|
24
|
+
## Recovery
|
|
25
|
+
|
|
26
|
+
The Canonical Forge Runtime reconciles running Jobs every five seconds. Operation Receipts distinguish a completed side effect from an uncertain mutation window. A completed receipt closes the Job after restart; an uncertain mutating operation becomes `human_attention_required` and is never replayed blindly. Safe read-only work may be retried while attempts remain. Cancellation terminates the owned Worker when present and releases only the exact Lease/fencing set for that attempt. Stale Workers cannot renew, release or publish against a replacement attempt.
|
|
27
|
+
|
|
28
|
+
## 502 Diagnosis
|
|
29
|
+
|
|
30
|
+
1. Check `/health`. A failure here indicates Gateway or transport failure.
|
|
31
|
+
2. Check `/ready`. A healthy Gateway with failed readiness indicates Daemon/control-plane degradation.
|
|
32
|
+
3. Read the accepted Job by ID. Do not infer failure from a disconnected MCP request.
|
|
33
|
+
4. Inspect repository projection for waiting resources.
|
|
34
|
+
5. Inspect Job events and Worker heartbeat.
|
|
35
|
+
6. Distinguish explicit 429/503 admission pressure from an upstream tunnel 502.
|
|
36
|
+
|
|
37
|
+
Long work is not retried by resending an arbitrary request ID. Reuse the original request ID to recover the accepted Job.
|
|
38
|
+
|
|
39
|
+
## Schedule Safety
|
|
40
|
+
|
|
41
|
+
Create mutation Schedules with Shadow Mode enabled. Review persisted Decisions and Occurrences before enabling execution. Interval, UTC cron, calendar, condition-watch, repository-event, dependency-checkpoint and manual triggers all produce one bounded idempotent Occurrence. Failures use persisted exponential backoff. Schedules cannot push, publish, close remote Issues, deploy, inflate requirements directly or run arbitrary repository commands.
|
|
42
|
+
|
|
43
|
+
## Release
|
|
44
|
+
|
|
45
|
+
Request a Release Gate Job. A successful Gate produces `releaseReady: true` and a manifest for the exact current revision. It does not push, tag, publish or deploy.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Peer SuperController Runtime
|
|
2
|
+
|
|
3
|
+
Status: active on `codex/supercontroller-refactor`
|
|
4
|
+
|
|
5
|
+
## Boundary
|
|
6
|
+
|
|
7
|
+
- External SuperController chooses models, planning, and Agent launches.
|
|
8
|
+
- Kernel owns repository truth, Work/Plan/Handoff contracts, Process Runtime,
|
|
9
|
+
Direct Edit, deterministic maintenance, and plugin receipts.
|
|
10
|
+
- Kernel does **not** select models, create Agent Runs, create ExecutionJobs, or
|
|
11
|
+
create Local Bridge Jobs for ordinary work.
|
|
12
|
+
|
|
13
|
+
## Deterministic Kernel paths
|
|
14
|
+
|
|
15
|
+
- `work_submit` / `rh_work` → WorkContract + ControllerSession ownership
|
|
16
|
+
- `repository_command_execute` short path → Process Runtime
|
|
17
|
+
- `plugin_action_execute` → validate → confirm → adapter → receipt
|
|
18
|
+
- `runtime_maintenance_apply` schedules → preview → apply → occurrence receipt
|
|
19
|
+
|
|
20
|
+
## Semantic / external paths
|
|
21
|
+
|
|
22
|
+
- Non-deterministic schedules record occurrence + Handoff only
|
|
23
|
+
- Campaign reconcile migrates unfinished tasks into Work + Handoff
|
|
24
|
+
- Legacy Agent dispatch tools return structured retirement responses
|
|
25
|
+
|
|
26
|
+
## Failure policy
|
|
27
|
+
|
|
28
|
+
- No automatic retry/replay of ordinary writes
|
|
29
|
+
- Temporary deterministic schedule failures account consecutiveFailures and write
|
|
30
|
+
one Handoff; permanent config errors pause the schedule
|
|
31
|
+
- After rollout 502s, inspect by request ID / Process / WorkContract; do not
|
|
32
|
+
auto-replay writes
|