@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
@@ -62,6 +62,14 @@
62
62
  "artifact_root": { "type": "string", "minLength": 1 },
63
63
  "compat_path": { "type": "string", "minLength": 1 },
64
64
  "log_path": { "type": "string", "minLength": 1 },
65
+ "issue_provider": { "type": ["string", "null"] },
66
+ "issue_id": { "type": ["string", "null"] },
67
+ "issue_identifier": { "type": ["string", "null"] },
68
+ "issue_updated_at": { "type": ["string", "null"] },
69
+ "workspace_path": { "type": ["string", "null"], "minLength": 1 },
70
+ "provider_launch_source": { "type": ["string", "null"] },
71
+ "provider_control_host_task_id": { "type": ["string", "null"] },
72
+ "provider_control_host_run_id": { "type": ["string", "null"] },
65
73
  "summary": { "type": ["string", "null"] },
66
74
  "metrics_recorded": { "type": "boolean" },
67
75
  "resume_token": { "type": "string", "minLength": 1 },
@@ -239,6 +247,10 @@
239
247
  }
240
248
  },
241
249
  "guardrails_required": { "type": ["boolean", "null"] },
250
+ "guardrails_required_source": {
251
+ "type": ["string", "null"],
252
+ "enum": ["explicit", "stage_detection", null]
253
+ },
242
254
  "runtime_mode_requested": { "type": "string", "enum": ["cli", "appserver"] },
243
255
  "runtime_mode": { "type": "string", "enum": ["cli", "appserver"] },
244
256
  "runtime_provider": { "type": "string", "enum": ["CliRuntimeProvider", "AppServerRuntimeProvider"] },
@@ -466,6 +478,88 @@
466
478
  "type": "array",
467
479
  "items": { "type": "string", "minLength": 1 }
468
480
  },
481
+ "retrieval_policy": {
482
+ "type": ["object", "null"],
483
+ "additionalProperties": false,
484
+ "required": ["kind", "min_score", "score_weights", "anti_dominance_normalization"],
485
+ "properties": {
486
+ "kind": { "type": "string", "const": "competitive_scoring_v1" },
487
+ "min_score": {
488
+ "type": ["number", "null"],
489
+ "minimum": 0
490
+ },
491
+ "score_weights": {
492
+ "type": "object",
493
+ "additionalProperties": false,
494
+ "required": ["gt_score", "relative_rank"],
495
+ "properties": {
496
+ "gt_score": { "type": "number", "minimum": 0 },
497
+ "relative_rank": { "type": "number", "minimum": 0 }
498
+ }
499
+ },
500
+ "anti_dominance_normalization": {
501
+ "type": "object",
502
+ "additionalProperties": false,
503
+ "required": ["enabled", "strength", "source_grouping"],
504
+ "properties": {
505
+ "enabled": { "type": "boolean" },
506
+ "strength": { "type": "number", "minimum": 0 },
507
+ "source_grouping": { "type": "string", "const": "provenance_fallback_v1" }
508
+ }
509
+ }
510
+ }
511
+ },
512
+ "retrieval_selection": {
513
+ "type": ["object", "null"],
514
+ "additionalProperties": false,
515
+ "required": [
516
+ "candidate_count",
517
+ "selected_count",
518
+ "diagnostics_path",
519
+ "selected_ids",
520
+ "suppressed_source_keys",
521
+ "selected"
522
+ ],
523
+ "properties": {
524
+ "candidate_count": { "type": "integer", "minimum": 0 },
525
+ "selected_count": { "type": "integer", "minimum": 0 },
526
+ "diagnostics_path": { "type": ["string", "null"] },
527
+ "selected_ids": {
528
+ "type": "array",
529
+ "items": { "type": "string", "minLength": 1 }
530
+ },
531
+ "suppressed_source_keys": {
532
+ "type": "array",
533
+ "items": { "type": "string", "minLength": 1 }
534
+ },
535
+ "selected": {
536
+ "type": "array",
537
+ "items": {
538
+ "type": "object",
539
+ "additionalProperties": false,
540
+ "required": [
541
+ "id",
542
+ "source_key",
543
+ "source_kind",
544
+ "raw_score",
545
+ "competitive_score",
546
+ "dominance_penalty"
547
+ ],
548
+ "properties": {
549
+ "id": { "type": "string", "minLength": 1 },
550
+ "source_key": { "type": "string", "minLength": 1 },
551
+ "source_kind": {
552
+ "type": "string",
553
+ "enum": ["group_id", "run_id", "manifest_path", "stamp_signature"]
554
+ },
555
+ "raw_score": { "type": "number" },
556
+ "competitive_score": { "type": "number" },
557
+ "dominance_penalty": { "type": "number", "minimum": 0 }
558
+ }
559
+ }
560
+ }
561
+ }
562
+ },
469
563
  "experiences": {
470
564
  "type": ["array", "null"],
471
565
  "items": { "type": "string", "minLength": 1 }
@@ -473,6 +567,288 @@
473
567
  }
474
568
  }
475
569
  },
570
+ "memory": {
571
+ "type": ["object", "null"],
572
+ "additionalProperties": false,
573
+ "properties": {
574
+ "block_memory": {
575
+ "type": ["object", "null"],
576
+ "additionalProperties": false,
577
+ "required": ["schema_version", "kind", "index_path", "generated_at", "block_count"],
578
+ "properties": {
579
+ "schema_version": { "type": "integer", "minimum": 1 },
580
+ "kind": { "type": "string", "const": "index" },
581
+ "index_path": {
582
+ "type": "string",
583
+ "minLength": 1,
584
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
585
+ },
586
+ "generated_at": { "type": "string", "minLength": 1 },
587
+ "block_count": { "type": "integer", "minimum": 1 }
588
+ }
589
+ },
590
+ "source_0": {
591
+ "type": ["object", "null"],
592
+ "additionalProperties": false,
593
+ "required": [
594
+ "schema_version",
595
+ "kind",
596
+ "object_id",
597
+ "pointer",
598
+ "dir_path",
599
+ "index_path",
600
+ "source_path",
601
+ "byte_length",
602
+ "chunk_count",
603
+ "created_at",
604
+ "origin",
605
+ "inherited_from"
606
+ ],
607
+ "properties": {
608
+ "schema_version": { "type": "integer", "minimum": 1 },
609
+ "kind": { "type": "string", "const": "context_object" },
610
+ "object_id": { "type": "string", "minLength": 1 },
611
+ "pointer": { "type": "string", "minLength": 1 },
612
+ "dir_path": {
613
+ "type": "string",
614
+ "minLength": 1,
615
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
616
+ },
617
+ "index_path": {
618
+ "type": "string",
619
+ "minLength": 1,
620
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
621
+ },
622
+ "source_path": {
623
+ "type": "string",
624
+ "minLength": 1,
625
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
626
+ },
627
+ "byte_length": { "type": "integer", "minimum": 0 },
628
+ "chunk_count": { "type": "integer", "minimum": 1 },
629
+ "created_at": { "type": "string", "minLength": 1 },
630
+ "origin": {
631
+ "type": "object",
632
+ "additionalProperties": false,
633
+ "required": ["run_id", "task_id", "manifest_path"],
634
+ "properties": {
635
+ "run_id": { "type": "string", "minLength": 1 },
636
+ "task_id": { "type": "string", "minLength": 1 },
637
+ "manifest_path": { "type": "string", "minLength": 1 }
638
+ }
639
+ },
640
+ "inherited_from": {
641
+ "type": ["object", "null"],
642
+ "additionalProperties": false,
643
+ "required": ["run_id", "task_id", "manifest_path"],
644
+ "properties": {
645
+ "run_id": { "type": "string", "minLength": 1 },
646
+ "task_id": { "type": "string", "minLength": 1 },
647
+ "manifest_path": { "type": "string", "minLength": 1 }
648
+ }
649
+ }
650
+ }
651
+ },
652
+ "observability": {
653
+ "type": ["object", "null"],
654
+ "additionalProperties": false,
655
+ "required": [
656
+ "schema_version",
657
+ "recorded_at",
658
+ "selected_memory",
659
+ "rejected_candidates",
660
+ "rediscovered_memory",
661
+ "manual_repairs",
662
+ "counters"
663
+ ],
664
+ "properties": {
665
+ "schema_version": { "type": "integer", "minimum": 1 },
666
+ "recorded_at": { "type": "string", "minLength": 1 },
667
+ "selected_memory": {
668
+ "type": "object",
669
+ "additionalProperties": false,
670
+ "required": [
671
+ "selection",
672
+ "pointer",
673
+ "object_id",
674
+ "dir_path",
675
+ "index_path",
676
+ "source_path",
677
+ "created_at",
678
+ "origin",
679
+ "inherited_from"
680
+ ],
681
+ "properties": {
682
+ "selection": {
683
+ "type": "string",
684
+ "enum": ["root", "inherited_reuse", "fresh_rebuild"]
685
+ },
686
+ "pointer": { "type": "string", "minLength": 1 },
687
+ "object_id": { "type": "string", "minLength": 1 },
688
+ "dir_path": {
689
+ "type": "string",
690
+ "minLength": 1,
691
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
692
+ },
693
+ "index_path": {
694
+ "type": "string",
695
+ "minLength": 1,
696
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
697
+ },
698
+ "source_path": {
699
+ "type": "string",
700
+ "minLength": 1,
701
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
702
+ },
703
+ "created_at": { "type": "string", "minLength": 1 },
704
+ "origin": {
705
+ "type": "object",
706
+ "additionalProperties": false,
707
+ "required": ["run_id", "task_id", "manifest_path"],
708
+ "properties": {
709
+ "run_id": { "type": "string", "minLength": 1 },
710
+ "task_id": { "type": "string", "minLength": 1 },
711
+ "manifest_path": { "type": "string", "minLength": 1 }
712
+ }
713
+ },
714
+ "inherited_from": {
715
+ "type": ["object", "null"],
716
+ "additionalProperties": false,
717
+ "required": ["run_id", "task_id", "manifest_path"],
718
+ "properties": {
719
+ "run_id": { "type": "string", "minLength": 1 },
720
+ "task_id": { "type": "string", "minLength": 1 },
721
+ "manifest_path": { "type": "string", "minLength": 1 }
722
+ }
723
+ }
724
+ }
725
+ },
726
+ "rejected_candidates": {
727
+ "type": "array",
728
+ "items": {
729
+ "type": "object",
730
+ "additionalProperties": false,
731
+ "required": [
732
+ "pointer",
733
+ "object_id",
734
+ "dir_path",
735
+ "index_path",
736
+ "source_path",
737
+ "created_at",
738
+ "origin",
739
+ "inherited_from",
740
+ "reason",
741
+ "detail"
742
+ ],
743
+ "properties": {
744
+ "pointer": { "type": "string", "minLength": 1 },
745
+ "object_id": { "type": "string", "minLength": 1 },
746
+ "dir_path": {
747
+ "type": "string",
748
+ "minLength": 1,
749
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
750
+ },
751
+ "index_path": {
752
+ "type": "string",
753
+ "minLength": 1,
754
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
755
+ },
756
+ "source_path": {
757
+ "type": "string",
758
+ "minLength": 1,
759
+ "pattern": "^(?![A-Za-z]:[\\\\/])(?![\\\\/])(?!.*(?:^|[\\\\/])\\.\\.(?:[\\\\/]|$)).+$"
760
+ },
761
+ "created_at": { "type": "string", "minLength": 1 },
762
+ "origin": {
763
+ "type": "object",
764
+ "additionalProperties": false,
765
+ "required": ["run_id", "task_id", "manifest_path"],
766
+ "properties": {
767
+ "run_id": { "type": "string", "minLength": 1 },
768
+ "task_id": { "type": "string", "minLength": 1 },
769
+ "manifest_path": { "type": "string", "minLength": 1 }
770
+ }
771
+ },
772
+ "inherited_from": {
773
+ "type": ["object", "null"],
774
+ "additionalProperties": false,
775
+ "required": ["run_id", "task_id", "manifest_path"],
776
+ "properties": {
777
+ "run_id": { "type": "string", "minLength": 1 },
778
+ "task_id": { "type": "string", "minLength": 1 },
779
+ "manifest_path": { "type": "string", "minLength": 1 }
780
+ }
781
+ },
782
+ "reason": {
783
+ "type": "string",
784
+ "enum": ["missing_artifacts", "provenance_contradiction"]
785
+ },
786
+ "detail": { "type": ["string", "null"] }
787
+ }
788
+ }
789
+ },
790
+ "rediscovered_memory": {
791
+ "type": ["object", "null"],
792
+ "additionalProperties": false,
793
+ "required": [
794
+ "from_pointer",
795
+ "from_object_id",
796
+ "to_pointer",
797
+ "to_object_id",
798
+ "reason"
799
+ ],
800
+ "properties": {
801
+ "from_pointer": { "type": "string", "minLength": 1 },
802
+ "from_object_id": { "type": "string", "minLength": 1 },
803
+ "to_pointer": { "type": "string", "minLength": 1 },
804
+ "to_object_id": { "type": "string", "minLength": 1 },
805
+ "reason": {
806
+ "type": "string",
807
+ "enum": ["missing_artifacts", "provenance_contradiction"]
808
+ }
809
+ }
810
+ },
811
+ "manual_repairs": {
812
+ "type": "array",
813
+ "items": {
814
+ "type": "object",
815
+ "additionalProperties": false,
816
+ "required": ["timestamp", "actor", "reason", "outcome", "detail"],
817
+ "properties": {
818
+ "timestamp": { "type": "string", "minLength": 1 },
819
+ "actor": { "type": "string", "minLength": 1 },
820
+ "reason": { "type": "string", "minLength": 1 },
821
+ "outcome": { "type": "string", "const": "accepted" },
822
+ "detail": { "type": ["string", "null"] }
823
+ }
824
+ }
825
+ },
826
+ "counters": {
827
+ "type": "object",
828
+ "additionalProperties": false,
829
+ "required": [
830
+ "contradiction_count",
831
+ "rediscovery_count",
832
+ "resume_latency_ms",
833
+ "manual_repair_count",
834
+ "repeated_failure_streak",
835
+ "retrieval_hits",
836
+ "retrieval_misses"
837
+ ],
838
+ "properties": {
839
+ "contradiction_count": { "type": "integer", "minimum": 0 },
840
+ "rediscovery_count": { "type": "integer", "minimum": 0 },
841
+ "resume_latency_ms": { "type": ["integer", "null"], "minimum": 0 },
842
+ "manual_repair_count": { "type": "integer", "minimum": 0 },
843
+ "repeated_failure_streak": { "type": "integer", "minimum": 0 },
844
+ "retrieval_hits": { "type": "integer", "minimum": 0 },
845
+ "retrieval_misses": { "type": "integer", "minimum": 0 }
846
+ }
847
+ }
848
+ }
849
+ }
850
+ }
851
+ },
476
852
  "tfgrpo": {
477
853
  "type": ["object", "null"],
478
854
  "additionalProperties": false,
@@ -879,6 +1255,24 @@
879
1255
  "type": "array",
880
1256
  "items": { "type": "string", "minLength": 1 }
881
1257
  },
1258
+ "sender_agent_path": { "type": ["string", "null"], "minLength": 1 },
1259
+ "receiver_agent_paths": {
1260
+ "type": ["array", "null"],
1261
+ "items": { "type": "string", "minLength": 1 }
1262
+ },
1263
+ "receiver_agents": {
1264
+ "type": ["array", "null"],
1265
+ "items": {
1266
+ "type": "object",
1267
+ "additionalProperties": false,
1268
+ "properties": {
1269
+ "thread_id": { "type": ["string", "null"], "minLength": 1 },
1270
+ "agent_nickname": { "type": ["string", "null"], "minLength": 1 },
1271
+ "agent_role": { "type": ["string", "null"], "minLength": 1 },
1272
+ "agent_path": { "type": ["string", "null"], "minLength": 1 }
1273
+ }
1274
+ }
1275
+ },
882
1276
  "prompt": { "type": ["string", "null"] },
883
1277
  "fork_context": { "type": ["boolean", "null"] },
884
1278
  "agents_states": {
@@ -175,7 +175,7 @@ Do not treat wrapper handoff-only output as a completed review.
175
175
  - Rebuild managed CLI only (optional): `codex-orchestrator codex setup --source <codex-repo> --yes --force`.
176
176
  - Managed routing is explicit opt-in: `export CODEX_CLI_USE_MANAGED=1` (stock/global `codex` remains default otherwise).
177
177
  - If local codex is materially behind upstream, sync before diagnosing collab behavior differences.
178
- - In Codex CLI `0.105.0`, built-in `explorer` inherits top-level model defaults unless you attach a role `config_file`; reserve spark for optional `[agents.explorer_fast]` (text-only caveat).
178
+ - In Codex CLI `0.123.0`, built-in `explorer` inherits top-level model defaults unless you attach a role `config_file`; reserve spark for optional `[agents.explorer_fast]` file/codebase search only.
179
179
  - For cloud-heavy streams, treat fallback as a safety net only; set `CODEX_ORCHESTRATOR_CLOUD_FALLBACK=deny` in fail-fast lanes.
180
180
  - If compatibility remains unstable, continue with non-collab execution path and document the degraded mode.
181
181
 
@@ -5,7 +5,7 @@ Use this guide for deeper context on delegation behavior, tool surfaces, and tro
5
5
 
6
6
  ## Mental model
7
7
 
8
- - The delegation MCP server is a local stdio process (`codex-orchestrator delegate-server`; `delegation-server` is an alias).
8
+ - The delegation MCP server is a local stdio process. Register the direct dist entrypoint (`node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server`); `delegation-server` is still accepted as an alias.
9
9
  - It does **not** provide general tools itself; it only exposes `delegate.*` + optional `github.*` tools.
10
10
  - Child runs get tools based on `delegate.mode` + `delegate.tool_profile` + repo caps.
11
11
  - Delegation MCP stays enabled by default (only MCP on by default); disable it only when required by safety constraints.
@@ -63,7 +63,7 @@ Fix by re-registering the server with a TOML-quoted override:
63
63
  codex mcp remove delegation
64
64
  codex mcp add delegation \
65
65
  --env 'CODEX_MCP_CONFIG_OVERRIDES=delegate.mode="full"' \
66
- -- codex-orchestrator delegate-server
66
+ -- node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server
67
67
  ```
68
68
 
69
69
  ## Server mode vs child mode (don’t mix them up)
@@ -108,12 +108,18 @@ If you want deeper recursion or longer wall-clock time for delegated runs, set R
108
108
  ```bash
109
109
  codex mcp add delegation \
110
110
  --env 'CODEX_MCP_CONFIG_OVERRIDES=rlm.max_subcall_depth=8;rlm.wall_clock_timeout_ms=14400000' \
111
- -- codex-orchestrator delegate-server
111
+ -- node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server
112
112
  ```
113
113
 
114
114
  For the `rlm` pipeline specifically, use:
115
115
  - `RLM_MAX_MINUTES=240` for a 4-hour cap.
116
116
 
117
+ If stale delegate-server processes accumulate from prior sessions, remove only the orphaned ones with:
118
+
119
+ ```bash
120
+ codex-orchestrator delegation cleanup-stale --yes
121
+ ```
122
+
117
123
  ## delegate.spawn start-only (default)
118
124
 
119
125
  - `delegate.spawn` defaults to `start_only=true` (requires `task_id`).
@@ -127,7 +133,11 @@ If you need delegation to respect a repo’s `.codex/orchestrator.toml` (e.g., s
127
133
 
128
134
  ## Version guard (JSONL handshake)
129
135
 
130
- Delegation MCP expects JSONL. Keep `codex-orchestrator` aligned with the current release line.
136
+ Delegation MCP expects JSONL. Keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.123.0`) unless a task-scoped canary is explicitly evaluating something newer.
137
+
138
+ Current `0.123.0` posture also confirms that:
139
+ - `codex exec` accepts a prompt argument plus piped stdin, with stdin appended as a `<stdin>` block.
140
+ - `codex login --device-auth` is available for non-browser sign-in fallback.
131
141
 
132
142
  - Check: `codex-orchestrator --version`
133
143
  - Update global: `npm i -g @kbediako/codex-orchestrator@latest`
@@ -145,16 +155,19 @@ Delegation MCP expects JSONL. Keep `codex-orchestrator` aligned with the current
145
155
  - `spawn_agent` omission defaults to `default`; require explicit `agent_type` for every spawn.
146
156
  - For symbolic collab runs, include a first-line role tag in spawned prompts: `[agent_type:<role>]`.
147
157
  - Multi-turn subagent loops are supported (`spawn_agent` -> `send_input` -> `wait`/`resume_agent` -> `close_agent`).
148
- - In Codex CLI `0.105.0`, built-in `explorer` inherits top-level defaults unless overridden in `~/.codex/config.toml`.
158
+ - In Codex CLI `0.123.0`, built-in `explorer` continues to inherit top-level defaults unless overridden in `~/.codex/config.toml`.
149
159
  - Recommended baseline:
150
- - `model = "gpt-5.3-codex"`
160
+ - `model = "gpt-5.4"`
161
+ - `review_model = "gpt-5.4"`
151
162
  - `model_reasoning_effort = "xhigh"`
152
- - `[agents] max_threads = 12` with `max_depth = 4` and `max_spawn_depth = 4`
163
+ - `[agents] max_threads = 12` is the seeded baseline; keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
153
164
  - Leave `[agents.explorer]` undefined unless you intentionally want to override built-in explorer behavior.
154
- - Add optional `[agents.explorer_fast]` for `gpt-5.3-codex-spark` (text-only caveat).
155
- - Add optional `[agents.awaiter]` override for `gpt-5.3-codex` + `high` while preserving awaiter instructions.
156
- - Add `[agents.worker_complex]` for high-risk edits (`gpt-5.3-codex`, `xhigh`).
157
- - Fallback posture is contingency-only: `8/2/2` (constrained/high-risk), `6/1/1` break-glass.
165
+ - Add optional `[agents.explorer_fast]` for `gpt-5.3-codex-spark` (file/codebase search only).
166
+ - Add optional `[agents.awaiter]` override for `gpt-5.4` + `high` while preserving awaiter instructions.
167
+ - Add `[agents.worker_complex]` for high-risk edits (`gpt-5.4`, `xhigh`).
168
+ - Keep delegated subagent and review surfaces on `gpt-5.4` under ChatGPT auth unless a fresh provider lane explicitly validates `gpt-5.4-codex`.
169
+ - Fallback posture is contingency-only: `8/2` (constrained/high-risk), legacy `6/1/1` break-glass when an older parser/runtime still consumes spawn-depth caps.
170
+ - If native `codex` startup fails with `invalid type: integer ... expected struct AgentRoleToml` under `[agents]`, remove only the live `max_depth` and `max_spawn_depth` keys from `~/.codex/config.toml` and leave the role subtables unchanged.
158
171
 
159
172
  ## Common failures
160
173
 
@@ -61,9 +61,9 @@ Optional (only if you need it):
61
61
  - If the task needs external docs or APIs, enable only the relevant MCP server for that environment.
62
62
  - If `delegate.spawn` is missing, re-register the MCP server with full mode (server config controls tool surface):
63
63
  - `codex mcp remove delegation`
64
- - `codex mcp add delegation --env 'CODEX_MCP_CONFIG_OVERRIDES=delegate.mode="full"' -- codex-orchestrator delegate-server`
64
+ - `codex mcp add delegation --env 'CODEX_MCP_CONFIG_OVERRIDES=delegate.mode="full"' -- node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server`
65
65
  - To raise RLM budgets for delegated runs, re-register with an override (TOML-quoted):
66
- - `codex mcp add delegation --env 'CODEX_MCP_CONFIG_OVERRIDES=rlm.max_subcall_depth=8;rlm.wall_clock_timeout_ms=14400000' -- codex-orchestrator delegate-server`
66
+ - `codex mcp add delegation --env 'CODEX_MCP_CONFIG_OVERRIDES=rlm.max_subcall_depth=8;rlm.wall_clock_timeout_ms=14400000' -- node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server`
67
67
 
68
68
  For deeper background patterns and troubleshooting, see `DELEGATION_GUIDE.md`.
69
69
  For runner + delegation coordination (short `--task` flow), see `docs/delegation-runner-workflow.md`.
@@ -89,10 +89,12 @@ For runner + delegation coordination (short `--task` flow), see `docs/delegation
89
89
  - Optional low-friction MCP enable pass: `codex-orchestrator mcp enable --yes`
90
90
  - Enables disabled MCP servers from existing Codex config entries (plan mode redacts env/secret values in displayed command lines).
91
91
  - `codex-orchestrator delegation setup --yes`
92
- - Delegation-only setup (wraps `codex mcp add delegation ...` and keeps wiring discoverable via `codex-orchestrator doctor`).
93
- - `codex mcp add delegation -- codex-orchestrator delegate-server`
92
+ - Delegation-only setup (registers the direct dist transport and keeps wiring discoverable via `codex-orchestrator doctor`).
93
+ - `codex mcp add delegation -- node /path/to/@kbediako/codex-orchestrator/dist/bin/codex-orchestrator.js delegate-server`
94
94
  - Optional: append `--repo /path/to/repo` to pin the server to one repo (not recommended if you work across repos).
95
95
  - `delegate-server` is the canonical name; `delegation-server` is supported as an alias.
96
+ - `codex-orchestrator delegation cleanup-stale --yes`
97
+ - Safe cleanup for orphaned delegate-server processes that are no longer rooted in a live Codex client.
96
98
  - Per-run `-c 'mcp_servers.delegation.enabled=true'` only works **after** registration.
97
99
  - If `delegate.*` tools are missing mid-task, start a new run with:
98
100
  - `codex -c 'mcp_servers.delegation.enabled=true' ...`
@@ -103,7 +105,8 @@ For runner + delegation coordination (short `--task` flow), see `docs/delegation
103
105
 
104
106
  ### 0a) Version guard (JSONL handshake)
105
107
 
106
- - Delegation MCP uses JSONL; keep `codex-orchestrator` aligned with the current release line.
108
+ - Delegation MCP uses JSONL; keep `codex-orchestrator` aligned with the current CO compatibility or adoption target (`codex-cli 0.123.0`).
109
+ - Current `0.123.0` posture confirms two onboarding-relevant behaviors: `codex exec` accepts a prompt argument plus piped stdin, and `codex login --device-auth` is available for non-browser sign-in fallback.
107
110
  - Check installed version: `codex-orchestrator --version`
108
111
  - Preferred update path: `npm i -g @kbediako/codex-orchestrator@latest`
109
112
  - Deterministic pin path (for reproducible environments): `npx -y @kbediako/codex-orchestrator@<version> delegate-server`
@@ -120,17 +123,20 @@ For runner + delegation coordination (short `--task` flow), see `docs/delegation
120
123
  - `spawn_agent` omission defaults to `default`; require explicit `agent_type` for every spawn.
121
124
  - For symbolic collab runs, include a first-line role tag in spawned prompts: `[agent_type:<role>]`.
122
125
  - Multi-turn subagent loops are supported (`spawn_agent` -> `send_input` -> `wait`/`resume_agent` -> `close_agent`).
123
- - In Codex CLI `0.105.0`, built-in `explorer` inherits top-level model defaults unless a role `config_file` overrides it.
126
+ - In Codex CLI `0.123.0`, built-in `explorer` continues to inherit top-level model defaults unless a role `config_file` overrides it.
124
127
  - Recommended baseline in `~/.codex/config.toml`:
125
- - `model = "gpt-5.3-codex"`
128
+ - `model = "gpt-5.4"`
129
+ - `review_model = "gpt-5.4"`
126
130
  - `model_reasoning_effort = "xhigh"`
127
- - `[agents] max_threads = 12` with `max_depth = 4` and `max_spawn_depth = 4`
131
+ - `[agents] max_threads = 12` is the seeded baseline; keep explicit `max_depth = 4` only when your local Codex parser accepts it, and treat `max_spawn_depth` as a legacy local override rather than current baseline guidance
128
132
  - Leave `[agents.explorer]` undefined unless you intentionally want to override built-in explorer behavior
129
- - Optional `[agents.explorer_fast]` -> `~/.codex/agents/explorer-fast.toml` (`gpt-5.3-codex-spark`, text-only)
130
- - Optional `[agents.awaiter]` override -> `~/.codex/agents/awaiter-high.toml` when you want awaiter at `gpt-5.3-codex` + `high` while preserving awaiter instructions
131
- - `[agents.worker_complex]` -> `~/.codex/agents/worker-complex.toml` (`gpt-5.3-codex`, `xhigh`)
132
- - Fallback posture is contingency-only: `8/2/2` for constrained/high-risk lanes, `6/1/1` as break-glass under severe contention.
133
- - Downstream users can get this baseline via `codex-orchestrator init codex` (ships `.codex/config.toml` + role files).
133
+ - Optional `[agents.explorer_fast]` -> `~/.codex/agents/explorer-fast.toml` (`gpt-5.3-codex-spark`, file/codebase search only)
134
+ - Optional `[agents.awaiter]` override -> `~/.codex/agents/awaiter-high.toml` when you want awaiter at `gpt-5.4` + `high` while preserving awaiter instructions
135
+ - `[agents.worker_complex]` -> `~/.codex/agents/worker-complex.toml` (`gpt-5.4`, `xhigh`)
136
+ - Keep delegated subagent and review surfaces on `gpt-5.4` under ChatGPT auth unless a fresh provider lane explicitly validates `gpt-5.4-codex`.
137
+ - Fallback posture is contingency-only: `8/2` for constrained/high-risk lanes, legacy `6/1/1` as break-glass when an older parser/runtime still consumes spawn-depth caps.
138
+ - Downstream users should converge on this baseline via `codex-orchestrator init codex`.
139
+ - If native `codex` startup fails with `invalid type: integer ... expected struct AgentRoleToml` under `[agents]`, remove only the live `max_depth` and `max_spawn_depth` keys from `~/.codex/config.toml` and leave the role subtables unchanged.
134
140
 
135
141
  ### 0b) Background terminal bootstrap (required when MCP is disabled)
136
142