sneakoscope 2.0.13 → 2.0.15

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 (504) hide show
  1. package/README.md +6 -3
  2. package/crates/sks-core/Cargo.lock +1 -1
  3. package/crates/sks-core/Cargo.toml +1 -1
  4. package/crates/sks-core/src/main.rs +1 -1
  5. package/dist/.sks-build-stamp.json +4 -4
  6. package/dist/bin/sks.js +1 -1
  7. package/dist/cli/command-registry.js +1 -0
  8. package/dist/commands/mad-db.js +5 -0
  9. package/dist/commands/zellij-slot-pane.js +3 -1
  10. package/dist/core/agents/agent-orchestrator.js +11 -4
  11. package/dist/core/agents/agent-output-validator.js +1 -1
  12. package/dist/core/agents/agent-plan.js +3 -2
  13. package/dist/core/agents/native-cli-session-swarm.js +118 -0
  14. package/dist/core/agents/native-cli-worker.js +85 -0
  15. package/dist/core/codex-control/codex-fake-sdk-adapter.js +3 -3
  16. package/dist/core/codex-control/gpt-final-review-schema.js +61 -14
  17. package/dist/core/commands/basic-cli.js +1 -1
  18. package/dist/core/commands/command-suggestions.js +1 -1
  19. package/dist/core/commands/mad-db-command.js +106 -0
  20. package/dist/core/commands/mad-sks-command.js +50 -13
  21. package/dist/core/commands/naruto-command.js +82 -1
  22. package/dist/core/commands/research-command.js +83 -17
  23. package/dist/core/commands/team-command.js +25 -1
  24. package/dist/core/db-safety.js +26 -0
  25. package/dist/core/fsx.js +1 -1
  26. package/dist/core/mad-db/mad-db-capability.js +84 -0
  27. package/dist/core/mad-db/mad-db-ledger.js +17 -0
  28. package/dist/core/mad-db/mad-db-policy-resolver.js +46 -0
  29. package/dist/core/naruto/naruto-real-worker-child.js +11 -3
  30. package/dist/core/naruto/naruto-real-worker-runtime.js +4 -0
  31. package/dist/core/pipeline/final-gpt-patch-stage.js +20 -3
  32. package/dist/core/pipeline-internals/runtime-core.js +74 -8
  33. package/dist/core/pipeline-internals/runtime-gates.js +44 -0
  34. package/dist/core/proof/route-proof-gate.js +5 -3
  35. package/dist/core/proof/route-proof-policy.js +9 -1
  36. package/dist/core/release/release-gate-affected-selector.js +113 -0
  37. package/dist/core/release/release-gate-batch-runner.js +67 -0
  38. package/dist/core/release/release-gate-dag.js +22 -3
  39. package/dist/core/release/release-gate-resource-governor.js +23 -11
  40. package/dist/core/research/implementation-blueprint-densifier.js +124 -0
  41. package/dist/core/research/implementation-blueprint-markdown.js +1 -1
  42. package/dist/core/research/implementation-blueprint.js +68 -7
  43. package/dist/core/research/research-claim-builder.js +114 -0
  44. package/dist/core/research/research-cycle-runner.js +115 -11
  45. package/dist/core/research/research-final-reviewer.js +181 -1
  46. package/dist/core/research/research-handoff.js +69 -5
  47. package/dist/core/research/research-realistic-report.js +162 -0
  48. package/dist/core/research/research-repetition-detector.js +75 -0
  49. package/dist/core/research/research-report-quality.js +27 -5
  50. package/dist/core/research/research-source-ledger-merge.js +186 -0
  51. package/dist/core/research/research-source-shards.js +176 -0
  52. package/dist/core/research/research-stage-runner.js +537 -11
  53. package/dist/core/research/research-synthesis-prompt.js +52 -0
  54. package/dist/core/research/research-synthesis-writer.js +208 -0
  55. package/dist/core/research/research-work-graph.js +114 -23
  56. package/dist/core/research.js +72 -48
  57. package/dist/core/routes.js +23 -19
  58. package/dist/core/update/update-notice.js +120 -0
  59. package/dist/core/version.js +1 -1
  60. package/dist/core/zellij/zellij-dashboard-renderer.js +2 -0
  61. package/dist/core/zellij/zellij-slot-column-anchor.js +35 -1
  62. package/dist/core/zellij/zellij-slot-pane-renderer.js +57 -0
  63. package/dist/core/zellij/zellij-slot-telemetry.js +182 -0
  64. package/dist/scripts/release-gate-dag-runner.js +5 -0
  65. package/dist/scripts/release-speed-summary.js +25 -0
  66. package/package.json +67 -5
  67. package/schemas/codex/agent-result.schema.json +1 -1
  68. package/schemas/mad-db/mad-db-capability.schema.json +31 -0
  69. package/schemas/mad-db/mad-db-ledger.schema.json +14 -0
  70. package/schemas/research/implementation-blueprint.schema.json +6 -1
  71. package/schemas/research/research-final-review.schema.json +10 -0
  72. package/schemas/research/research-source-shard.schema.json +46 -0
  73. package/schemas/research/research-synthesis-output.schema.json +62 -0
  74. package/schemas/update/update-notice.schema.json +19 -0
  75. package/schemas/zellij/zellij-slot-telemetry.schema.json +89 -0
  76. package/dist/build-manifest.json +0 -1184
  77. package/dist/scripts/agent-ast-aware-work-graph-check.js +0 -25
  78. package/dist/scripts/agent-backfill-replenishment-check.js +0 -13
  79. package/dist/scripts/agent-backfill-route-blackbox.js +0 -5
  80. package/dist/scripts/agent-background-terminals-check.js +0 -16
  81. package/dist/scripts/agent-cleanup-command-ux-check.js +0 -12
  82. package/dist/scripts/agent-cleanup-executor-check.js +0 -53
  83. package/dist/scripts/agent-cleanup-executor-v2-check.js +0 -39
  84. package/dist/scripts/agent-cli-options-to-task-graph-check.js +0 -5
  85. package/dist/scripts/agent-codex-app-cockpit-check.js +0 -91
  86. package/dist/scripts/agent-codex-child-overlap-check.js +0 -21
  87. package/dist/scripts/agent-dynamic-cockpit-check.js +0 -10
  88. package/dist/scripts/agent-dynamic-pool-check.js +0 -13
  89. package/dist/scripts/agent-dynamic-pool-route-blackbox.js +0 -5
  90. package/dist/scripts/agent-fast-mode-default-check.js +0 -62
  91. package/dist/scripts/agent-fast-mode-worker-propagation-check.js +0 -7
  92. package/dist/scripts/agent-follow-up-work-schema-check.js +0 -80
  93. package/dist/scripts/agent-goal-mode-propagation-check.js +0 -9
  94. package/dist/scripts/agent-intelligent-work-graph-check.js +0 -25
  95. package/dist/scripts/agent-janitor-check.js +0 -76
  96. package/dist/scripts/agent-main-no-scout-check.js +0 -11
  97. package/dist/scripts/agent-model-authored-patch-envelope-check.js +0 -15
  98. package/dist/scripts/agent-multi-project-isolation-check.js +0 -86
  99. package/dist/scripts/agent-native-cli-session-proof-check.js +0 -7
  100. package/dist/scripts/agent-native-cli-session-swarm-10-check.js +0 -7
  101. package/dist/scripts/agent-native-cli-session-swarm-20-check.js +0 -7
  102. package/dist/scripts/agent-native-cli-session-swarm-check.js +0 -7
  103. package/dist/scripts/agent-no-subagent-scaling-check.js +0 -7
  104. package/dist/scripts/agent-parallel-write-blackbox.js +0 -56
  105. package/dist/scripts/agent-parallel-write-kernel-check.js +0 -103
  106. package/dist/scripts/agent-patch-conflict-rebase-check.js +0 -198
  107. package/dist/scripts/agent-patch-envelope-extraction-check.js +0 -17
  108. package/dist/scripts/agent-patch-proof-check.js +0 -41
  109. package/dist/scripts/agent-patch-proof-runtime-check.js +0 -63
  110. package/dist/scripts/agent-patch-queue-runtime-check.js +0 -36
  111. package/dist/scripts/agent-patch-rollback-check.js +0 -38
  112. package/dist/scripts/agent-patch-rollback-dag-check.js +0 -14
  113. package/dist/scripts/agent-patch-swarm-route-blackbox.js +0 -10
  114. package/dist/scripts/agent-patch-swarm-runtime-check.js +0 -10
  115. package/dist/scripts/agent-patch-swarm-runtime-truth-check.js +0 -76
  116. package/dist/scripts/agent-patch-transaction-journal-check.js +0 -57
  117. package/dist/scripts/agent-patch-verification-dag-check.js +0 -14
  118. package/dist/scripts/agent-proof-contract-reconciled-check.js +0 -5
  119. package/dist/scripts/agent-real-codex-dynamic-smoke-check.js +0 -166
  120. package/dist/scripts/agent-real-codex-dynamic-smoke-v2-check.js +0 -14
  121. package/dist/scripts/agent-real-codex-in-zellij-worker-pane-check.js +0 -229
  122. package/dist/scripts/agent-real-codex-parallel-workers-10-check.js +0 -5
  123. package/dist/scripts/agent-real-codex-parallel-workers-20-check.js +0 -5
  124. package/dist/scripts/agent-real-codex-parallel-workers-5-check.js +0 -5
  125. package/dist/scripts/agent-real-codex-parallel-workers-check.js +0 -5
  126. package/dist/scripts/agent-role-config-repair-check.js +0 -33
  127. package/dist/scripts/agent-rollback-command-check.js +0 -86
  128. package/dist/scripts/agent-route-truth-backfill-check.js +0 -5
  129. package/dist/scripts/agent-scheduler-proof-check.js +0 -13
  130. package/dist/scripts/agent-scheduler-proof-hardening-check.js +0 -22
  131. package/dist/scripts/agent-session-generation-check.js +0 -21
  132. package/dist/scripts/agent-slot-pane-binding-proof-check.js +0 -64
  133. package/dist/scripts/agent-source-intelligence-propagation-check.js +0 -9
  134. package/dist/scripts/agent-strategy-to-lease-wiring-check.js +0 -32
  135. package/dist/scripts/agent-strategy-to-patch-strict-check.js +0 -54
  136. package/dist/scripts/agent-task-graph-expansion-check.js +0 -14
  137. package/dist/scripts/agent-terminal-generations-check.js +0 -23
  138. package/dist/scripts/agent-visual-consistency-check.js +0 -9
  139. package/dist/scripts/agent-wiki-context-proof-check.js +0 -62
  140. package/dist/scripts/agent-worker-backend-router-check.js +0 -63
  141. package/dist/scripts/agent-worker-scout-limited-check.js +0 -17
  142. package/dist/scripts/agent-zellij-dynamic-backfill-panes-check.js +0 -34
  143. package/dist/scripts/agent-zellij-runtime-check.js +0 -84
  144. package/dist/scripts/all-feature-deep-completion-check.js +0 -31
  145. package/dist/scripts/appshots-capability-check.js +0 -18
  146. package/dist/scripts/appshots-evidence-check.js +0 -48
  147. package/dist/scripts/appshots-operator-policy-check.js +0 -25
  148. package/dist/scripts/appshots-privacy-safety-check.js +0 -48
  149. package/dist/scripts/appshots-source-intelligence-check.js +0 -53
  150. package/dist/scripts/appshots-thread-attachment-discovery-check.js +0 -87
  151. package/dist/scripts/appshots-triwiki-voxel-check.js +0 -46
  152. package/dist/scripts/architecture-guard-check.js +0 -55
  153. package/dist/scripts/changelog-check.js +0 -47
  154. package/dist/scripts/codex-0-133-official-compat-report.js +0 -53
  155. package/dist/scripts/codex-0-134-official-compat-report.js +0 -110
  156. package/dist/scripts/codex-0-134-runner-truth-check.js +0 -66
  157. package/dist/scripts/codex-0-135-compat-check.js +0 -57
  158. package/dist/scripts/codex-0-136-compat-check.js +0 -30
  159. package/dist/scripts/codex-0-137-compat-check.js +0 -27
  160. package/dist/scripts/codex-app-fast-ui-preservation-check.js +0 -32
  161. package/dist/scripts/codex-app-provider-badge-check.js +0 -37
  162. package/dist/scripts/codex-app-ui-clobber-guard-check.js +0 -22
  163. package/dist/scripts/codex-app-ui-preservation-check.js +0 -96
  164. package/dist/scripts/codex-control-all-pipelines-check.js +0 -36
  165. package/dist/scripts/codex-control-capability-check.js +0 -10
  166. package/dist/scripts/codex-control-empty-result-retry-check.js +0 -43
  167. package/dist/scripts/codex-control-event-stream-ledger-check.js +0 -10
  168. package/dist/scripts/codex-control-keepalive-no-cot-leak-check.js +0 -14
  169. package/dist/scripts/codex-control-no-legacy-fallback-check.js +0 -31
  170. package/dist/scripts/codex-control-side-effect-scope-check.js +0 -26
  171. package/dist/scripts/codex-control-stream-idle-watchdog-check.js +0 -18
  172. package/dist/scripts/codex-control-structured-output-check.js +0 -11
  173. package/dist/scripts/codex-control-thread-registry-check.js +0 -11
  174. package/dist/scripts/codex-control-tool-call-sequence-repair-check.js +0 -14
  175. package/dist/scripts/codex-environment-scoped-approvals-check.js +0 -10
  176. package/dist/scripts/codex-exec-output-schema-actual-syntax-check.js +0 -33
  177. package/dist/scripts/codex-fast-mode-profile-propagation-check.js +0 -12
  178. package/dist/scripts/codex-history-search-check.js +0 -19
  179. package/dist/scripts/codex-hook-semantic-check.js +0 -15
  180. package/dist/scripts/codex-hook-strict-subset-check.js +0 -61
  181. package/dist/scripts/codex-lb-config-toml-safety-check.js +0 -85
  182. package/dist/scripts/codex-lb-persistence-truth-check.js +0 -96
  183. package/dist/scripts/codex-lb-setup-fixture-check.js +0 -91
  184. package/dist/scripts/codex-lb-setup-truthfulness-check.js +0 -84
  185. package/dist/scripts/codex-legacy-profile-consumers-removed-check.js +0 -24
  186. package/dist/scripts/codex-managed-proxy-env-check.js +0 -17
  187. package/dist/scripts/codex-output-schema-fixture-check.js +0 -25
  188. package/dist/scripts/codex-permission-profiles-check.js +0 -36
  189. package/dist/scripts/codex-plugin-list-json-check.js +0 -8
  190. package/dist/scripts/codex-profile-primary-check.js +0 -13
  191. package/dist/scripts/codex-project-config-policy-splitter-check.js +0 -51
  192. package/dist/scripts/codex-resume-cwd-truth-check.js +0 -17
  193. package/dist/scripts/codex-sdk-all-pipelines-check.js +0 -32
  194. package/dist/scripts/codex-sdk-backend-router-check.js +0 -65
  195. package/dist/scripts/codex-sdk-capability-check.js +0 -11
  196. package/dist/scripts/codex-sdk-core-skill-pipeline-check.js +0 -9
  197. package/dist/scripts/codex-sdk-dfix-pipeline-check.js +0 -9
  198. package/dist/scripts/codex-sdk-event-stream-ledger-check.js +0 -9
  199. package/dist/scripts/codex-sdk-no-legacy-fallback-check.js +0 -33
  200. package/dist/scripts/codex-sdk-qa-pipeline-check.js +0 -8
  201. package/dist/scripts/codex-sdk-real-smoke-check.js +0 -39
  202. package/dist/scripts/codex-sdk-release-review-pipeline-check.js +0 -13
  203. package/dist/scripts/codex-sdk-research-pipeline-check.js +0 -15
  204. package/dist/scripts/codex-sdk-sandbox-policy-check.js +0 -21
  205. package/dist/scripts/codex-sdk-structured-output-check.js +0 -10
  206. package/dist/scripts/codex-sdk-team-naruto-agent-pipeline-check.js +0 -12
  207. package/dist/scripts/codex-sdk-thread-registry-check.js +0 -11
  208. package/dist/scripts/codex-sdk-ux-ppt-review-pipeline-check.js +0 -9
  209. package/dist/scripts/codex-sdk-zellij-pane-binding-check.js +0 -13
  210. package/dist/scripts/codex-thread-runtime-choice-check.js +0 -10
  211. package/dist/scripts/codex-web-adapter-check.js +0 -12
  212. package/dist/scripts/computer-use-live-evidence-check.js +0 -55
  213. package/dist/scripts/computer-use-live-optional-check.js +0 -32
  214. package/dist/scripts/computer-use-policy-check.js +0 -69
  215. package/dist/scripts/computer-use-visual-route-fixture-check.js +0 -37
  216. package/dist/scripts/core-skill-card-schema-check.js +0 -61
  217. package/dist/scripts/core-skill-deployment-snapshot-check.js +0 -54
  218. package/dist/scripts/core-skill-heldout-validation-check.js +0 -49
  219. package/dist/scripts/core-skill-no-inference-optimizer-check.js +0 -75
  220. package/dist/scripts/core-skill-patch-check.js +0 -79
  221. package/dist/scripts/core-skill-promotion-side-effect-ledger-check.js +0 -64
  222. package/dist/scripts/core-skill-rollout-scoring-check.js +0 -72
  223. package/dist/scripts/core-skill-route-runtime-integration-check.js +0 -49
  224. package/dist/scripts/dfix-fast-blackbox-check.js +0 -37
  225. package/dist/scripts/dfix-fast-kernel-check.js +0 -26
  226. package/dist/scripts/dfix-fixture-check.js +0 -6
  227. package/dist/scripts/dfix-parallel-write-blackbox.js +0 -48
  228. package/dist/scripts/dfix-patch-handoff-check.js +0 -13
  229. package/dist/scripts/dfix-patch-swarm-route-blackbox.js +0 -10
  230. package/dist/scripts/dfix-performance-check.js +0 -15
  231. package/dist/scripts/dfix-verification-check.js +0 -9
  232. package/dist/scripts/dfix-verification-recommendation-check.js +0 -15
  233. package/dist/scripts/docs-truthfulness-check.js +0 -61
  234. package/dist/scripts/doctor-codex-doctor-parity-check.js +0 -17
  235. package/dist/scripts/doctor-fix-proves-codex-read-check.js +0 -64
  236. package/dist/scripts/doctor-fix-recovers-corrupted-config-check.js +0 -122
  237. package/dist/scripts/doctor-fixes-codex-app-fast-ui-check.js +0 -39
  238. package/dist/scripts/evidence-fixture-check.js +0 -26
  239. package/dist/scripts/evidence-flagship-coverage-check.js +0 -55
  240. package/dist/scripts/fake-real-proof-policy-v2-check.js +0 -27
  241. package/dist/scripts/fake-vs-real-proof-policy-check.js +0 -14
  242. package/dist/scripts/fast-codex-service-tier-proof-check.js +0 -42
  243. package/dist/scripts/flagship-proof-graph-v2-check.js +0 -48
  244. package/dist/scripts/flagship-proof-graph-v3-check.js +0 -67
  245. package/dist/scripts/flagship-proof-graph-v4-check.js +0 -61
  246. package/dist/scripts/git-precommit-fixture-check.js +0 -41
  247. package/dist/scripts/git-worktree-cache-performance-check.js +0 -25
  248. package/dist/scripts/git-worktree-capability-check.js +0 -27
  249. package/dist/scripts/git-worktree-checkpoint-check.js +0 -20
  250. package/dist/scripts/git-worktree-cleanup-check.js +0 -27
  251. package/dist/scripts/git-worktree-cross-rebase-check.js +0 -39
  252. package/dist/scripts/git-worktree-diff-envelope-check.js +0 -17
  253. package/dist/scripts/git-worktree-diff-export-check.js +0 -43
  254. package/dist/scripts/git-worktree-dirty-lock-check.js +0 -17
  255. package/dist/scripts/git-worktree-dirty-main-detection-check.js +0 -14
  256. package/dist/scripts/git-worktree-integration-primary-check.js +0 -24
  257. package/dist/scripts/git-worktree-integration-primary-runtime-check.js +0 -20
  258. package/dist/scripts/git-worktree-manager-check.js +0 -37
  259. package/dist/scripts/git-worktree-manifest-append-check.js +0 -18
  260. package/dist/scripts/git-worktree-merge-queue-check.js +0 -31
  261. package/dist/scripts/git-worktree-pool-performance-check.js +0 -20
  262. package/dist/scripts/git-worktree-untracked-diff-check.js +0 -18
  263. package/dist/scripts/goal-mode-official-default-check.js +0 -12
  264. package/dist/scripts/gpt-final-arbiter-check.js +0 -63
  265. package/dist/scripts/gpt-final-arbiter-performance-check.js +0 -36
  266. package/dist/scripts/gpt-image-2-request-validator-check.js +0 -35
  267. package/dist/scripts/hooks-0.134-context-parity-check.js +0 -20
  268. package/dist/scripts/hooks-actual-parity-check.js +0 -17
  269. package/dist/scripts/hooks-actual-parity-v2-check.js +0 -21
  270. package/dist/scripts/hooks-latest-schema-check.js +0 -20
  271. package/dist/scripts/hooks-managed-install-fixture-check.js +0 -21
  272. package/dist/scripts/hooks-official-hash-oracle-check.js +0 -35
  273. package/dist/scripts/hooks-official-hash-parity-check.js +0 -17
  274. package/dist/scripts/hooks-subagent-events-check.js +0 -17
  275. package/dist/scripts/hooks-trust-state-check.js +0 -14
  276. package/dist/scripts/image-fidelity-fixture-check.js +0 -24
  277. package/dist/scripts/imagegen-capability-check.js +0 -30
  278. package/dist/scripts/imagegen-real-smoke-check.js +0 -155
  279. package/dist/scripts/install-update-preserves-config-check.js +0 -87
  280. package/dist/scripts/json-schema-recursive-check.js +0 -78
  281. package/dist/scripts/legacy-multiagent-removal-check.js +0 -85
  282. package/dist/scripts/legacy-upgrade-matrix-check.js +0 -300
  283. package/dist/scripts/local-collab-all-pipelines-final-gpt-check.js +0 -21
  284. package/dist/scripts/local-collab-gpt-final-availability-check.js +0 -58
  285. package/dist/scripts/local-collab-no-local-only-final-check.js +0 -27
  286. package/dist/scripts/local-collab-policy-check.js +0 -17
  287. package/dist/scripts/local-collab-worktree-gpt-final-apply-policy-check.js +0 -63
  288. package/dist/scripts/local-llm-all-pipelines-check.js +0 -11
  289. package/dist/scripts/local-llm-cache-performance-check.js +0 -10
  290. package/dist/scripts/local-llm-capability-check.js +0 -14
  291. package/dist/scripts/local-llm-smoke-check.js +0 -23
  292. package/dist/scripts/local-llm-structured-output-check.js +0 -11
  293. package/dist/scripts/local-llm-throughput-check.js +0 -10
  294. package/dist/scripts/local-llm-tool-call-repair-check.js +0 -10
  295. package/dist/scripts/local-llm-warmup-check.js +0 -11
  296. package/dist/scripts/loop-blocker-check.js +0 -15
  297. package/dist/scripts/mad-preflight-blocks-unreadable-config-check.js +0 -35
  298. package/dist/scripts/mad-sks-actual-executor-blackbox.js +0 -5
  299. package/dist/scripts/mad-sks-app-ui-no-mutation-check.js +0 -92
  300. package/dist/scripts/mad-sks-audit-proof-check.js +0 -34
  301. package/dist/scripts/mad-sks-db-executor-check.js +0 -5
  302. package/dist/scripts/mad-sks-executor-proof-graph-check.js +0 -5
  303. package/dist/scripts/mad-sks-fast-mode-propagation-check.js +0 -24
  304. package/dist/scripts/mad-sks-file-write-executor-check.js +0 -5
  305. package/dist/scripts/mad-sks-immutable-harness-check.js +0 -36
  306. package/dist/scripts/mad-sks-no-harness-modification-check.js +0 -25
  307. package/dist/scripts/mad-sks-package-executor-check.js +0 -5
  308. package/dist/scripts/mad-sks-permission-model-check.js +0 -22
  309. package/dist/scripts/mad-sks-rollback-apply-check.js +0 -5
  310. package/dist/scripts/mad-sks-service-executor-check.js +0 -5
  311. package/dist/scripts/mad-sks-shell-executor-check.js +0 -5
  312. package/dist/scripts/mad-sks-write-guard-check.js +0 -28
  313. package/dist/scripts/mad-sks-zellij-default-pane-worker-check.js +0 -37
  314. package/dist/scripts/mad-sks-zellij-launch-check.js +0 -102
  315. package/dist/scripts/mcp-0-134-modernization-check.js +0 -55
  316. package/dist/scripts/mcp-readonly-concurrency-check.js +0 -17
  317. package/dist/scripts/mcp-readonly-runtime-scheduler-check.js +0 -20
  318. package/dist/scripts/mcp-tool-naming-parity-check.js +0 -16
  319. package/dist/scripts/memory-summary-rebuild-check.js +0 -22
  320. package/dist/scripts/mutation-callsite-coverage-check.js +0 -180
  321. package/dist/scripts/naruto-active-pool-check.js +0 -39
  322. package/dist/scripts/naruto-actual-worker-control-plane-check.js +0 -56
  323. package/dist/scripts/naruto-allocation-policy-check.js +0 -33
  324. package/dist/scripts/naruto-allocation-runtime-wiring-check.js +0 -92
  325. package/dist/scripts/naruto-concurrency-governor-check.js +0 -53
  326. package/dist/scripts/naruto-extreme-parallelism-check.js +0 -22
  327. package/dist/scripts/naruto-extreme-parallelism-real-check.js +0 -43
  328. package/dist/scripts/naruto-gpt-final-pack-check.js +0 -34
  329. package/dist/scripts/naruto-orchestrator-runtime-source-check.js +0 -70
  330. package/dist/scripts/naruto-parallel-patch-apply-check.js +0 -41
  331. package/dist/scripts/naruto-readonly-routing-check.js +0 -116
  332. package/dist/scripts/naruto-real-active-pool-check.js +0 -39
  333. package/dist/scripts/naruto-real-active-pool-runtime-check.js +0 -55
  334. package/dist/scripts/naruto-rebalance-policy-check.js +0 -41
  335. package/dist/scripts/naruto-role-distribution-check.js +0 -23
  336. package/dist/scripts/naruto-shadow-clone-swarm-check.js +0 -153
  337. package/dist/scripts/naruto-verification-pool-check.js +0 -36
  338. package/dist/scripts/naruto-work-graph-check.js +0 -24
  339. package/dist/scripts/naruto-worktree-coding-blackbox.js +0 -29
  340. package/dist/scripts/naruto-worktree-coding-check.js +0 -44
  341. package/dist/scripts/naruto-worktree-gpt-final-check.js +0 -45
  342. package/dist/scripts/naruto-worktree-zellij-ui-check.js +0 -28
  343. package/dist/scripts/naruto-zellij-dynamic-right-column-check.js +0 -48
  344. package/dist/scripts/naruto-zellij-massive-ui-check.js +0 -23
  345. package/dist/scripts/non-recursive-pipeline-check.js +0 -68
  346. package/dist/scripts/npm-publish-performance-check.js +0 -65
  347. package/dist/scripts/official-docs-compat-report.js +0 -304
  348. package/dist/scripts/packlist-performance-check.js +0 -83
  349. package/dist/scripts/parallel-verification-engine-check.js +0 -85
  350. package/dist/scripts/postinstall-safe-side-effects-check.js +0 -65
  351. package/dist/scripts/ppt-full-e2e-artifact-graph-check.js +0 -40
  352. package/dist/scripts/ppt-full-e2e-blackbox-check.js +0 -109
  353. package/dist/scripts/ppt-image-voxel-relations-check.js +0 -9
  354. package/dist/scripts/ppt-imagegen-blackbox-check.js +0 -46
  355. package/dist/scripts/ppt-imagegen-review-fixture-check.js +0 -6
  356. package/dist/scripts/ppt-issue-extraction-fixture-check.js +0 -7
  357. package/dist/scripts/ppt-no-mock-as-real-check.js +0 -8
  358. package/dist/scripts/ppt-no-text-fallback-check.js +0 -7
  359. package/dist/scripts/ppt-proof-trust-fixture-check.js +0 -10
  360. package/dist/scripts/ppt-real-export-adapter-check.js +0 -13
  361. package/dist/scripts/ppt-real-imagegen-smoke-check.js +0 -42
  362. package/dist/scripts/ppt-real-imagegen-wiring-check.js +0 -16
  363. package/dist/scripts/ppt-reexport-rereview-check.js +0 -19
  364. package/dist/scripts/ppt-slide-export-fixture-check.js +0 -7
  365. package/dist/scripts/prepublish-fast-check.js +0 -128
  366. package/dist/scripts/priority-full-closure-check.js +0 -12
  367. package/dist/scripts/product-design-auto-install-check.js +0 -119
  368. package/dist/scripts/product-design-plugin-routing-check.js +0 -101
  369. package/dist/scripts/prompt-placeholder-guard-check.js +0 -33
  370. package/dist/scripts/provider-badge-context-check.js +0 -26
  371. package/dist/scripts/provider-context-config-toml-check.js +0 -63
  372. package/dist/scripts/python-codex-sdk-all-pipelines-check.js +0 -47
  373. package/dist/scripts/python-codex-sdk-capability-check.js +0 -75
  374. package/dist/scripts/python-codex-sdk-sandbox-policy-check.js +0 -10
  375. package/dist/scripts/python-codex-sdk-stream-bridge-check.js +0 -12
  376. package/dist/scripts/python-tools-smoke-check.js +0 -71
  377. package/dist/scripts/qa-actual-route-backfill-check.js +0 -5
  378. package/dist/scripts/qa-backfill-route-blackbox.js +0 -5
  379. package/dist/scripts/qa-patch-swarm-route-blackbox.js +0 -10
  380. package/dist/scripts/readme-architecture-imagegen-official-check.js +0 -448
  381. package/dist/scripts/release-cache-glob-hashing-check.js +0 -42
  382. package/dist/scripts/release-dag-full-coverage-check.js +0 -53
  383. package/dist/scripts/release-dist-freshness-check.js +0 -8
  384. package/dist/scripts/release-dynamic-performance-check.js +0 -103
  385. package/dist/scripts/release-gate-budget-check.js +0 -36
  386. package/dist/scripts/release-gate-dag-runner-check.js +0 -17
  387. package/dist/scripts/release-metadata-1-11-check.js +0 -37
  388. package/dist/scripts/release-metadata-1-12-check.js +0 -48
  389. package/dist/scripts/release-metadata-1-13-check.js +0 -53
  390. package/dist/scripts/release-metadata-1-14-check.js +0 -63
  391. package/dist/scripts/release-metadata-1-16-check.js +0 -81
  392. package/dist/scripts/release-metadata-1-17-check.js +0 -51
  393. package/dist/scripts/release-metadata-1-19-check.js +0 -371
  394. package/dist/scripts/release-metadata-check.js +0 -7
  395. package/dist/scripts/release-native-agent-fixture-check.js +0 -41
  396. package/dist/scripts/release-parallel-check.js +0 -374
  397. package/dist/scripts/release-parallel-full-coverage-check.js +0 -13
  398. package/dist/scripts/release-parallel-speed-budget-check.js +0 -79
  399. package/dist/scripts/release-provenance-check.js +0 -150
  400. package/dist/scripts/release-readiness-report.js +0 -1146
  401. package/dist/scripts/release-real-check.js +0 -330
  402. package/dist/scripts/release-registry-check.js +0 -344
  403. package/dist/scripts/release-runtime-truth-matrix-check.js +0 -47
  404. package/dist/scripts/release-stability-report-check.js +0 -99
  405. package/dist/scripts/release-version-truth-check.js +0 -134
  406. package/dist/scripts/research-actual-route-backfill-check.js +0 -5
  407. package/dist/scripts/research-backfill-route-blackbox.js +0 -5
  408. package/dist/scripts/research-quality-gate-check.js +0 -86
  409. package/dist/scripts/responses-retry-policy-centralized-check.js +0 -19
  410. package/dist/scripts/retention-cleanup-safety-check.js +0 -155
  411. package/dist/scripts/route-blackbox-realism-check.js +0 -21
  412. package/dist/scripts/route-proof-artifact-structure-check.js +0 -145
  413. package/dist/scripts/runtime-dist-parity-check.js +0 -78
  414. package/dist/scripts/runtime-no-mjs-scripts-check.js +0 -45
  415. package/dist/scripts/runtime-no-src-mjs-check.js +0 -32
  416. package/dist/scripts/runtime-no-tmux-check.js +0 -113
  417. package/dist/scripts/runtime-ts-python-boundary-check.js +0 -59
  418. package/dist/scripts/runtime-ts-rust-boundary-check.js +0 -74
  419. package/dist/scripts/runtime-ts-source-of-truth-check.js +0 -55
  420. package/dist/scripts/safety-check.js +0 -23
  421. package/dist/scripts/shared-memory-fixture-check.js +0 -27
  422. package/dist/scripts/side-effect-runtime-report-check.js +0 -19
  423. package/dist/scripts/side-effect-zero-gate-check.js +0 -226
  424. package/dist/scripts/sks-1-11-fixture-check.js +0 -130
  425. package/dist/scripts/source-intelligence-all-modes-check.js +0 -32
  426. package/dist/scripts/source-intelligence-policy-check.js +0 -13
  427. package/dist/scripts/strategy-adhd-orchestrating-gate-check.js +0 -22
  428. package/dist/scripts/strategy-file-ownership-plan-check.js +0 -18
  429. package/dist/scripts/strategy-parallel-modification-plan-check.js +0 -19
  430. package/dist/scripts/strategy-verification-rollback-dag-check.js +0 -19
  431. package/dist/scripts/team-actual-route-backfill-check.js +0 -5
  432. package/dist/scripts/team-backfill-route-blackbox.js +0 -5
  433. package/dist/scripts/team-parallel-write-blackbox.js +0 -55
  434. package/dist/scripts/team-patch-swarm-route-blackbox.js +0 -10
  435. package/dist/scripts/terminal-keyboard-enhancement-safety-check.js +0 -12
  436. package/dist/scripts/terminal-tui-output-stability-check.js +0 -35
  437. package/dist/scripts/test-no-orphan-dist-imports-check.js +0 -73
  438. package/dist/scripts/trust-fixture-check.js +0 -33
  439. package/dist/scripts/typescript-migration-report.js +0 -78
  440. package/dist/scripts/ultra-router-auto-router-check.js +0 -33
  441. package/dist/scripts/ultra-router-classification-check.js +0 -28
  442. package/dist/scripts/ux-patch-swarm-route-blackbox.js +0 -10
  443. package/dist/scripts/ux-ppt-structured-extraction-check.js +0 -21
  444. package/dist/scripts/ux-review-extract-real-callouts-fixture-check.js +0 -8
  445. package/dist/scripts/ux-review-extract-wires-real-extractor-check.js +0 -15
  446. package/dist/scripts/ux-review-generate-callouts-fixture-check.js +0 -9
  447. package/dist/scripts/ux-review-image-voxel-relations-check.js +0 -31
  448. package/dist/scripts/ux-review-imagegen-blackbox-check.js +0 -67
  449. package/dist/scripts/ux-review-no-fake-callouts-check.js +0 -8
  450. package/dist/scripts/ux-review-no-text-fallback-check.js +0 -25
  451. package/dist/scripts/ux-review-patch-diff-recheck-check.js +0 -20
  452. package/dist/scripts/ux-review-patch-handoff-fixture-check.js +0 -8
  453. package/dist/scripts/ux-review-real-imagegen-smoke-check.js +0 -31
  454. package/dist/scripts/ux-review-real-loop-fixture-check.js +0 -24
  455. package/dist/scripts/ux-review-recapture-recheck-fixture-check.js +0 -8
  456. package/dist/scripts/ux-review-run-wires-imagegen-check.js +0 -11
  457. package/dist/scripts/worker-pane-communication-contract-check.js +0 -54
  458. package/dist/scripts/wrongness-fixture-check.js +0 -65
  459. package/dist/scripts/xai-mcp-capability-check.js +0 -14
  460. package/dist/scripts/zellij-capability-check.js +0 -15
  461. package/dist/scripts/zellij-dashboard-pane-check.js +0 -70
  462. package/dist/scripts/zellij-developer-controls-check.js +0 -20
  463. package/dist/scripts/zellij-doctor-readiness-check.js +0 -63
  464. package/dist/scripts/zellij-dynamic-pane-lifecycle-check.js +0 -21
  465. package/dist/scripts/zellij-first-slot-down-stack-check.js +0 -20
  466. package/dist/scripts/zellij-first-slot-down-stack-real-check.js +0 -356
  467. package/dist/scripts/zellij-initial-main-only-blackbox.js +0 -28
  468. package/dist/scripts/zellij-lane-renderer-check.js +0 -65
  469. package/dist/scripts/zellij-launch-command-truth-check.js +0 -75
  470. package/dist/scripts/zellij-layout-valid-check.js +0 -90
  471. package/dist/scripts/zellij-pane-proof-check.js +0 -59
  472. package/dist/scripts/zellij-real-session-cleanup-check.js +0 -21
  473. package/dist/scripts/zellij-real-session-heartbeat-check.js +0 -49
  474. package/dist/scripts/zellij-real-session-launch-check.js +0 -57
  475. package/dist/scripts/zellij-right-column-headless-overflow-check.js +0 -22
  476. package/dist/scripts/zellij-right-column-manager-check.js +0 -27
  477. package/dist/scripts/zellij-screen-proof-check.js +0 -45
  478. package/dist/scripts/zellij-slot-column-anchor-check.js +0 -66
  479. package/dist/scripts/zellij-slot-only-ui-check.js +0 -26
  480. package/dist/scripts/zellij-slot-pane-renderer-check.js +0 -106
  481. package/dist/scripts/zellij-slot-renderer-proof-semantics-check.js +0 -59
  482. package/dist/scripts/zellij-spawn-on-demand-layout-check.js +0 -40
  483. package/dist/scripts/zellij-ui-design-check.js +0 -105
  484. package/dist/scripts/zellij-worker-pane-manager-check.js +0 -109
  485. package/dist/scripts/zellij-worker-pane-manager-single-owner-check.js +0 -47
  486. package/dist/scripts/zellij-worker-pane-real-ui-blackbox.js +0 -202
  487. package/dist/scripts/zellij-worker-pane-spawn-order-check.js +0 -35
  488. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/permission-request.command.input.schema.json +0 -61
  489. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/permission-request.command.output.schema.json +0 -103
  490. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-compact.command.input.schema.json +0 -52
  491. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-compact.command.output.schema.json +0 -24
  492. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-tool-use.command.input.schema.json +0 -67
  493. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-tool-use.command.output.schema.json +0 -84
  494. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-compact.command.input.schema.json +0 -52
  495. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-compact.command.output.schema.json +0 -24
  496. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-tool-use.command.input.schema.json +0 -65
  497. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-tool-use.command.output.schema.json +0 -105
  498. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/session-start.command.input.schema.json +0 -59
  499. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/session-start.command.output.schema.json +0 -63
  500. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/snapshot-metadata.json +0 -31
  501. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/stop.command.input.schema.json +0 -63
  502. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/stop.command.output.schema.json +0 -45
  503. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/user-prompt-submit.command.input.schema.json +0 -59
  504. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/user-prompt-submit.command.output.schema.json +0 -81
@@ -1,96 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- // SKS must never remove/block/hide the Codex App UI. normalizeCodexFastModeUiConfig now:
4
- // - sets Codex App feature flags / [user.fast_mode] / suppress-warning ONLY IF ABSENT
5
- // (never re-enables a feature the user disabled in the App),
6
- // - never auto-enables marketplace plugins by default (opt-in SKS_MANAGE_CODEX_APP_PLUGINS=1),
7
- // - still seeds defaults on a fresh/empty config (fresh-install enablement preserved).
8
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
9
- const helpers = await importDist('cli/install-helpers.js');
10
- const normalize = helpers.normalizeCodexFastModeUiConfig;
11
- function featureValue(text, key) {
12
- const lines = String(text).split('\n');
13
- const start = lines.findIndex((l) => l.trim() === '[features]');
14
- if (start === -1)
15
- return undefined;
16
- for (let i = start + 1; i < lines.length; i += 1) {
17
- if (/^\s*\[.+\]\s*$/.test(lines[i]))
18
- break;
19
- const m = lines[i].match(new RegExp(`^\\s*${key}\\s*=\\s*(\\S+)`));
20
- if (m)
21
- return m[1];
22
- }
23
- return undefined;
24
- }
25
- const hasPluginTables = (text) => /\[plugins\."[^"]+"\]/.test(String(text));
26
- const results = [];
27
- const prevEnv = process.env.SKS_MANAGE_CODEX_APP_PLUGINS;
28
- delete process.env.SKS_MANAGE_CODEX_APP_PLUGINS;
29
- // 1) A feature the user disabled in the App must stay disabled (no override).
30
- {
31
- const user = '[features]\nguardian_approval = false\nbrowser_use_external = false\n';
32
- const out = normalize(user);
33
- const ok = featureValue(out, 'guardian_approval') === 'false' && featureValue(out, 'browser_use_external') === 'false';
34
- results.push({ case: 'preserves_disabled_features', ok, guardian: featureValue(out, 'guardian_approval') });
35
- }
36
- // 2) Default install must NOT auto-enable any marketplace plugins.
37
- {
38
- const out = normalize('model = "gpt-5.5"\n');
39
- results.push({ case: 'no_plugins_by_default', ok: !hasPluginTables(out) });
40
- }
41
- // 3) A user's disabled plugin must be left untouched (not reverted to enabled).
42
- {
43
- const user = '[plugins."chrome@openai-bundled"]\nenabled = false\n';
44
- const out = normalize(user);
45
- const ok = /\[plugins\."chrome@openai-bundled"\][\s\S]*enabled = false/.test(out);
46
- results.push({ case: 'preserves_user_disabled_plugin', ok });
47
- }
48
- // 4) suppress_unstable_features_warning is not forced over a user's explicit false.
49
- {
50
- const out = normalize('suppress_unstable_features_warning = false\n');
51
- results.push({ case: 'preserves_user_suppress_choice', ok: /suppress_unstable_features_warning = false/.test(out) });
52
- }
53
- // 5) Fresh/empty config still gets [features] + hooks + [profiles.sks-fast-high] (fresh enablement).
54
- {
55
- const out = normalize('');
56
- const fastProfile = tableBody(out, 'profiles.sks-fast-high');
57
- const ok = /\[features\]/.test(out)
58
- && featureValue(out, 'hooks') === 'true'
59
- && /\[profiles\.sks-fast-high\]/.test(out)
60
- && /service_tier\s*=\s*"fast"/.test(fastProfile)
61
- && !/sandbox_mode\s*=/.test(fastProfile);
62
- results.push({ case: 'fresh_config_seeds_defaults', ok });
63
- }
64
- // 6) Opt-in enables plugins on a fresh config, but still preserves a user-disabled one.
65
- {
66
- process.env.SKS_MANAGE_CODEX_APP_PLUGINS = '1';
67
- const fresh = normalize('model = "gpt-5.5"\n');
68
- const userDisabled = normalize('[plugins."chrome@openai-bundled"]\nenabled = false\n');
69
- delete process.env.SKS_MANAGE_CODEX_APP_PLUGINS;
70
- const ok = hasPluginTables(fresh) && /\[plugins\."chrome@openai-bundled"\][\s\S]*enabled = false/.test(userDisabled);
71
- results.push({ case: 'optin_enables_but_preserves_user', ok });
72
- }
73
- if (prevEnv === undefined)
74
- delete process.env.SKS_MANAGE_CODEX_APP_PLUGINS;
75
- else
76
- process.env.SKS_MANAGE_CODEX_APP_PLUGINS = prevEnv;
77
- const ok = results.every((r) => r.ok);
78
- if (!ok) {
79
- console.error(JSON.stringify({ ok: false, message: 'Codex App UI preservation regression failed', results }, null, 2));
80
- process.exit(1);
81
- }
82
- emitGate('codex-app:ui-preservation', { cases: results.map((r) => r.case) });
83
- function tableBody(text, table) {
84
- const lines = String(text || '').split('\n');
85
- const start = lines.findIndex((line) => line.trim() === `[${table}]`);
86
- if (start < 0)
87
- return '';
88
- const body = [];
89
- for (let i = start + 1; i < lines.length; i += 1) {
90
- if (/^\s*\[.+\]\s*$/.test(lines[i]))
91
- break;
92
- body.push(lines[i]);
93
- }
94
- return body.join('\n');
95
- }
96
- //# sourceMappingURL=codex-app-ui-preservation-check.js.map
@@ -1,36 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, packageScripts, readText, runFakeCodexSdkTaskFixture } from './lib/codex-sdk-gate-lib.js';
4
- const scripts = packageScripts();
5
- const required = [
6
- 'codex-control:capability',
7
- 'codex-control:no-legacy-fallback',
8
- 'codex-control:structured-output',
9
- 'codex-control:event-stream-ledger',
10
- 'codex-control:thread-registry',
11
- 'codex-control:side-effect-scope',
12
- 'codex-control:empty-result-retry',
13
- 'codex-control:stream-idle-watchdog',
14
- 'codex-control:tool-call-sequence-repair',
15
- 'codex-control:keepalive-no-cot-leak'
16
- ];
17
- for (const name of required)
18
- assertGate(Boolean(scripts[name]), `required control gate missing: ${name}`);
19
- const sources = {
20
- team: readText('src/core/commands/team-command.ts'),
21
- qa: readText('src/core/commands/qa-loop-command.ts'),
22
- research: readText('src/core/commands/research-command.ts'),
23
- naruto: readText('src/core/commands/naruto-command.ts'),
24
- dfix: readText('src/core/commands/dfix-command.ts'),
25
- workerRouter: readText('src/core/agents/native-worker-backend-router.ts')
26
- };
27
- assertGate(sources.team.includes("mock ? 'fake' : 'codex-sdk'"), 'Team must route native agents through codex control backend');
28
- assertGate(sources.qa.includes("mock ? 'fake' : 'codex-sdk'"), 'QA must route native agents through codex control backend');
29
- assertGate(sources.research.includes("mock ? 'fake' : 'codex-sdk'"), 'Research must route native agents through codex control backend');
30
- assertGate(sources.naruto.includes("backend: 'codex-sdk'"), 'Naruto defaults must name codex-sdk control backend');
31
- assertGate(sources.workerRouter.includes('runCodexTask({'), 'native worker router must call runCodexTask');
32
- const fixture = await runFakeCodexSdkTaskFixture('control-all-pipelines');
33
- assertGate(fixture.result.ok === true, 'all pipeline control fixture must pass', fixture.result);
34
- assertGate(fixture.proof.reliability_shield?.ok === true, 'all pipeline fixture must include reliability shield proof', fixture.proof);
35
- emitGate('codex-control:all-pipelines', { scripts: required.length, sdk_thread_id: fixture.result.sdkThreadId });
36
- //# sourceMappingURL=codex-control-all-pipelines-check.js.map
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const mod = await importDist('core/codex-control/codex-sdk-capability.js');
5
- const capability = await mod.detectCodexSdkCapability();
6
- assertGate(capability.ok, 'Codex Control Plane requires Codex SDK capability', capability);
7
- assertGate(capability.package_name === '@openai/codex-sdk', 'Codex SDK package name mismatch', capability);
8
- assertGate(capability.dynamic_import_ok === true, 'Codex SDK dynamic import failed', capability);
9
- emitGate('codex-control:capability', { package_version: capability.package_version, node_version: capability.node_version });
10
- //# sourceMappingURL=codex-control-capability-check.js.map
@@ -1,43 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const mod = await importDist('core/codex-control/codex-reliability-shield.js');
5
- let attempts = 0;
6
- const result = await mod.runWithCodexReliabilityShield(baseTask(), async () => {
7
- attempts += 1;
8
- if (attempts === 1)
9
- return { ok: false, events: [], finalResponse: '', structuredOutput: null, blockers: [] };
10
- return {
11
- ok: true,
12
- sdkThreadId: 'sdk-thread-empty-retry',
13
- sdkRunId: 'sdk-run-empty-retry',
14
- events: [
15
- { type: 'thread.started', thread_id: 'sdk-thread-empty-retry' },
16
- { type: 'item.completed', item: { type: 'agent_message', text: '{"status":"done"}' } },
17
- { type: 'turn.completed' }
18
- ],
19
- finalResponse: '{"status":"done"}',
20
- structuredOutput: { status: 'done' },
21
- blockers: []
22
- };
23
- });
24
- assertGate(attempts === 2, 'empty SDK result must retry once before meaningful output', { attempts, result });
25
- assertGate(result.reliabilityShield.retry_count === 1, 'retry count mismatch', result.reliabilityShield);
26
- assertGate(result.reliabilityShield.no_duplicate_streamed_output === true, 'empty retry must not duplicate meaningful output', result.reliabilityShield);
27
- emitGate('codex-control:empty-result-retry', { attempts, retry_count: result.reliabilityShield.retry_count });
28
- function baseTask() {
29
- return {
30
- route: '$Agent',
31
- tier: 'worker',
32
- missionId: 'M-empty-result-retry',
33
- cwd: process.cwd(),
34
- prompt: 'empty retry fixture',
35
- outputSchemaId: 'sks.agent-worker-result.v1',
36
- outputSchema: {},
37
- sandboxPolicy: 'read-only',
38
- requestedScopeContract: { read_only: true },
39
- reliabilityPolicy: { maxEmptyResultRetries: 1, idleTimeoutMs: 5000, timeoutClass: 'short' },
40
- mutationLedgerRoot: process.cwd()
41
- };
42
- }
43
- //# sourceMappingURL=codex-control-empty-result-retry-check.js.map
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, runFakeCodexSdkTaskFixture } from './lib/codex-sdk-gate-lib.js';
4
- const fixture = await runFakeCodexSdkTaskFixture('control-event-stream');
5
- assertGate(fixture.events.length >= 1, 'Control Plane event ledger must contain translated events', fixture.events);
6
- assertGate(fixture.proof.stream_event_count === fixture.result.streamEventCount, 'proof stream count mismatch', fixture.proof);
7
- assertGate(fixture.proof.translated_event_count === fixture.events.length, 'translated event count mismatch', fixture.proof);
8
- assertGate(fixture.proof.reliability_shield?.attempts?.[0]?.event_count >= 1, 'reliability shield must observe SDK events', fixture.proof);
9
- emitGate('codex-control:event-stream-ledger', { event_count: fixture.events.length, event_types: fixture.result.eventTypes });
10
- //# sourceMappingURL=codex-control-event-stream-ledger-check.js.map
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const shield = await importDist('core/codex-control/codex-reliability-shield.js');
5
- const translator = await importDist('core/codex-control/codex-event-translator.js');
6
- const reasoningEvent = { type: 'reasoning.delta', item: { type: 'reasoning', text: 'private reasoning fixture that must not leak' } };
7
- const heartbeats = shield.buildKeepaliveHeartbeats([reasoningEvent]);
8
- const translated = translator.translateCodexSdkEvent(reasoningEvent);
9
- assertGate(heartbeats.length === 1, 'reasoning events must produce keepalive heartbeats', heartbeats);
10
- assertGate(heartbeats[0].content_redacted === true, 'heartbeat must redact reasoning content', heartbeats);
11
- assertGate(translated.message_tail === '[thinking]', 'translated reasoning event must show status only', translated);
12
- assertGate(!JSON.stringify(heartbeats).includes('private reasoning fixture'), 'heartbeat leaked reasoning content', heartbeats);
13
- emitGate('codex-control:keepalive-no-cot-leak', { heartbeat_count: heartbeats.length, content_redacted: true });
14
- //# sourceMappingURL=codex-control-keepalive-no-cot-leak-check.js.map
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { assertGate, emitGate, readText, root } from './sks-1-18-gate-lib.js';
6
- const runtimeFiles = [
7
- 'src/core/agents/agent-orchestrator.ts',
8
- 'src/core/agents/native-worker-backend-router.ts',
9
- 'src/core/commands/team-command.ts',
10
- 'src/core/commands/qa-loop-command.ts',
11
- 'src/core/commands/research-command.ts',
12
- 'src/core/commands/naruto-command.ts',
13
- 'src/core/commands/mad-sks-command.ts'
14
- ];
15
- const violations = [];
16
- for (const file of runtimeFiles) {
17
- const text = readText(file);
18
- if (text.includes("runCodexExecAgent"))
19
- violations.push(`${file}:runCodexExecAgent`);
20
- if (text.includes("mock ? 'fake' : 'codex-exec'"))
21
- violations.push(`${file}:legacy-default`);
22
- if (text.includes('codex-exec|fake'))
23
- violations.push(`${file}:legacy-help`);
24
- }
25
- const controlFiles = fs.readdirSync(path.join(root, 'src', 'core', 'codex-control'));
26
- assertGate(controlFiles.includes('codex-control-plane.ts'), 'Codex Control Plane source missing');
27
- assertGate(controlFiles.includes('codex-reliability-shield.ts'), 'Codex Reliability Shield source missing');
28
- assertGate(readText('src/core/agents/native-worker-backend-router.ts').includes("legacy_codex_exec_runtime_removed"), 'explicit codex-exec request must block');
29
- assertGate(violations.length === 0, 'legacy Codex exec fallback still reachable', { violations });
30
- emitGate('codex-control:no-legacy-fallback', { checked_files: runtimeFiles.length });
31
- //# sourceMappingURL=codex-control-no-legacy-fallback-check.js.map
@@ -1,26 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const mod = await importDist('core/codex-control/codex-sdk-sandbox-policy.js');
5
- const base = {
6
- route: '$Agent',
7
- tier: 'worker',
8
- missionId: 'M-control-side-effect',
9
- cwd: process.cwd(),
10
- prompt: 'side-effect scope fixture',
11
- outputSchemaId: 'sks.agent-worker-result.v1',
12
- outputSchema: {},
13
- mutationLedgerRoot: process.cwd()
14
- };
15
- const readOnly = mod.mapCodexSdkSandboxPolicy({ ...base, sandboxPolicy: 'read-only', requestedScopeContract: { read_only: true } });
16
- const workspaceMissing = mod.mapCodexSdkSandboxPolicy({ ...base, sandboxPolicy: 'workspace-write', requestedScopeContract: { read_only: false, allowed_paths: [], write_paths: [] } });
17
- const workspaceScoped = mod.mapCodexSdkSandboxPolicy({ ...base, sandboxPolicy: 'workspace-write', requestedScopeContract: { read_only: false, allowed_paths: ['src/core'], write_paths: ['src/core'] } });
18
- const fullBlocked = mod.mapCodexSdkSandboxPolicy({ ...base, sandboxPolicy: 'full-access', requestedScopeContract: { read_only: false, user_confirmed_full_access: true, mad_sks_authorized: false } });
19
- const fullMad = mod.mapCodexSdkSandboxPolicy({ ...base, sandboxPolicy: 'full-access', requestedScopeContract: { read_only: false, user_confirmed_full_access: true, mad_sks_authorized: true } });
20
- assertGate(readOnly.ok && readOnly.sandboxMode === 'read-only', 'read-only sandbox mapping failed', readOnly);
21
- assertGate(!workspaceMissing.ok && workspaceMissing.blockers.includes('codex_sdk_workspace_write_scope_contract_missing'), 'workspace-write must require scoped paths', workspaceMissing);
22
- assertGate(workspaceScoped.ok && workspaceScoped.sandboxMode === 'workspace-write', 'workspace-write scoped mapping failed', workspaceScoped);
23
- assertGate(!fullBlocked.ok && fullBlocked.blockers.includes('codex_sdk_full_access_requires_explicit_mad_scope'), 'full-access must require explicit MAD scope', fullBlocked);
24
- assertGate(fullMad.ok && fullMad.sandboxMode === 'danger-full-access', 'MAD-scoped full access must map to danger-full-access', fullMad);
25
- emitGate('codex-control:side-effect-scope', { read_only: true, workspace_scope_required: true, mad_full_access_required: true });
26
- //# sourceMappingURL=codex-control-side-effect-scope-check.js.map
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const mod = await importDist('core/codex-control/codex-reliability-shield.js');
5
- const policy = { maxEmptyResultRetries: 1, idleTimeoutMs: 1000, timeoutClass: 'short' };
6
- const idleBeforeOutput = mod.evaluateCodexReliabilityAttempt({ ok: false, finalResponse: '', structuredOutput: null, blockers: [] }, [
7
- { type: 'thread.started', ts: '2026-06-03T00:00:00.000Z' },
8
- { type: 'turn.started', ts: '2026-06-03T00:00:02.500Z' }
9
- ], policy, 1);
10
- const idleAfterPartial = mod.evaluateCodexReliabilityAttempt({ ok: false, finalResponse: 'partial', structuredOutput: null, blockers: [] }, [
11
- { type: 'thread.started', ts: '2026-06-03T00:00:00.000Z' },
12
- { type: 'item.completed', ts: '2026-06-03T00:00:00.100Z', item: { type: 'agent_message', text: 'partial' } },
13
- { type: 'turn.started', ts: '2026-06-03T00:00:02.500Z' }
14
- ], policy, 1);
15
- assertGate(idleBeforeOutput.retryable === true && idleBeforeOutput.retry_reason === 'stream_idle_before_meaningful_event', 'idle before output must be retryable', idleBeforeOutput);
16
- assertGate(idleAfterPartial.retryable === false && idleAfterPartial.blockers.includes('codex_reliability_idle_after_partial_output'), 'idle after partial output must block', idleAfterPartial);
17
- emitGate('codex-control:stream-idle-watchdog', { retryable_before_output: true, blocks_after_partial: true });
18
- //# sourceMappingURL=codex-control-stream-idle-watchdog-check.js.map
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, runFakeCodexSdkTaskFixture } from './lib/codex-sdk-gate-lib.js';
4
- const fixture = await runFakeCodexSdkTaskFixture('control-structured-output');
5
- assertGate(fixture.result.ok === true, 'Codex Control Plane fake run must pass', fixture.result);
6
- assertGate(fixture.result.structuredOutputValid === true, 'structured output must validate', fixture.result);
7
- assertGate(fixture.proof.output_schema_id === 'sks.agent-worker-result.v1', 'control proof output schema mismatch', fixture.proof);
8
- assertGate(fixture.proof.reliability_shield?.ok === true, 'reliability shield proof must pass', fixture.proof);
9
- assertGate(fixture.proof.ultra_router?.selected_profile, 'ultra router proof missing from control proof', fixture.proof);
10
- emitGate('codex-control:structured-output', { output_schema_id: fixture.proof.output_schema_id, profile: fixture.proof.ultra_router.selected_profile });
11
- //# sourceMappingURL=codex-control-structured-output-check.js.map
@@ -1,11 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, runFakeCodexSdkTaskFixture } from './lib/codex-sdk-gate-lib.js';
4
- const fixture = await runFakeCodexSdkTaskFixture('control-thread-registry', { zellijPaneId: 'pane-2-0' });
5
- const thread = fixture.registry.threads[0] || {};
6
- assertGate(fixture.registry.thread_count === 1, 'thread registry must record one thread', fixture.registry);
7
- assertGate(thread.sdk_thread_id === fixture.result.sdkThreadId, 'thread registry sdk_thread_id mismatch', { thread, result: fixture.result });
8
- assertGate(thread.zellij_pane_id === 'pane-2-0', 'thread registry must link zellij pane id when present', thread);
9
- assertGate(thread.output_schema_id === 'sks.agent-worker-result.v1', 'thread registry output schema mismatch', thread);
10
- emitGate('codex-control:thread-registry', { thread_count: fixture.registry.thread_count, sdk_thread_id: thread.sdk_thread_id });
11
- //# sourceMappingURL=codex-control-thread-registry-check.js.map
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
4
- const mod = await importDist('core/codex-control/codex-reliability-shield.js');
5
- const repaired = mod.repairToolCallSequence([
6
- { type: 'thread.started' },
7
- { type: 'item.completed', item: { id: 'call-1', type: 'mcp_tool_call', tool: 'fixture' } },
8
- { type: 'item.completed', item: { id: 'call-2', type: 'mcp_tool_call', tool: 'fixture' } },
9
- { type: 'tool_result.completed', item: { tool_call_id: 'call-1', type: 'tool_result', text: 'ok' } }
10
- ]);
11
- assertGate(repaired.repairedToolResultCount === 1, 'one missing parallel tool result must be repaired', repaired);
12
- assertGate(repaired.events.some((event) => event.type === 'tool_result.stubbed' && event.item?.tool_call_id === 'call-2'), 'missing tool result stub not found', repaired);
13
- emitGate('codex-control:tool-call-sequence-repair', { repaired_tool_result_count: repaired.repairedToolResultCount });
14
- //# sourceMappingURL=codex-control-tool-call-sequence-repair-check.js.map
@@ -1,10 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { assertGate, emitGate, readText } from './lib/codex-sdk-gate-lib.js';
4
- const proof = readText('src/core/codex-control/codex-control-proof.ts');
5
- const sandbox = readText('src/core/codex-control/codex-sdk-sandbox-policy.ts');
6
- assertGate(proof.includes('sandbox:'), 'Codex control proof must include sandbox scope');
7
- assertGate(proof.includes('env:'), 'Codex control proof must include environment proof');
8
- assertGate(sandbox.includes('mad_sks_authorized') || sandbox.includes('user_confirmed_full_access'), 'Sandbox policy must include scoped authorization signals');
9
- emitGate('codex:environment-scoped-approvals', { proof: ['sandbox', 'env', 'scoped_authorization'] });
10
- //# sourceMappingURL=codex-environment-scoped-approvals-check.js.map
@@ -1,33 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { pathToFileURL } from 'node:url';
6
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
7
- const freshness = ensureDistFresh({ rebuild: true });
8
- if (!freshness.ok) {
9
- console.log(JSON.stringify({ schema: 'sks.codex-exec-output-schema-actual-syntax-check.v1', ok: false, blocker: 'dist_not_fresh', freshness }, null, 2));
10
- process.exit(1);
11
- }
12
- const mod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'codex-exec-output-schema.js')).href);
13
- const syntax = await mod.detectCodexExecOutputSchemaSyntax();
14
- const schemaPath = path.join(root, 'schemas', 'codex', 'agent-result.schema.json');
15
- const freshArgs = await mod.buildCodexExecOutputSchemaArgs({ prompt: 'Return {}', outputSchemaPath: schemaPath, outputFile: path.join(root, '.sneakoscope', 'tmp', 'codex-fresh.json') });
16
- const resumeArgs = await mod.buildCodexExecResumeOutputSchemaArgs({ sessionId: 'fixture-session', prompt: 'Return {}', outputSchemaPath: schemaPath, outputFile: path.join(root, '.sneakoscope', 'tmp', 'codex-resume.json') });
17
- const report = {
18
- schema: 'sks.codex-exec-output-schema-actual-syntax-check.v1',
19
- ok: syntax.ok && (syntax.status === 'integration_optional' || syntax.exec.output_schema_supported || syntax.resume.output_schema_supported),
20
- syntax,
21
- exec_args_prefix: freshArgs.slice(0, 4),
22
- resume_args_prefix: resumeArgs.slice(0, 5),
23
- exec_output_schema_supported: syntax.exec.output_schema_supported,
24
- exec_resume_output_schema_supported: syntax.resume.output_schema_supported,
25
- degraded_supported: syntax.status === 'degraded_supported'
26
- };
27
- const out = path.join(root, '.sneakoscope', 'reports', 'codex-exec-output-schema-actual-syntax.json');
28
- fs.mkdirSync(path.dirname(out), { recursive: true });
29
- fs.writeFileSync(out, `${JSON.stringify(report, null, 2)}\n`);
30
- console.log(JSON.stringify(report, null, 2));
31
- if (!report.ok)
32
- process.exitCode = 1;
33
- //# sourceMappingURL=codex-exec-output-schema-actual-syntax-check.js.map
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { emitGate } from './sks-1-18-gate-lib.js';
4
- import { runNativeCliSwarmCheck } from './lib/native-cli-session-swarm-check-lib.js';
5
- const report = runNativeCliSwarmCheck({
6
- agents: 1,
7
- workItems: 1,
8
- backend: 'codex-sdk',
9
- reportName: 'codex-fast-mode-profile-propagation.json'
10
- });
11
- emitGate('codex:fast-mode-profile-propagation', { backend: report.backend, service_tier: report.fast_mode_propagation.service_tier });
12
- //# sourceMappingURL=codex-fast-mode-profile-propagation-check.js.map
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { assertGate, emitGate, importDist, root } from './sks-1-18-gate-lib.js';
6
- const mod = await importDist('core/source-intelligence/codex-history-search.js');
7
- const codexHome = path.join(root, '.sneakoscope', 'tmp', 'codex-history-fixture');
8
- const sessionDir = path.join(codexHome, 'sessions');
9
- fs.mkdirSync(sessionDir, { recursive: true });
10
- fs.writeFileSync(path.join(sessionDir, 'session.jsonl'), '{"message":"Ultra Stability search target"}\n{"message":"secondary"}\n');
11
- const report = await mod.searchCodexHistory({ codexHome, query: 'ultra stability', maxFiles: 10, maxResults: 5 });
12
- const out = path.join(root, '.sneakoscope', 'reports', 'codex-history-search.json');
13
- fs.mkdirSync(path.dirname(out), { recursive: true });
14
- fs.writeFileSync(out, `${JSON.stringify(report, null, 2)}\n`);
15
- assertGate(report.ok === true, 'Codex history search report must be ok', report);
16
- assertGate(report.case_insensitive === true, 'Codex history search must default to case-insensitive matching', report);
17
- assertGate(report.results.length === 1, 'Codex history search fixture should find one match', report);
18
- emitGate('source-intelligence:codex-history-search', { results: report.results.length, files_scanned: report.files_scanned });
19
- //# sourceMappingURL=codex-history-search-check.js.map
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { codexHookWarningCheck } from '../core/codex-compat/codex-hook-warning-detector.js';
4
- const result = await codexHookWarningCheck(process.cwd());
5
- console.log(JSON.stringify({
6
- schema: 'sks.codex-hook-semantic-check.v2',
7
- ok: result.ok,
8
- baseline: result.baseline,
9
- warnings_count: result.warnings_count,
10
- issues_by_category: result.issues_by_category,
11
- events: result.events
12
- }, null, 2));
13
- if (!result.ok)
14
- process.exitCode = 1;
15
- //# sourceMappingURL=codex-hook-semantic-check.js.map
@@ -1,61 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import { detectCodexHookOutputWarnings } from '../core/codex-compat/codex-hook-warning-detector.js';
4
- const cases = [
5
- {
6
- name: 'pretooluse_ask',
7
- event: 'PreToolUse',
8
- output: { continue: true, hookSpecificOutput: { hookEventName: 'PreToolUse', permissionDecision: 'ask' } },
9
- category: 'upstream_semantic_unsupported'
10
- },
11
- {
12
- name: 'pretooluse_additional_context',
13
- event: 'PreToolUse',
14
- output: { continue: true, hookSpecificOutput: { hookEventName: 'PreToolUse', additionalContext: 'allowed by schema, banned by SKS' } },
15
- category: 'sks_zero_warning_disallowed'
16
- },
17
- {
18
- name: 'snake_case',
19
- event: 'PreToolUse',
20
- output: { continue: true, permission_decision: 'deny' },
21
- category: 'legacy_shape'
22
- },
23
- {
24
- name: 'unknown_field',
25
- event: 'Stop',
26
- output: { continue: true, unexpected: true },
27
- category: 'schema_violation'
28
- },
29
- {
30
- name: 'stop_missing_reason',
31
- event: 'Stop',
32
- output: { continue: true, decision: 'block' },
33
- category: 'upstream_semantic_unsupported'
34
- },
35
- {
36
- name: 'permission_allow_message',
37
- event: 'PermissionRequest',
38
- output: { continue: true, hookSpecificOutput: { hookEventName: 'PermissionRequest', decision: { behavior: 'allow', message: 'ok' } } },
39
- category: 'sks_zero_warning_disallowed'
40
- }
41
- ];
42
- const results = [];
43
- for (const row of cases) {
44
- const result = await detectCodexHookOutputWarnings(row.event, row.output);
45
- const count = result.issues_by_category?.[row.category] || 0;
46
- results.push({
47
- name: row.name,
48
- ok: count > 0,
49
- expected_category: row.category,
50
- issues_by_category: result.issues_by_category
51
- });
52
- }
53
- const ok = results.every((row) => row.ok);
54
- console.log(JSON.stringify({
55
- schema: 'sks.codex-hook-strict-subset-check.v1',
56
- ok,
57
- results
58
- }, null, 2));
59
- if (!ok)
60
- process.exitCode = 1;
61
- //# sourceMappingURL=codex-hook-strict-subset-check.js.map
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- // Production invariant: a codex-lb config write must NEVER corrupt ~/.codex/config.toml,
4
- // especially on initial install. Every codex-lb writer routes through
5
- // safeWriteCodexConfigToml, which parse-gates current + next and backs up before mutating.
6
- import fs from 'node:fs/promises';
7
- import os from 'node:os';
8
- import path from 'node:path';
9
- import { assertGate, emitGate, importDist } from './sks-1-18-gate-lib.js';
10
- const helpers = await importDist('cli/install-helpers.js');
11
- // Reproduce the on-disk parse smoke the runtime uses (unterminated triple-quote / bad header).
12
- function parses(text) {
13
- const tripleTokens = (String(text).match(/"""|'''/g) || []).length;
14
- if (tripleTokens % 2 !== 0)
15
- return false;
16
- const badHeader = String(text).split('\n').find((l) => /^\s*\[/.test(l) && !/^\s*\[\[?[^\]]+\]\]?\s*(?:#.*)?$/.test(l));
17
- return !badHeader;
18
- }
19
- const results = [];
20
- const BASE_URL = 'http://127.0.0.1:2455/backend-api/codex';
21
- // --- Case 1: fresh/empty config -> codex-lb provider added cleanly, parses ---
22
- {
23
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-cdxlb-fresh-'));
24
- const cfg = path.join(dir, 'config.toml');
25
- const next = helpers.upsertCodexLbConfig('', BASE_URL);
26
- const res = await helpers.safeWriteCodexConfigToml(cfg, '', next, 'codex-lb');
27
- const after = await fs.readFile(cfg, 'utf8');
28
- const ok = res.ok && /\[model_providers\.codex-lb\]/.test(after) && /^model_provider = "codex-lb"/m.test(after) && parses(after);
29
- results.push({ case: 'fresh_adds_provider_parseable', ok, status: res.status });
30
- }
31
- // --- Case 2: existing config with a multiline string containing a bracketed line
32
- // (the upsertTomlTable blind spot) must NEVER be written corrupted ---
33
- {
34
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-cdxlb-multiline-'));
35
- const cfg = path.join(dir, 'config.toml');
36
- const tricky = [
37
- 'model = "gpt-5.1-codex"',
38
- 'custom_note = """',
39
- 'here is a note with a [not-a-real-header] inside a multiline string',
40
- 'second line',
41
- '"""',
42
- '',
43
- '[mcp_servers.x]',
44
- 'command = "y"',
45
- ''
46
- ].join('\n');
47
- await fs.writeFile(cfg, tricky);
48
- const next = helpers.normalizeCodexFastModeUiConfig(helpers.upsertCodexLbConfig(tricky, BASE_URL));
49
- const res = await helpers.safeWriteCodexConfigToml(cfg, tricky, next, 'codex-lb');
50
- const after = await fs.readFile(cfg, 'utf8');
51
- // INVARIANT: whatever happens, the on-disk config must still parse.
52
- const ok = parses(after) && (res.ok ? /\[model_providers\.codex-lb\]/.test(after) : after === tricky);
53
- results.push({ case: 'multiline_trap_never_corrupts', ok, status: res.status, on_disk_parses: parses(after) });
54
- }
55
- // --- Case 3: an already-unparseable existing config is preserved + backed up, not clobbered ---
56
- {
57
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-cdxlb-broken-'));
58
- const cfg = path.join(dir, 'config.toml');
59
- const broken = 'model = "x"\n[features\nhooks = true\n';
60
- await fs.writeFile(cfg, broken);
61
- const next = helpers.upsertCodexLbConfig(broken, BASE_URL);
62
- const res = await helpers.safeWriteCodexConfigToml(cfg, broken, next, 'codex-lb');
63
- const after = await fs.readFile(cfg, 'utf8');
64
- const backups = (await fs.readdir(dir)).filter((f) => f.includes('.sks-codex-lb-unparseable-'));
65
- const ok = res.status === 'unparseable_config_preserved' && after === broken && backups.length >= 1;
66
- results.push({ case: 'unparseable_preserved_backed_up', ok, status: res.status });
67
- }
68
- // --- Case 4: idempotent — re-applying when already configured is a no-op ('present') ---
69
- {
70
- const dir = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-cdxlb-idem-'));
71
- const cfg = path.join(dir, 'config.toml');
72
- const seeded = helpers.upsertCodexLbConfig('', BASE_URL);
73
- await helpers.safeWriteCodexConfigToml(cfg, '', seeded, 'codex-lb');
74
- const cur = await fs.readFile(cfg, 'utf8');
75
- const next = helpers.upsertCodexLbConfig(cur, BASE_URL);
76
- const res = await helpers.safeWriteCodexConfigToml(cfg, cur, next, 'codex-lb');
77
- results.push({ case: 'idempotent_present', ok: res.status === 'present' && res.changed === false, status: res.status });
78
- }
79
- const ok = results.every((r) => r.ok);
80
- if (!ok) {
81
- console.error(JSON.stringify({ ok: false, message: 'codex-lb config TOML-safety regression failed', results }, null, 2));
82
- process.exit(1);
83
- }
84
- emitGate('codex-lb:config-toml-safety', { cases: results.map((r) => r.case) });
85
- //# sourceMappingURL=codex-lb-config-toml-safety-check.js.map