@kbediako/codex-orchestrator 0.1.38 → 0.2.0

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.
Files changed (299) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/README.md +70 -301
  3. package/bin/codex-orchestrator.js +161 -0
  4. package/codex.orchestrator.json +149 -13
  5. package/dist/bin/codex-orchestrator.js +795 -1154
  6. package/dist/orchestrator/src/cli/adapters/CommandPlanner.js +22 -4
  7. package/dist/orchestrator/src/cli/adapters/CommandReviewer.js +3 -3
  8. package/dist/orchestrator/src/cli/adapters/CommandTester.js +2 -2
  9. package/dist/orchestrator/src/cli/adapters/cloudFailureDiagnostics.js +183 -11
  10. package/dist/orchestrator/src/cli/coStatusAttachCliShell.js +402 -0
  11. package/dist/orchestrator/src/cli/coStatusCliShell.js +429 -0
  12. package/dist/orchestrator/src/cli/coStatusOperatorAutopilotCliShell.js +120 -0
  13. package/dist/orchestrator/src/cli/codexCliShell.js +72 -0
  14. package/dist/orchestrator/src/cli/codexDefaultsSetup.js +49 -11
  15. package/dist/orchestrator/src/cli/config/delegationConfig.js +317 -5
  16. package/dist/orchestrator/src/cli/config/repoConfigPolicy.js +2 -3
  17. package/dist/orchestrator/src/cli/config/userConfig.js +28 -13
  18. package/dist/orchestrator/src/cli/control/authenticatedControlRouteGate.js +69 -0
  19. package/dist/orchestrator/src/cli/control/authenticatedRouteComposition.js +267 -0
  20. package/dist/orchestrator/src/cli/control/authenticatedRouteController.js +5 -0
  21. package/dist/orchestrator/src/cli/control/authenticatedRouteDispatcher.js +41 -0
  22. package/dist/orchestrator/src/cli/control/compatibilityIssuePresenter.js +1035 -0
  23. package/dist/orchestrator/src/cli/control/confirmationApproveController.js +62 -0
  24. package/dist/orchestrator/src/cli/control/confirmationCreateController.js +69 -0
  25. package/dist/orchestrator/src/cli/control/confirmationIssueConsumeController.js +43 -0
  26. package/dist/orchestrator/src/cli/control/confirmationListController.js +22 -0
  27. package/dist/orchestrator/src/cli/control/confirmationValidateController.js +58 -0
  28. package/dist/orchestrator/src/cli/control/confirmations.js +25 -3
  29. package/dist/orchestrator/src/cli/control/controlActionCancelConfirmation.js +65 -0
  30. package/dist/orchestrator/src/cli/control/controlActionController.js +77 -0
  31. package/dist/orchestrator/src/cli/control/controlActionControllerSequencing.js +161 -0
  32. package/dist/orchestrator/src/cli/control/controlActionExecution.js +142 -0
  33. package/dist/orchestrator/src/cli/control/controlActionFinalization.js +43 -0
  34. package/dist/orchestrator/src/cli/control/controlActionOutcome.js +60 -0
  35. package/dist/orchestrator/src/cli/control/controlActionPreflight.js +476 -0
  36. package/dist/orchestrator/src/cli/control/controlAuthenticatedRouteHandoff.js +57 -0
  37. package/dist/orchestrator/src/cli/control/controlBootstrapAssembly.js +39 -0
  38. package/dist/orchestrator/src/cli/control/controlBootstrapMetadataPersistence.js +16 -0
  39. package/dist/orchestrator/src/cli/control/controlEventTransport.js +49 -0
  40. package/dist/orchestrator/src/cli/control/controlExpiryLifecycle.js +102 -0
  41. package/dist/orchestrator/src/cli/control/controlHostOwnership.js +480 -0
  42. package/dist/orchestrator/src/cli/control/controlHostSupervision.js +608 -0
  43. package/dist/orchestrator/src/cli/control/controlOversightFacade.js +8 -0
  44. package/dist/orchestrator/src/cli/control/controlOversightReadContract.js +1 -0
  45. package/dist/orchestrator/src/cli/control/controlOversightReadService.js +16 -0
  46. package/dist/orchestrator/src/cli/control/controlOversightUpdateContract.js +1 -0
  47. package/dist/orchestrator/src/cli/control/controlPersistenceFiles.js +6 -0
  48. package/dist/orchestrator/src/cli/control/controlQuestionChildResolution.js +18 -0
  49. package/dist/orchestrator/src/cli/control/controlRequestContext.js +42 -0
  50. package/dist/orchestrator/src/cli/control/controlRequestController.js +9 -0
  51. package/dist/orchestrator/src/cli/control/controlRequestPredispatch.js +17 -0
  52. package/dist/orchestrator/src/cli/control/controlRequestRouteDispatch.js +44 -0
  53. package/dist/orchestrator/src/cli/control/controlRuntime.js +992 -0
  54. package/dist/orchestrator/src/cli/control/controlServer.js +23 -1456
  55. package/dist/orchestrator/src/cli/control/controlServerAuditAndErrorHelpers.js +115 -0
  56. package/dist/orchestrator/src/cli/control/controlServerAuthenticatedRouteBranch.js +29 -0
  57. package/dist/orchestrator/src/cli/control/controlServerBootstrapLifecycle.js +30 -0
  58. package/dist/orchestrator/src/cli/control/controlServerBootstrapStartSequence.js +21 -0
  59. package/dist/orchestrator/src/cli/control/controlServerOwnedRuntimeLifecycle.js +67 -0
  60. package/dist/orchestrator/src/cli/control/controlServerPublicLifecycle.js +756 -0
  61. package/dist/orchestrator/src/cli/control/controlServerPublicRouteHelpers.js +86 -0
  62. package/dist/orchestrator/src/cli/control/controlServerReadyInstanceLifecycle.js +25 -0
  63. package/dist/orchestrator/src/cli/control/controlServerReadyInstanceStartup.js +18 -0
  64. package/dist/orchestrator/src/cli/control/controlServerRequestBodyHelpers.js +37 -0
  65. package/dist/orchestrator/src/cli/control/controlServerRequestShell.js +40 -0
  66. package/dist/orchestrator/src/cli/control/controlServerRequestShellBinding.js +17 -0
  67. package/dist/orchestrator/src/cli/control/controlServerSeedLoading.js +27 -0
  68. package/dist/orchestrator/src/cli/control/controlServerSeededRuntimeAssembly.js +186 -0
  69. package/dist/orchestrator/src/cli/control/controlServerStartupInputPreparation.js +31 -0
  70. package/dist/orchestrator/src/cli/control/controlServerStartupSequence.js +49 -0
  71. package/dist/orchestrator/src/cli/control/controlState.js +233 -2
  72. package/dist/orchestrator/src/cli/control/controlStatusDashboard.js +1899 -0
  73. package/dist/orchestrator/src/cli/control/controlTelegramBridgeBootstrapLifecycle.js +22 -0
  74. package/dist/orchestrator/src/cli/control/controlTelegramBridgeLifecycle.js +67 -0
  75. package/dist/orchestrator/src/cli/control/controlTelegramBridgeOversightFacadeFactory.js +8 -0
  76. package/dist/orchestrator/src/cli/control/controlTelegramCommandController.js +49 -0
  77. package/dist/orchestrator/src/cli/control/controlTelegramDispatchRead.js +40 -0
  78. package/dist/orchestrator/src/cli/control/controlTelegramPollingController.js +89 -0
  79. package/dist/orchestrator/src/cli/control/controlTelegramProjectionNotificationController.js +29 -0
  80. package/dist/orchestrator/src/cli/control/controlTelegramPushState.js +63 -0
  81. package/dist/orchestrator/src/cli/control/controlTelegramQuestionRead.js +13 -0
  82. package/dist/orchestrator/src/cli/control/controlTelegramReadController.js +216 -0
  83. package/dist/orchestrator/src/cli/control/controlTelegramUpdateHandler.js +63 -0
  84. package/dist/orchestrator/src/cli/control/controlWatcher.js +73 -5
  85. package/dist/orchestrator/src/cli/control/delegationRegisterController.js +35 -0
  86. package/dist/orchestrator/src/cli/control/dynamicToolBridgePolicy.js +139 -0
  87. package/dist/orchestrator/src/cli/control/eventsSseController.js +12 -0
  88. package/dist/orchestrator/src/cli/control/linearBudgetState.js +1789 -0
  89. package/dist/orchestrator/src/cli/control/linearDispatchSource.js +1137 -0
  90. package/dist/orchestrator/src/cli/control/linearGraphqlClient.js +150 -0
  91. package/dist/orchestrator/src/cli/control/linearRateLimit.js +102 -0
  92. package/dist/orchestrator/src/cli/control/linearWebhookController.js +499 -0
  93. package/dist/orchestrator/src/cli/control/liveLinearAdvisoryRuntime.js +70 -0
  94. package/dist/orchestrator/src/cli/control/observabilityApiController.js +173 -0
  95. package/dist/orchestrator/src/cli/control/observabilityReadModel.js +500 -0
  96. package/dist/orchestrator/src/cli/control/observabilitySurface.js +284 -0
  97. package/dist/orchestrator/src/cli/control/observabilityUpdateNotifier.js +22 -0
  98. package/dist/orchestrator/src/cli/control/operatorDashboardPresenter.js +252 -0
  99. package/dist/orchestrator/src/cli/control/providerAgentCapacity.js +70 -0
  100. package/dist/orchestrator/src/cli/control/providerControlHostFreshnessGauge.js +1068 -0
  101. package/dist/orchestrator/src/cli/control/providerIntakeState.js +473 -0
  102. package/dist/orchestrator/src/cli/control/providerIssueHandoff.js +6811 -0
  103. package/dist/orchestrator/src/cli/control/providerIssueObservability.js +1348 -0
  104. package/dist/orchestrator/src/cli/control/providerIssueRetryQueue.js +84 -0
  105. package/dist/orchestrator/src/cli/control/providerLinearRuntimeProof.js +588 -0
  106. package/dist/orchestrator/src/cli/control/providerLinearScreenshotProof.js +473 -0
  107. package/dist/orchestrator/src/cli/control/providerLinearWorkerTruth.js +383 -0
  108. package/dist/orchestrator/src/cli/control/providerLinearWorkflowAudit.js +254 -0
  109. package/dist/orchestrator/src/cli/control/providerLinearWorkflowFacade.js +5573 -0
  110. package/dist/orchestrator/src/cli/control/providerLinearWorkflowStates.js +115 -0
  111. package/dist/orchestrator/src/cli/control/providerMergeCloseout.js +1868 -0
  112. package/dist/orchestrator/src/cli/control/providerOperatorAutopilot.js +1580 -0
  113. package/dist/orchestrator/src/cli/control/providerOperatorAutopilotLifecycle.js +154 -0
  114. package/dist/orchestrator/src/cli/control/providerOperatorAutopilotLocalRolloutExecution.js +1006 -0
  115. package/dist/orchestrator/src/cli/control/providerPollingHealth.js +435 -0
  116. package/dist/orchestrator/src/cli/control/providerTerminalCleanup.js +516 -0
  117. package/dist/orchestrator/src/cli/control/providerWorkerHosts.js +191 -0
  118. package/dist/orchestrator/src/cli/control/providerWorkflowConfigStore.js +515 -0
  119. package/dist/orchestrator/src/cli/control/questionChildResolutionAdapter.js +361 -0
  120. package/dist/orchestrator/src/cli/control/questionQueueController.js +181 -0
  121. package/dist/orchestrator/src/cli/control/questionReadRetryDeduplication.js +9 -0
  122. package/dist/orchestrator/src/cli/control/questionReadSequence.js +10 -0
  123. package/dist/orchestrator/src/cli/control/securityViolationController.js +27 -0
  124. package/dist/orchestrator/src/cli/control/selectedRunProjection.js +1838 -0
  125. package/dist/orchestrator/src/cli/control/telegramOversightApiClient.js +48 -0
  126. package/dist/orchestrator/src/cli/control/telegramOversightBridge.js +180 -0
  127. package/dist/orchestrator/src/cli/control/telegramOversightBridgeProjectionDeliveryQueue.js +25 -0
  128. package/dist/orchestrator/src/cli/control/telegramOversightBridgeRuntimeLifecycle.js +45 -0
  129. package/dist/orchestrator/src/cli/control/telegramOversightBridgeStateStore.js +77 -0
  130. package/dist/orchestrator/src/cli/control/telegramOversightControlActionApiClient.js +45 -0
  131. package/dist/orchestrator/src/cli/control/trackerDispatchPilot.js +439 -0
  132. package/dist/orchestrator/src/cli/control/uiDataController.js +34 -0
  133. package/dist/orchestrator/src/cli/control/uiSessionController.js +100 -0
  134. package/dist/orchestrator/src/cli/controlHostCliShell.js +860 -0
  135. package/dist/orchestrator/src/cli/controlHostFreshnessGaugeCliShell.js +129 -0
  136. package/dist/orchestrator/src/cli/controlHostSupervisionCliShell.js +2127 -0
  137. package/dist/orchestrator/src/cli/delegationCliShell.js +62 -0
  138. package/dist/orchestrator/src/cli/delegationServer.js +567 -678
  139. package/dist/orchestrator/src/cli/delegationServerCliShell.js +52 -0
  140. package/dist/orchestrator/src/cli/delegationServerQuestionFlowShell.js +228 -0
  141. package/dist/orchestrator/src/cli/delegationServerToolDispatchShell.js +411 -0
  142. package/dist/orchestrator/src/cli/delegationServerTransport.js +274 -0
  143. package/dist/orchestrator/src/cli/delegationSetup.js +51 -171
  144. package/dist/orchestrator/src/cli/devtoolsCliShell.js +34 -0
  145. package/dist/orchestrator/src/cli/doctor.js +542 -122
  146. package/dist/orchestrator/src/cli/doctorCliRequestShell.js +72 -0
  147. package/dist/orchestrator/src/cli/doctorCliShell.js +138 -0
  148. package/dist/orchestrator/src/cli/doctorUsage.js +119 -15
  149. package/dist/orchestrator/src/cli/exec/experience.js +16 -2
  150. package/dist/orchestrator/src/cli/exec/summary.js +3 -0
  151. package/dist/orchestrator/src/cli/execCliShell.js +51 -0
  152. package/dist/orchestrator/src/cli/flowCliRequestShell.js +44 -0
  153. package/dist/orchestrator/src/cli/flowCliShell.js +239 -0
  154. package/dist/orchestrator/src/cli/frontendTestCliRequestShell.js +80 -0
  155. package/dist/orchestrator/src/cli/frontendTestCliShell.js +41 -0
  156. package/dist/orchestrator/src/cli/init.js +1 -0
  157. package/dist/orchestrator/src/cli/initCliShell.js +50 -0
  158. package/dist/orchestrator/src/cli/linearCliShell.js +1200 -0
  159. package/dist/orchestrator/src/cli/mcpEnableCliShell.js +132 -0
  160. package/dist/orchestrator/src/cli/metrics/metricsAggregator.js +3 -2
  161. package/dist/orchestrator/src/cli/metrics/metricsRecorder.js +56 -0
  162. package/dist/orchestrator/src/cli/orchestrator.js +66 -1376
  163. package/dist/orchestrator/src/cli/planCliShell.js +19 -0
  164. package/dist/orchestrator/src/cli/prCliShell.js +41 -0
  165. package/dist/orchestrator/src/cli/providerLinearChildLanePhaseContract.js +204 -0
  166. package/dist/orchestrator/src/cli/providerLinearChildLaneRunner.js +1772 -0
  167. package/dist/orchestrator/src/cli/providerLinearChildLaneShell.js +2420 -0
  168. package/dist/orchestrator/src/cli/providerLinearChildStreamShell.js +385 -0
  169. package/dist/orchestrator/src/cli/providerLinearWorkerRunner.js +5738 -0
  170. package/dist/orchestrator/src/cli/resumeCliShell.js +14 -0
  171. package/dist/orchestrator/src/cli/reviewCliLaunchShell.js +72 -0
  172. package/dist/orchestrator/src/cli/rlm/alignment.js +3 -3
  173. package/dist/orchestrator/src/cli/rlm/context.js +94 -7
  174. package/dist/orchestrator/src/cli/rlm/rlmCodexRuntimeShell.js +546 -0
  175. package/dist/orchestrator/src/cli/rlm/symbolic.js +4 -2
  176. package/dist/orchestrator/src/cli/rlmCliRequestShell.js +42 -0
  177. package/dist/orchestrator/src/cli/rlmCompletionCliShell.js +46 -0
  178. package/dist/orchestrator/src/cli/rlmLaunchCliShell.js +51 -0
  179. package/dist/orchestrator/src/cli/rlmRunner.js +83 -523
  180. package/dist/orchestrator/src/cli/run/blockMemory.js +500 -0
  181. package/dist/orchestrator/src/cli/run/manifest.js +410 -73
  182. package/dist/orchestrator/src/cli/run/manifestPersister.js +45 -14
  183. package/dist/orchestrator/src/cli/run/runMemoryController.js +216 -0
  184. package/dist/orchestrator/src/cli/run/source0.js +690 -0
  185. package/dist/orchestrator/src/cli/run/workspacePath.js +101 -0
  186. package/dist/orchestrator/src/cli/runtime/mode.js +2 -1
  187. package/dist/orchestrator/src/cli/runtime/provider.js +39 -2
  188. package/dist/orchestrator/src/cli/selfCheckCliShell.js +12 -0
  189. package/dist/orchestrator/src/cli/services/commandRunner.js +667 -18
  190. package/dist/orchestrator/src/cli/services/execRuntime.js +66 -1
  191. package/dist/orchestrator/src/cli/services/orchestratorAutoScoutEvidenceRecorder.js +71 -0
  192. package/dist/orchestrator/src/cli/services/orchestratorCloudBranchResolution.js +8 -0
  193. package/dist/orchestrator/src/cli/services/orchestratorCloudEnvironmentResolution.js +22 -0
  194. package/dist/orchestrator/src/cli/services/orchestratorCloudExecutionLifecycleShell.js +39 -0
  195. package/dist/orchestrator/src/cli/services/orchestratorCloudPromptBuilder.js +37 -0
  196. package/dist/orchestrator/src/cli/services/orchestratorCloudRouteFallbackContract.js +45 -0
  197. package/dist/orchestrator/src/cli/services/orchestratorCloudRouteShell.js +36 -0
  198. package/dist/orchestrator/src/cli/services/orchestratorCloudTargetExecutor.js +277 -0
  199. package/dist/orchestrator/src/cli/services/orchestratorControlPlaneLifecycle.js +98 -0
  200. package/dist/orchestrator/src/cli/services/orchestratorControlPlaneLifecycleShell.js +54 -0
  201. package/dist/orchestrator/src/cli/services/orchestratorExecutionLifecycle.js +112 -0
  202. package/dist/orchestrator/src/cli/services/orchestratorExecutionModePolicy.js +27 -0
  203. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteAdapterShell.js +59 -0
  204. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteDecisionShell.js +57 -0
  205. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouteState.js +21 -0
  206. package/dist/orchestrator/src/cli/services/orchestratorExecutionRouter.js +2 -0
  207. package/dist/orchestrator/src/cli/services/orchestratorLocalPipelineExecutor.js +149 -0
  208. package/dist/orchestrator/src/cli/services/orchestratorLocalRouteShell.js +63 -0
  209. package/dist/orchestrator/src/cli/services/orchestratorPlanShell.js +54 -0
  210. package/dist/orchestrator/src/cli/services/orchestratorPlanTargetTracker.js +16 -0
  211. package/dist/orchestrator/src/cli/services/orchestratorResumePreparationShell.js +84 -0
  212. package/dist/orchestrator/src/cli/services/orchestratorResumeTokenValidation.js +15 -0
  213. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleCompletion.js +31 -0
  214. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleExecutionRegistration.js +37 -0
  215. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleOrchestrationShell.js +83 -0
  216. package/dist/orchestrator/src/cli/services/orchestratorRunLifecycleTaskManagerShell.js +37 -0
  217. package/dist/orchestrator/src/cli/services/orchestratorRuntimeManifestMutation.js +20 -0
  218. package/dist/orchestrator/src/cli/services/orchestratorStartPreparationShell.js +56 -0
  219. package/dist/orchestrator/src/cli/services/orchestratorStatusShell.js +70 -0
  220. package/dist/orchestrator/src/cli/services/pipelineResolver.js +7 -3
  221. package/dist/orchestrator/src/cli/services/plannerMemory.js +119 -0
  222. package/dist/orchestrator/src/cli/services/runPreparation.js +7 -3
  223. package/dist/orchestrator/src/cli/services/runSummaryWriter.js +9 -0
  224. package/dist/orchestrator/src/cli/setupBootstrapShell.js +114 -0
  225. package/dist/orchestrator/src/cli/setupCliShell.js +51 -0
  226. package/dist/orchestrator/src/cli/skillsCliShell.js +56 -0
  227. package/dist/orchestrator/src/cli/startCliRequestShell.js +53 -0
  228. package/dist/orchestrator/src/cli/startCliShell.js +68 -0
  229. package/dist/orchestrator/src/cli/statusCliShell.js +22 -0
  230. package/dist/orchestrator/src/cli/utils/authProvenanceFingerprint.js +27 -0
  231. package/dist/orchestrator/src/cli/utils/cloudPreflight.js +83 -1
  232. package/dist/orchestrator/src/cli/utils/delegationConfigParser.js +250 -0
  233. package/dist/orchestrator/src/cli/utils/delegationMcpHealth.js +1382 -0
  234. package/dist/orchestrator/src/cli/utils/devtools.js +2 -54
  235. package/dist/orchestrator/src/cli/utils/mcpServerEntry.js +53 -0
  236. package/dist/orchestrator/src/cli/utils/packageProgramResolver.js +151 -0
  237. package/dist/orchestrator/src/cli/utils/providerOverrideEnv.js +71 -0
  238. package/dist/orchestrator/src/cli/utils/trailingJsonObject.js +59 -0
  239. package/dist/orchestrator/src/learning/crystalizer.js +2 -2
  240. package/dist/orchestrator/src/persistence/ExperienceStore.js +233 -49
  241. package/dist/orchestrator/src/persistence/TaskStateStore.js +6 -6
  242. package/dist/orchestrator/src/persistence/lockFile.js +70 -4
  243. package/dist/orchestrator/src/persistence/sanitizeIdentifier.js +39 -0
  244. package/dist/orchestrator/src/sync/createCloudSyncWorker.js +3 -2
  245. package/dist/orchestrator/src/utils/atomicWrite.js +17 -2
  246. package/dist/packages/orchestrator/src/exec/unified-exec.js +99 -6
  247. package/dist/packages/orchestrator/src/instructions/promptPacks.js +150 -19
  248. package/dist/packages/sdk-node/src/orchestrator.js +137 -13
  249. package/dist/packages/shared/config/designConfig.js +8 -1
  250. package/dist/packages/shared/streams/stdio.js +1 -1
  251. package/dist/scripts/design/pipeline/permit.js +15 -0
  252. package/dist/scripts/lib/docs-catalog.js +365 -0
  253. package/dist/scripts/lib/docs-helpers.js +87 -5
  254. package/dist/scripts/lib/pr-watch-merge.js +1088 -80
  255. package/dist/scripts/lib/provider-run-contract.js +26 -0
  256. package/dist/scripts/lib/review-command-intent-classification.js +532 -0
  257. package/dist/scripts/lib/review-command-probe-classification.js +385 -0
  258. package/dist/scripts/lib/review-execution-boundary-preflight.js +279 -0
  259. package/dist/scripts/lib/review-execution-runtime.js +753 -0
  260. package/dist/scripts/lib/review-execution-state.js +1144 -0
  261. package/dist/scripts/lib/review-execution-telemetry.js +215 -0
  262. package/dist/scripts/lib/review-inspection-target-parsing.js +78 -0
  263. package/dist/scripts/lib/review-launch-attempt.js +601 -0
  264. package/dist/scripts/lib/review-meta-surface-boundary-analysis.js +300 -0
  265. package/dist/scripts/lib/review-meta-surface-normalization.js +746 -0
  266. package/dist/scripts/lib/review-non-interactive-handoff.js +61 -0
  267. package/dist/scripts/lib/review-prompt-context.js +376 -0
  268. package/dist/scripts/lib/review-scope-advisory.js +286 -0
  269. package/dist/scripts/lib/review-scope-paths.js +123 -0
  270. package/dist/scripts/lib/review-shell-command-parser.js +389 -0
  271. package/dist/scripts/lib/review-shell-env-interpreter.js +340 -0
  272. package/dist/scripts/lib/run-manifests.js +192 -36
  273. package/dist/scripts/lib/spark-policy-classifier.js +593 -0
  274. package/dist/scripts/run-review.js +507 -1777
  275. package/docs/public/downstream-setup.md +106 -0
  276. package/docs/public/provider-onboarding.md +173 -0
  277. package/package.json +20 -10
  278. package/plugins/codex-orchestrator/.codex-plugin/plugin.json +30 -0
  279. package/plugins/codex-orchestrator/.mcp.json +13 -0
  280. package/plugins/codex-orchestrator/launcher.mjs +359 -0
  281. package/schemas/manifest.json +394 -0
  282. package/skills/collab-subagents-first/SKILL.md +1 -1
  283. package/skills/delegation-usage/DELEGATION_GUIDE.md +24 -11
  284. package/skills/delegation-usage/SKILL.md +19 -13
  285. package/skills/land/SKILL.md +77 -0
  286. package/skills/linear/SKILL.md +255 -0
  287. package/skills/release/SKILL.md +47 -3
  288. package/skills/standalone-review/SKILL.md +6 -1
  289. package/templates/README.md +4 -2
  290. package/templates/codex/.codex/agents/awaiter-high.toml +2 -2
  291. package/templates/codex/.codex/agents/worker-complex.toml +1 -1
  292. package/templates/codex/.codex/config.toml +3 -4
  293. package/templates/codex/.codex/providers/README.md +13 -0
  294. package/templates/codex/.codex/providers/control.example.json +18 -0
  295. package/templates/codex/.codex/providers/provider.env.example +15 -0
  296. package/templates/codex/AGENTS.md +12 -7
  297. package/templates/codex/mcp-client.json +5 -1
  298. package/docs/README.md +0 -310
  299. package/docs/assets/setup.gif +0 -0
@@ -1,16 +1,18 @@
1
1
  import { PLANNER_EXECUTION_MODE_PARSER, resolveRequiresCloudPolicy } from '../../utils/executionMode.js';
2
+ import { selectTaskMemoryRefs } from '../services/plannerMemory.js';
2
3
  export class CommandPlanner {
3
4
  pipeline;
4
5
  options;
5
6
  cachedPlan = null;
7
+ cachedPlanKey = null;
6
8
  constructor(pipeline, options = {}) {
7
9
  this.pipeline = pipeline;
8
10
  this.options = options;
9
11
  }
10
12
  async plan(task) {
11
- void task;
12
- if (!this.cachedPlan) {
13
- const items = this.pipeline.stages.map((stage, index) => this.buildPlanItem(stage, index));
13
+ const planKey = buildPlanCacheKey(task);
14
+ if (!this.cachedPlan || this.cachedPlanKey !== planKey) {
15
+ const items = this.pipeline.stages.map((stage, index) => this.buildPlanItem(stage, index, task));
14
16
  const targetId = this.resolveTargetId(items);
15
17
  const normalizedItems = items.map((item) => ({
16
18
  ...item,
@@ -21,10 +23,11 @@ export class CommandPlanner {
21
23
  notes: this.pipeline.description,
22
24
  targetId: targetId ?? null
23
25
  };
26
+ this.cachedPlanKey = planKey;
24
27
  }
25
28
  return clonePlanResult(this.cachedPlan);
26
29
  }
27
- buildPlanItem(stage, index) {
30
+ buildPlanItem(stage, index, task) {
28
31
  const stagePlanHints = extractStagePlanHints(stage);
29
32
  const requiresCloud = resolveStageRequiresCloud(stage, stagePlanHints);
30
33
  const runnable = resolveStageRunnable(stagePlanHints);
@@ -47,6 +50,18 @@ export class CommandPlanner {
47
50
  metadata.cloudEnvId = stagePlanHints.cloudEnvId;
48
51
  }
49
52
  metadata.requiresCloud = requiresCloud;
53
+ const selectedMemoryRefs = selectTaskMemoryRefs({
54
+ task,
55
+ pipeline: this.pipeline,
56
+ target: {
57
+ id: `${this.pipeline.id}:${stage.id}`,
58
+ description: stage.title
59
+ },
60
+ stage
61
+ });
62
+ if (selectedMemoryRefs.length > 0) {
63
+ metadata.selectedMemoryRefs = selectedMemoryRefs;
64
+ }
50
65
  return {
51
66
  id: `${this.pipeline.id}:${stage.id}`,
52
67
  description: stage.title,
@@ -178,3 +193,6 @@ function clonePlanResult(plan) {
178
193
  targetId: plan.targetId ?? null
179
194
  };
180
195
  }
196
+ function buildPlanCacheKey(task) {
197
+ return JSON.stringify(task.memory?.refs ?? null);
198
+ }
@@ -1,4 +1,4 @@
1
- import { diagnoseCloudFailure } from './cloudFailureDiagnostics.js';
1
+ import { diagnoseCloudFailure, formatCloudFailureClass } from './cloudFailureDiagnostics.js';
2
2
  export class CommandReviewer {
3
3
  getResult;
4
4
  constructor(getResult) {
@@ -41,12 +41,12 @@ export class CommandReviewer {
41
41
  ...(cloudExecution?.status_url ? [`Cloud status URL: ${cloudExecution.status_url}`] : [])
42
42
  ];
43
43
  if (!approved) {
44
- summaryLines.push(`Failure class: ${diagnosis.category}`);
44
+ summaryLines.push(`Failure class: ${formatCloudFailureClass(diagnosis)}`);
45
45
  summaryLines.push(`Guidance: ${diagnosis.guidance}`);
46
46
  }
47
47
  const feedbackLines = [cloudExecution?.error ?? (result.notes.join('\n') || undefined)].filter((line) => Boolean(line && line.trim().length > 0));
48
48
  if (!approved) {
49
- feedbackLines.push(`Failure class: ${diagnosis.category}`);
49
+ feedbackLines.push(`Failure class: ${formatCloudFailureClass(diagnosis)}`);
50
50
  feedbackLines.push(`Guidance: ${diagnosis.guidance}`);
51
51
  }
52
52
  return {
@@ -1,5 +1,5 @@
1
1
  import { ensureGuardrailStatus } from '../run/manifest.js';
2
- import { diagnoseCloudFailure } from './cloudFailureDiagnostics.js';
2
+ import { diagnoseCloudFailure, formatCloudFailureClass } from './cloudFailureDiagnostics.js';
3
3
  export class CommandTester {
4
4
  getResult;
5
5
  constructor(getResult) {
@@ -49,7 +49,7 @@ export class CommandTester {
49
49
  status: passed ? 'passed' : 'failed',
50
50
  details: passed
51
51
  ? failureDetails
52
- : `${failureDetails}\nFailure class: ${diagnosis.category}. ${diagnosis.guidance}`
52
+ : `${failureDetails}\nFailure class: ${formatCloudFailureClass(diagnosis)}. ${diagnosis.guidance}`
53
53
  }
54
54
  ];
55
55
  return {
@@ -1,44 +1,216 @@
1
+ export function formatCloudFailureClass(diagnosis) {
2
+ return `${diagnosis.category} (${diagnosis.diagnostic_category})`;
3
+ }
1
4
  const CLOUD_FAILURE_RULES = [
5
+ {
6
+ category: 'execution',
7
+ diagnostic_category: 'guardian_timeout',
8
+ patterns: [
9
+ 'guardian timeout',
10
+ 'guardian-timeout',
11
+ 'guardian_timeout',
12
+ 'guardian timed out',
13
+ 'guardian review timeout',
14
+ 'guardian review timed out'
15
+ ],
16
+ guidance: 'Guardian review timed out; retry or inspect timeout-specific Guardian guidance before treating it as a policy denial.'
17
+ },
18
+ {
19
+ category: 'execution',
20
+ diagnostic_category: 'guardian_policy_denial',
21
+ patterns: [
22
+ 'guardian policy denial',
23
+ 'guardian-policy-denial',
24
+ 'guardian_policy_denial',
25
+ 'guardian policy denied',
26
+ 'guardian denied',
27
+ 'guardian blocked'
28
+ ],
29
+ guidance: 'Guardian policy denied the request; inspect policy-denial guidance instead of retrying as a timeout.'
30
+ },
31
+ {
32
+ category: 'credentials',
33
+ diagnostic_category: 'cloud_connector_auth_drift',
34
+ patterns: [
35
+ 'cloud connector auth drift',
36
+ 'cloud-connector-auth-drift',
37
+ 'cloud_connector_auth_drift',
38
+ 'missing_github_connector_link',
39
+ 'missing github connector link',
40
+ 'github connection not found for user',
41
+ 'github connection not found',
42
+ 'github connector not found',
43
+ 'github connector link missing',
44
+ 'missing github connection',
45
+ 'missing github connector'
46
+ ],
47
+ guidance: 'Repair or relink the GitHub connector for the current ChatGPT/Codex cloud account/environment, or record an explicit waiver before re-running cloud-canary gates.'
48
+ },
49
+ {
50
+ category: 'credentials',
51
+ diagnostic_category: 'cloud_denial',
52
+ patterns: [
53
+ 'cloud denial',
54
+ 'cloud-denial',
55
+ 'cloud_denial',
56
+ 'cloud denied',
57
+ 'not allowed in cloud',
58
+ 'cloud access denied',
59
+ 'cloud execution denied'
60
+ ],
61
+ guidance: 'Codex Cloud rejected this run; verify the configured cloud environment, branch, and account permission for cloud execution.'
62
+ },
2
63
  {
3
64
  category: 'configuration',
4
- patterns: ['cloud-env-missing', 'codex_cloud_env_id', 'no environment id is configured', '--env'],
65
+ diagnostic_category: 'env_config',
66
+ patterns: [
67
+ 'env config',
68
+ 'env-config',
69
+ 'env_config',
70
+ 'cloud-env-missing',
71
+ 'codex_cloud_env_id',
72
+ 'no_environment_id',
73
+ 'no environment id is configured',
74
+ '--env'
75
+ ],
5
76
  guidance: 'Set CODEX_CLOUD_ENV_ID (or metadata.cloudEnvId) to a valid cloud environment id before re-running.'
6
77
  },
7
78
  {
8
79
  category: 'credentials',
9
- patterns: ['unauthorized', 'forbidden', 'not logged in', 'login', 'api key', 'credential', 'token'],
10
- guidance: 'Ensure Codex Cloud credentials are available to the runner and have access to the configured environment.'
80
+ diagnostic_category: 'auth_mismatch',
81
+ patterns: [
82
+ 'auth mismatch',
83
+ 'auth-mismatch',
84
+ 'auth_mismatch',
85
+ 'auth profile',
86
+ 'profile mismatch',
87
+ 'account mismatch',
88
+ 'active account',
89
+ 'active profile',
90
+ 'unauthorized',
91
+ 'forbidden',
92
+ 'not logged in',
93
+ 'login',
94
+ 'api key',
95
+ 'credential',
96
+ 'auth token',
97
+ 'access token',
98
+ 'refresh token',
99
+ 'bearer token',
100
+ 'invalid token',
101
+ 'expired token',
102
+ 'token expired',
103
+ 'missing token',
104
+ 'token missing'
105
+ ],
106
+ guidance: 'Ensure the active Codex account/auth profile matches the cloud environment and has access to the configured environment.'
107
+ },
108
+ {
109
+ category: 'execution',
110
+ diagnostic_category: 'quota_rate_limit',
111
+ patterns: [
112
+ 'quota_rate_limit',
113
+ 'rate limit',
114
+ 'rate-limit',
115
+ 'rate_limited',
116
+ 'rate_limit_exceeded',
117
+ 'quota',
118
+ 'too many requests',
119
+ 'usage limit',
120
+ 'usage_limit_reached'
121
+ ],
122
+ guidance: 'Codex account quota or rate-limit state is implicated; inspect account plan/rate-limit evidence and retry after limits reset.'
11
123
  },
12
124
  {
13
125
  category: 'connectivity',
126
+ diagnostic_category: 'network_connectivity',
14
127
  patterns: ['enotfound', 'econn', 'timed out', 'timeout', 'network', '502', '503', '504'],
15
128
  guidance: 'Cloud endpoint connectivity looks unstable; retry and inspect network/endpoint health.'
16
129
  }
17
130
  ];
18
131
  const TERMINAL_FAILURE_STATUSES = new Set(['failed', 'error', 'cancelled']);
132
+ const MACHINE_READABLE_CLOUD_DETAILS = new Set([
133
+ 'auth_mismatch',
134
+ 'cloud_access_denied',
135
+ 'cloud_denial',
136
+ 'cloud_denied',
137
+ 'cloud_env_missing',
138
+ 'cloud_execution_denied',
139
+ 'cloud_connector_auth_drift',
140
+ 'codex_cloud_env_id',
141
+ 'env_config',
142
+ 'guardian_policy_denial',
143
+ 'guardian_timeout',
144
+ 'github_connection_not_found',
145
+ 'github_connector_not_found',
146
+ 'missing_github_connector_link',
147
+ 'no_environment_id',
148
+ 'not_allowed_in_cloud',
149
+ 'quota_rate_limit',
150
+ 'rate_limit',
151
+ 'rate_limit_exceeded',
152
+ 'rate_limited',
153
+ 'usage_limit_reached'
154
+ ]);
155
+ function matchCloudFailureRule(signal) {
156
+ const lowercase = signal.toLowerCase();
157
+ const normalized = normalizeCloudFailureSignal(signal);
158
+ return CLOUD_FAILURE_RULES.find((rule) => rule.patterns.some((pattern) => {
159
+ const normalizedPattern = normalizeCloudFailureSignal(pattern);
160
+ return lowercase.includes(pattern) ||
161
+ (normalizedPattern.length >= 4 && normalized.includes(normalizedPattern));
162
+ })) ?? null;
163
+ }
164
+ function normalizeCloudFailureSignal(signal) {
165
+ return signal
166
+ .replace(/([a-z0-9])([A-Z])/gu, '$1 $2')
167
+ .toLowerCase()
168
+ .replace(/[_-]+/gu, ' ')
169
+ .replace(/\s+/gu, ' ')
170
+ .trim();
171
+ }
172
+ function isMachineReadableCloudDetail(signal) {
173
+ return MACHINE_READABLE_CLOUD_DETAILS.has(normalizeCloudFailureSignal(signal).replace(/\s+/gu, '_'));
174
+ }
175
+ function buildCloudFailureDiagnosis(rule, signal) {
176
+ return {
177
+ category: rule.category,
178
+ diagnostic_category: rule.diagnostic_category,
179
+ guidance: rule.guidance,
180
+ signal
181
+ };
182
+ }
19
183
  export function diagnoseCloudFailure(options) {
20
184
  const signal = [options.status ?? null, options.statusDetail ?? null, options.error ?? null]
21
185
  .filter((value) => typeof value === 'string' && value.trim().length > 0)
22
186
  .join('\n');
23
- const normalized = signal.toLowerCase();
24
- for (const rule of CLOUD_FAILURE_RULES) {
25
- if (rule.patterns.some((pattern) => normalized.includes(pattern))) {
26
- return {
27
- category: rule.category,
28
- guidance: rule.guidance,
29
- signal
30
- };
187
+ if (options.statusDetail && isMachineReadableCloudDetail(options.statusDetail)) {
188
+ const statusDetailRule = matchCloudFailureRule(options.statusDetail);
189
+ if (statusDetailRule) {
190
+ return buildCloudFailureDiagnosis(statusDetailRule, signal);
31
191
  }
32
192
  }
193
+ if (options.error) {
194
+ const errorRule = matchCloudFailureRule(options.error);
195
+ if (errorRule) {
196
+ return buildCloudFailureDiagnosis(errorRule, signal);
197
+ }
198
+ }
199
+ const signalRule = matchCloudFailureRule(signal);
200
+ if (signalRule) {
201
+ return buildCloudFailureDiagnosis(signalRule, signal);
202
+ }
33
203
  if (options.status && TERMINAL_FAILURE_STATUSES.has(options.status.toLowerCase())) {
34
204
  return {
35
205
  category: 'execution',
206
+ diagnostic_category: 'provider_runtime',
36
207
  guidance: 'Inspect manifest cloud_execution.error and cloud command logs for the terminal cloud failure.',
37
208
  signal
38
209
  };
39
210
  }
40
211
  return {
41
212
  category: 'unknown',
213
+ diagnostic_category: 'unknown',
42
214
  guidance: 'Inspect manifest status_detail plus cloud command logs to classify this failure.',
43
215
  signal
44
216
  };