sneakoscope 2.0.14 → 2.0.16

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 (491) 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 +2 -1
  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 +66 -3
  11. package/dist/core/agents/agent-plan.js +3 -2
  12. package/dist/core/agents/agent-scheduler.js +204 -86
  13. package/dist/core/agents/agent-schema.js +1 -1
  14. package/dist/core/agents/native-cli-session-swarm.js +199 -15
  15. package/dist/core/agents/native-cli-worker.js +85 -0
  16. package/dist/core/agents/parallel-runtime-proof.js +217 -0
  17. package/dist/core/codex-control/codex-task-runner.js +32 -4
  18. package/dist/core/codex-control/model-call-concurrency.js +106 -0
  19. package/dist/core/commands/basic-cli.js +1 -1
  20. package/dist/core/commands/command-suggestions.js +1 -1
  21. package/dist/core/commands/mad-db-command.js +106 -0
  22. package/dist/core/commands/mad-sks-command.js +50 -13
  23. package/dist/core/commands/naruto-command.js +128 -5
  24. package/dist/core/commands/research-command.js +13 -1
  25. package/dist/core/commands/team-command.js +23 -175
  26. package/dist/core/db-safety.js +55 -1
  27. package/dist/core/fsx.js +1 -1
  28. package/dist/core/git/git-worktree-capability.js +18 -0
  29. package/dist/core/git/git-worktree-manager.js +80 -0
  30. package/dist/core/git/git-worktree-pool.js +4 -0
  31. package/dist/core/mad-db/mad-db-capability.js +116 -0
  32. package/dist/core/mad-db/mad-db-ledger.js +31 -0
  33. package/dist/core/mad-db/mad-db-policy-resolver.js +48 -0
  34. package/dist/core/naruto/naruto-concurrency-governor.js +14 -1
  35. package/dist/core/pipeline-internals/runtime-core.js +74 -8
  36. package/dist/core/pipeline-internals/runtime-gates.js +44 -0
  37. package/dist/core/proof/route-proof-gate.js +5 -3
  38. package/dist/core/proof/route-proof-policy.js +9 -1
  39. package/dist/core/release/release-gate-affected-selector.js +113 -0
  40. package/dist/core/release/release-gate-batch-runner.js +67 -0
  41. package/dist/core/release/release-gate-dag.js +22 -3
  42. package/dist/core/release/release-gate-resource-governor.js +23 -11
  43. package/dist/core/research/implementation-blueprint-densifier.js +1 -1
  44. package/dist/core/research/implementation-blueprint-markdown.js +1 -1
  45. package/dist/core/research/implementation-blueprint.js +68 -7
  46. package/dist/core/research/research-final-reviewer.js +27 -1
  47. package/dist/core/research/research-handoff.js +69 -5
  48. package/dist/core/research/research-realistic-report.js +162 -0
  49. package/dist/core/research/research-repetition-detector.js +75 -0
  50. package/dist/core/research/research-report-quality.js +27 -5
  51. package/dist/core/research/research-stage-runner.js +40 -13
  52. package/dist/core/research/research-synthesis-prompt.js +52 -0
  53. package/dist/core/research/research-synthesis-writer.js +208 -0
  54. package/dist/core/research.js +60 -48
  55. package/dist/core/routes.js +23 -19
  56. package/dist/core/update/update-notice.js +120 -0
  57. package/dist/core/version.js +1 -1
  58. package/dist/core/zellij/zellij-dashboard-renderer.js +2 -0
  59. package/dist/core/zellij/zellij-slot-column-anchor.js +35 -1
  60. package/dist/core/zellij/zellij-slot-pane-renderer.js +57 -0
  61. package/dist/core/zellij/zellij-slot-telemetry.js +237 -0
  62. package/dist/scripts/release-gate-dag-runner.js +5 -0
  63. package/dist/scripts/release-speed-summary.js +27 -0
  64. package/package.json +76 -5
  65. package/schemas/agents/parallel-runtime-proof.schema.json +48 -0
  66. package/schemas/mad-db/mad-db-capability.schema.json +31 -0
  67. package/schemas/mad-db/mad-db-ledger.schema.json +14 -0
  68. package/schemas/research/implementation-blueprint.schema.json +6 -1
  69. package/schemas/research/research-final-review.schema.json +10 -0
  70. package/schemas/research/research-synthesis-output.schema.json +62 -0
  71. package/schemas/update/update-notice.schema.json +19 -0
  72. package/schemas/zellij/zellij-slot-telemetry.schema.json +89 -0
  73. package/dist/scripts/agent-ast-aware-work-graph-check.js +0 -25
  74. package/dist/scripts/agent-backfill-replenishment-check.js +0 -13
  75. package/dist/scripts/agent-backfill-route-blackbox.js +0 -5
  76. package/dist/scripts/agent-background-terminals-check.js +0 -16
  77. package/dist/scripts/agent-cleanup-command-ux-check.js +0 -12
  78. package/dist/scripts/agent-cleanup-executor-check.js +0 -53
  79. package/dist/scripts/agent-cleanup-executor-v2-check.js +0 -39
  80. package/dist/scripts/agent-cli-options-to-task-graph-check.js +0 -5
  81. package/dist/scripts/agent-codex-app-cockpit-check.js +0 -91
  82. package/dist/scripts/agent-codex-child-overlap-check.js +0 -21
  83. package/dist/scripts/agent-dynamic-cockpit-check.js +0 -10
  84. package/dist/scripts/agent-dynamic-pool-check.js +0 -13
  85. package/dist/scripts/agent-dynamic-pool-route-blackbox.js +0 -5
  86. package/dist/scripts/agent-fast-mode-default-check.js +0 -62
  87. package/dist/scripts/agent-fast-mode-worker-propagation-check.js +0 -7
  88. package/dist/scripts/agent-follow-up-work-schema-check.js +0 -80
  89. package/dist/scripts/agent-goal-mode-propagation-check.js +0 -9
  90. package/dist/scripts/agent-intelligent-work-graph-check.js +0 -25
  91. package/dist/scripts/agent-janitor-check.js +0 -76
  92. package/dist/scripts/agent-main-no-scout-check.js +0 -11
  93. package/dist/scripts/agent-model-authored-patch-envelope-check.js +0 -15
  94. package/dist/scripts/agent-multi-project-isolation-check.js +0 -86
  95. package/dist/scripts/agent-native-cli-session-proof-check.js +0 -7
  96. package/dist/scripts/agent-native-cli-session-swarm-10-check.js +0 -7
  97. package/dist/scripts/agent-native-cli-session-swarm-20-check.js +0 -7
  98. package/dist/scripts/agent-native-cli-session-swarm-check.js +0 -7
  99. package/dist/scripts/agent-no-subagent-scaling-check.js +0 -7
  100. package/dist/scripts/agent-parallel-write-blackbox.js +0 -56
  101. package/dist/scripts/agent-parallel-write-kernel-check.js +0 -103
  102. package/dist/scripts/agent-patch-conflict-rebase-check.js +0 -198
  103. package/dist/scripts/agent-patch-envelope-extraction-check.js +0 -17
  104. package/dist/scripts/agent-patch-proof-check.js +0 -41
  105. package/dist/scripts/agent-patch-proof-runtime-check.js +0 -63
  106. package/dist/scripts/agent-patch-queue-runtime-check.js +0 -36
  107. package/dist/scripts/agent-patch-rollback-check.js +0 -38
  108. package/dist/scripts/agent-patch-rollback-dag-check.js +0 -14
  109. package/dist/scripts/agent-patch-swarm-route-blackbox.js +0 -10
  110. package/dist/scripts/agent-patch-swarm-runtime-check.js +0 -10
  111. package/dist/scripts/agent-patch-swarm-runtime-truth-check.js +0 -76
  112. package/dist/scripts/agent-patch-transaction-journal-check.js +0 -57
  113. package/dist/scripts/agent-patch-verification-dag-check.js +0 -14
  114. package/dist/scripts/agent-proof-contract-reconciled-check.js +0 -5
  115. package/dist/scripts/agent-real-codex-dynamic-smoke-check.js +0 -166
  116. package/dist/scripts/agent-real-codex-dynamic-smoke-v2-check.js +0 -14
  117. package/dist/scripts/agent-real-codex-in-zellij-worker-pane-check.js +0 -229
  118. package/dist/scripts/agent-real-codex-parallel-workers-10-check.js +0 -5
  119. package/dist/scripts/agent-real-codex-parallel-workers-20-check.js +0 -5
  120. package/dist/scripts/agent-real-codex-parallel-workers-5-check.js +0 -5
  121. package/dist/scripts/agent-real-codex-parallel-workers-check.js +0 -5
  122. package/dist/scripts/agent-role-config-repair-check.js +0 -33
  123. package/dist/scripts/agent-rollback-command-check.js +0 -86
  124. package/dist/scripts/agent-route-truth-backfill-check.js +0 -5
  125. package/dist/scripts/agent-scheduler-proof-check.js +0 -13
  126. package/dist/scripts/agent-scheduler-proof-hardening-check.js +0 -22
  127. package/dist/scripts/agent-session-generation-check.js +0 -21
  128. package/dist/scripts/agent-slot-pane-binding-proof-check.js +0 -64
  129. package/dist/scripts/agent-source-intelligence-propagation-check.js +0 -9
  130. package/dist/scripts/agent-strategy-to-lease-wiring-check.js +0 -32
  131. package/dist/scripts/agent-strategy-to-patch-strict-check.js +0 -54
  132. package/dist/scripts/agent-task-graph-expansion-check.js +0 -14
  133. package/dist/scripts/agent-terminal-generations-check.js +0 -23
  134. package/dist/scripts/agent-visual-consistency-check.js +0 -9
  135. package/dist/scripts/agent-wiki-context-proof-check.js +0 -62
  136. package/dist/scripts/agent-worker-backend-router-check.js +0 -63
  137. package/dist/scripts/agent-worker-scout-limited-check.js +0 -17
  138. package/dist/scripts/agent-zellij-dynamic-backfill-panes-check.js +0 -34
  139. package/dist/scripts/agent-zellij-runtime-check.js +0 -84
  140. package/dist/scripts/all-feature-deep-completion-check.js +0 -31
  141. package/dist/scripts/appshots-capability-check.js +0 -18
  142. package/dist/scripts/appshots-evidence-check.js +0 -48
  143. package/dist/scripts/appshots-operator-policy-check.js +0 -25
  144. package/dist/scripts/appshots-privacy-safety-check.js +0 -48
  145. package/dist/scripts/appshots-source-intelligence-check.js +0 -53
  146. package/dist/scripts/appshots-thread-attachment-discovery-check.js +0 -87
  147. package/dist/scripts/appshots-triwiki-voxel-check.js +0 -46
  148. package/dist/scripts/architecture-guard-check.js +0 -55
  149. package/dist/scripts/changelog-check.js +0 -47
  150. package/dist/scripts/codex-0-133-official-compat-report.js +0 -53
  151. package/dist/scripts/codex-0-134-official-compat-report.js +0 -110
  152. package/dist/scripts/codex-0-134-runner-truth-check.js +0 -66
  153. package/dist/scripts/codex-0-135-compat-check.js +0 -57
  154. package/dist/scripts/codex-0-136-compat-check.js +0 -30
  155. package/dist/scripts/codex-0-137-compat-check.js +0 -27
  156. package/dist/scripts/codex-app-fast-ui-preservation-check.js +0 -32
  157. package/dist/scripts/codex-app-provider-badge-check.js +0 -37
  158. package/dist/scripts/codex-app-ui-clobber-guard-check.js +0 -22
  159. package/dist/scripts/codex-app-ui-preservation-check.js +0 -96
  160. package/dist/scripts/codex-control-all-pipelines-check.js +0 -36
  161. package/dist/scripts/codex-control-capability-check.js +0 -10
  162. package/dist/scripts/codex-control-empty-result-retry-check.js +0 -43
  163. package/dist/scripts/codex-control-event-stream-ledger-check.js +0 -10
  164. package/dist/scripts/codex-control-keepalive-no-cot-leak-check.js +0 -14
  165. package/dist/scripts/codex-control-no-legacy-fallback-check.js +0 -31
  166. package/dist/scripts/codex-control-side-effect-scope-check.js +0 -26
  167. package/dist/scripts/codex-control-stream-idle-watchdog-check.js +0 -18
  168. package/dist/scripts/codex-control-structured-output-check.js +0 -11
  169. package/dist/scripts/codex-control-thread-registry-check.js +0 -11
  170. package/dist/scripts/codex-control-tool-call-sequence-repair-check.js +0 -14
  171. package/dist/scripts/codex-environment-scoped-approvals-check.js +0 -10
  172. package/dist/scripts/codex-exec-output-schema-actual-syntax-check.js +0 -33
  173. package/dist/scripts/codex-fast-mode-profile-propagation-check.js +0 -12
  174. package/dist/scripts/codex-history-search-check.js +0 -19
  175. package/dist/scripts/codex-hook-semantic-check.js +0 -15
  176. package/dist/scripts/codex-hook-strict-subset-check.js +0 -61
  177. package/dist/scripts/codex-lb-config-toml-safety-check.js +0 -85
  178. package/dist/scripts/codex-lb-persistence-truth-check.js +0 -96
  179. package/dist/scripts/codex-lb-setup-fixture-check.js +0 -91
  180. package/dist/scripts/codex-lb-setup-truthfulness-check.js +0 -84
  181. package/dist/scripts/codex-legacy-profile-consumers-removed-check.js +0 -24
  182. package/dist/scripts/codex-managed-proxy-env-check.js +0 -17
  183. package/dist/scripts/codex-output-schema-fixture-check.js +0 -25
  184. package/dist/scripts/codex-permission-profiles-check.js +0 -36
  185. package/dist/scripts/codex-plugin-list-json-check.js +0 -8
  186. package/dist/scripts/codex-profile-primary-check.js +0 -13
  187. package/dist/scripts/codex-project-config-policy-splitter-check.js +0 -51
  188. package/dist/scripts/codex-resume-cwd-truth-check.js +0 -17
  189. package/dist/scripts/codex-sdk-all-pipelines-check.js +0 -32
  190. package/dist/scripts/codex-sdk-backend-router-check.js +0 -65
  191. package/dist/scripts/codex-sdk-capability-check.js +0 -11
  192. package/dist/scripts/codex-sdk-core-skill-pipeline-check.js +0 -9
  193. package/dist/scripts/codex-sdk-dfix-pipeline-check.js +0 -9
  194. package/dist/scripts/codex-sdk-event-stream-ledger-check.js +0 -9
  195. package/dist/scripts/codex-sdk-no-legacy-fallback-check.js +0 -33
  196. package/dist/scripts/codex-sdk-qa-pipeline-check.js +0 -8
  197. package/dist/scripts/codex-sdk-real-smoke-check.js +0 -39
  198. package/dist/scripts/codex-sdk-release-review-pipeline-check.js +0 -13
  199. package/dist/scripts/codex-sdk-research-pipeline-check.js +0 -47
  200. package/dist/scripts/codex-sdk-sandbox-policy-check.js +0 -21
  201. package/dist/scripts/codex-sdk-structured-output-check.js +0 -10
  202. package/dist/scripts/codex-sdk-team-naruto-agent-pipeline-check.js +0 -12
  203. package/dist/scripts/codex-sdk-thread-registry-check.js +0 -11
  204. package/dist/scripts/codex-sdk-ux-ppt-review-pipeline-check.js +0 -9
  205. package/dist/scripts/codex-sdk-zellij-pane-binding-check.js +0 -13
  206. package/dist/scripts/codex-thread-runtime-choice-check.js +0 -10
  207. package/dist/scripts/codex-web-adapter-check.js +0 -12
  208. package/dist/scripts/computer-use-live-evidence-check.js +0 -55
  209. package/dist/scripts/computer-use-live-optional-check.js +0 -32
  210. package/dist/scripts/computer-use-policy-check.js +0 -69
  211. package/dist/scripts/computer-use-visual-route-fixture-check.js +0 -37
  212. package/dist/scripts/core-skill-card-schema-check.js +0 -61
  213. package/dist/scripts/core-skill-deployment-snapshot-check.js +0 -54
  214. package/dist/scripts/core-skill-heldout-validation-check.js +0 -49
  215. package/dist/scripts/core-skill-no-inference-optimizer-check.js +0 -75
  216. package/dist/scripts/core-skill-patch-check.js +0 -79
  217. package/dist/scripts/core-skill-promotion-side-effect-ledger-check.js +0 -64
  218. package/dist/scripts/core-skill-rollout-scoring-check.js +0 -72
  219. package/dist/scripts/core-skill-route-runtime-integration-check.js +0 -49
  220. package/dist/scripts/dfix-fast-blackbox-check.js +0 -37
  221. package/dist/scripts/dfix-fast-kernel-check.js +0 -26
  222. package/dist/scripts/dfix-fixture-check.js +0 -6
  223. package/dist/scripts/dfix-parallel-write-blackbox.js +0 -48
  224. package/dist/scripts/dfix-patch-handoff-check.js +0 -13
  225. package/dist/scripts/dfix-patch-swarm-route-blackbox.js +0 -10
  226. package/dist/scripts/dfix-performance-check.js +0 -15
  227. package/dist/scripts/dfix-verification-check.js +0 -9
  228. package/dist/scripts/dfix-verification-recommendation-check.js +0 -15
  229. package/dist/scripts/docs-truthfulness-check.js +0 -61
  230. package/dist/scripts/doctor-codex-doctor-parity-check.js +0 -17
  231. package/dist/scripts/doctor-fix-proves-codex-read-check.js +0 -64
  232. package/dist/scripts/doctor-fix-recovers-corrupted-config-check.js +0 -122
  233. package/dist/scripts/doctor-fixes-codex-app-fast-ui-check.js +0 -39
  234. package/dist/scripts/evidence-fixture-check.js +0 -26
  235. package/dist/scripts/evidence-flagship-coverage-check.js +0 -55
  236. package/dist/scripts/fake-real-proof-policy-v2-check.js +0 -27
  237. package/dist/scripts/fake-vs-real-proof-policy-check.js +0 -14
  238. package/dist/scripts/fast-codex-service-tier-proof-check.js +0 -42
  239. package/dist/scripts/flagship-proof-graph-v2-check.js +0 -48
  240. package/dist/scripts/flagship-proof-graph-v3-check.js +0 -67
  241. package/dist/scripts/flagship-proof-graph-v4-check.js +0 -61
  242. package/dist/scripts/git-precommit-fixture-check.js +0 -41
  243. package/dist/scripts/git-worktree-cache-performance-check.js +0 -25
  244. package/dist/scripts/git-worktree-capability-check.js +0 -27
  245. package/dist/scripts/git-worktree-checkpoint-check.js +0 -20
  246. package/dist/scripts/git-worktree-cleanup-check.js +0 -27
  247. package/dist/scripts/git-worktree-cross-rebase-check.js +0 -39
  248. package/dist/scripts/git-worktree-diff-envelope-check.js +0 -17
  249. package/dist/scripts/git-worktree-diff-export-check.js +0 -43
  250. package/dist/scripts/git-worktree-dirty-lock-check.js +0 -17
  251. package/dist/scripts/git-worktree-dirty-main-detection-check.js +0 -14
  252. package/dist/scripts/git-worktree-integration-primary-check.js +0 -24
  253. package/dist/scripts/git-worktree-integration-primary-runtime-check.js +0 -20
  254. package/dist/scripts/git-worktree-manager-check.js +0 -37
  255. package/dist/scripts/git-worktree-manifest-append-check.js +0 -18
  256. package/dist/scripts/git-worktree-merge-queue-check.js +0 -31
  257. package/dist/scripts/git-worktree-pool-performance-check.js +0 -20
  258. package/dist/scripts/git-worktree-untracked-diff-check.js +0 -18
  259. package/dist/scripts/goal-mode-official-default-check.js +0 -12
  260. package/dist/scripts/gpt-final-arbiter-check.js +0 -63
  261. package/dist/scripts/gpt-final-arbiter-performance-check.js +0 -36
  262. package/dist/scripts/gpt-image-2-request-validator-check.js +0 -35
  263. package/dist/scripts/hooks-0.134-context-parity-check.js +0 -20
  264. package/dist/scripts/hooks-actual-parity-check.js +0 -17
  265. package/dist/scripts/hooks-actual-parity-v2-check.js +0 -21
  266. package/dist/scripts/hooks-latest-schema-check.js +0 -20
  267. package/dist/scripts/hooks-managed-install-fixture-check.js +0 -21
  268. package/dist/scripts/hooks-official-hash-oracle-check.js +0 -35
  269. package/dist/scripts/hooks-official-hash-parity-check.js +0 -17
  270. package/dist/scripts/hooks-subagent-events-check.js +0 -17
  271. package/dist/scripts/hooks-trust-state-check.js +0 -14
  272. package/dist/scripts/image-fidelity-fixture-check.js +0 -24
  273. package/dist/scripts/imagegen-capability-check.js +0 -30
  274. package/dist/scripts/imagegen-real-smoke-check.js +0 -155
  275. package/dist/scripts/install-update-preserves-config-check.js +0 -87
  276. package/dist/scripts/json-schema-recursive-check.js +0 -78
  277. package/dist/scripts/legacy-multiagent-removal-check.js +0 -85
  278. package/dist/scripts/legacy-upgrade-matrix-check.js +0 -300
  279. package/dist/scripts/local-collab-all-pipelines-final-gpt-check.js +0 -21
  280. package/dist/scripts/local-collab-gpt-final-availability-check.js +0 -58
  281. package/dist/scripts/local-collab-no-local-only-final-check.js +0 -27
  282. package/dist/scripts/local-collab-policy-check.js +0 -17
  283. package/dist/scripts/local-collab-worktree-gpt-final-apply-policy-check.js +0 -63
  284. package/dist/scripts/local-llm-all-pipelines-check.js +0 -11
  285. package/dist/scripts/local-llm-cache-performance-check.js +0 -10
  286. package/dist/scripts/local-llm-capability-check.js +0 -14
  287. package/dist/scripts/local-llm-smoke-check.js +0 -23
  288. package/dist/scripts/local-llm-structured-output-check.js +0 -11
  289. package/dist/scripts/local-llm-throughput-check.js +0 -10
  290. package/dist/scripts/local-llm-tool-call-repair-check.js +0 -10
  291. package/dist/scripts/local-llm-warmup-check.js +0 -11
  292. package/dist/scripts/loop-blocker-check.js +0 -15
  293. package/dist/scripts/mad-preflight-blocks-unreadable-config-check.js +0 -35
  294. package/dist/scripts/mad-sks-actual-executor-blackbox.js +0 -5
  295. package/dist/scripts/mad-sks-app-ui-no-mutation-check.js +0 -92
  296. package/dist/scripts/mad-sks-audit-proof-check.js +0 -34
  297. package/dist/scripts/mad-sks-db-executor-check.js +0 -5
  298. package/dist/scripts/mad-sks-executor-proof-graph-check.js +0 -5
  299. package/dist/scripts/mad-sks-fast-mode-propagation-check.js +0 -24
  300. package/dist/scripts/mad-sks-file-write-executor-check.js +0 -5
  301. package/dist/scripts/mad-sks-immutable-harness-check.js +0 -36
  302. package/dist/scripts/mad-sks-no-harness-modification-check.js +0 -25
  303. package/dist/scripts/mad-sks-package-executor-check.js +0 -5
  304. package/dist/scripts/mad-sks-permission-model-check.js +0 -22
  305. package/dist/scripts/mad-sks-rollback-apply-check.js +0 -5
  306. package/dist/scripts/mad-sks-service-executor-check.js +0 -5
  307. package/dist/scripts/mad-sks-shell-executor-check.js +0 -5
  308. package/dist/scripts/mad-sks-write-guard-check.js +0 -28
  309. package/dist/scripts/mad-sks-zellij-default-pane-worker-check.js +0 -37
  310. package/dist/scripts/mad-sks-zellij-launch-check.js +0 -102
  311. package/dist/scripts/mcp-0-134-modernization-check.js +0 -55
  312. package/dist/scripts/mcp-readonly-concurrency-check.js +0 -17
  313. package/dist/scripts/mcp-readonly-runtime-scheduler-check.js +0 -20
  314. package/dist/scripts/mcp-tool-naming-parity-check.js +0 -16
  315. package/dist/scripts/memory-summary-rebuild-check.js +0 -22
  316. package/dist/scripts/mutation-callsite-coverage-check.js +0 -180
  317. package/dist/scripts/naruto-active-pool-check.js +0 -39
  318. package/dist/scripts/naruto-actual-worker-control-plane-check.js +0 -56
  319. package/dist/scripts/naruto-allocation-policy-check.js +0 -33
  320. package/dist/scripts/naruto-allocation-runtime-wiring-check.js +0 -92
  321. package/dist/scripts/naruto-concurrency-governor-check.js +0 -53
  322. package/dist/scripts/naruto-extreme-parallelism-check.js +0 -22
  323. package/dist/scripts/naruto-extreme-parallelism-real-check.js +0 -43
  324. package/dist/scripts/naruto-gpt-final-pack-check.js +0 -34
  325. package/dist/scripts/naruto-orchestrator-runtime-source-check.js +0 -70
  326. package/dist/scripts/naruto-parallel-patch-apply-check.js +0 -41
  327. package/dist/scripts/naruto-readonly-routing-check.js +0 -116
  328. package/dist/scripts/naruto-real-active-pool-check.js +0 -39
  329. package/dist/scripts/naruto-real-active-pool-runtime-check.js +0 -55
  330. package/dist/scripts/naruto-rebalance-policy-check.js +0 -41
  331. package/dist/scripts/naruto-role-distribution-check.js +0 -23
  332. package/dist/scripts/naruto-shadow-clone-swarm-check.js +0 -153
  333. package/dist/scripts/naruto-verification-pool-check.js +0 -36
  334. package/dist/scripts/naruto-work-graph-check.js +0 -24
  335. package/dist/scripts/naruto-worktree-coding-blackbox.js +0 -29
  336. package/dist/scripts/naruto-worktree-coding-check.js +0 -44
  337. package/dist/scripts/naruto-worktree-gpt-final-check.js +0 -45
  338. package/dist/scripts/naruto-worktree-zellij-ui-check.js +0 -28
  339. package/dist/scripts/naruto-zellij-dynamic-right-column-check.js +0 -48
  340. package/dist/scripts/naruto-zellij-massive-ui-check.js +0 -23
  341. package/dist/scripts/non-recursive-pipeline-check.js +0 -68
  342. package/dist/scripts/npm-publish-performance-check.js +0 -65
  343. package/dist/scripts/official-docs-compat-report.js +0 -304
  344. package/dist/scripts/packlist-performance-check.js +0 -83
  345. package/dist/scripts/parallel-verification-engine-check.js +0 -85
  346. package/dist/scripts/postinstall-safe-side-effects-check.js +0 -65
  347. package/dist/scripts/ppt-full-e2e-artifact-graph-check.js +0 -40
  348. package/dist/scripts/ppt-full-e2e-blackbox-check.js +0 -109
  349. package/dist/scripts/ppt-image-voxel-relations-check.js +0 -9
  350. package/dist/scripts/ppt-imagegen-blackbox-check.js +0 -46
  351. package/dist/scripts/ppt-imagegen-review-fixture-check.js +0 -6
  352. package/dist/scripts/ppt-issue-extraction-fixture-check.js +0 -7
  353. package/dist/scripts/ppt-no-mock-as-real-check.js +0 -8
  354. package/dist/scripts/ppt-no-text-fallback-check.js +0 -7
  355. package/dist/scripts/ppt-proof-trust-fixture-check.js +0 -10
  356. package/dist/scripts/ppt-real-export-adapter-check.js +0 -13
  357. package/dist/scripts/ppt-real-imagegen-smoke-check.js +0 -42
  358. package/dist/scripts/ppt-real-imagegen-wiring-check.js +0 -16
  359. package/dist/scripts/ppt-reexport-rereview-check.js +0 -19
  360. package/dist/scripts/ppt-slide-export-fixture-check.js +0 -7
  361. package/dist/scripts/prepublish-fast-check.js +0 -128
  362. package/dist/scripts/priority-full-closure-check.js +0 -12
  363. package/dist/scripts/product-design-auto-install-check.js +0 -119
  364. package/dist/scripts/product-design-plugin-routing-check.js +0 -101
  365. package/dist/scripts/prompt-placeholder-guard-check.js +0 -33
  366. package/dist/scripts/provider-badge-context-check.js +0 -26
  367. package/dist/scripts/provider-context-config-toml-check.js +0 -63
  368. package/dist/scripts/python-codex-sdk-all-pipelines-check.js +0 -47
  369. package/dist/scripts/python-codex-sdk-capability-check.js +0 -75
  370. package/dist/scripts/python-codex-sdk-sandbox-policy-check.js +0 -10
  371. package/dist/scripts/python-codex-sdk-stream-bridge-check.js +0 -12
  372. package/dist/scripts/python-tools-smoke-check.js +0 -71
  373. package/dist/scripts/qa-actual-route-backfill-check.js +0 -5
  374. package/dist/scripts/qa-backfill-route-blackbox.js +0 -5
  375. package/dist/scripts/qa-patch-swarm-route-blackbox.js +0 -10
  376. package/dist/scripts/readme-architecture-imagegen-official-check.js +0 -448
  377. package/dist/scripts/release-cache-glob-hashing-check.js +0 -42
  378. package/dist/scripts/release-dag-full-coverage-check.js +0 -66
  379. package/dist/scripts/release-dist-freshness-check.js +0 -8
  380. package/dist/scripts/release-dynamic-performance-check.js +0 -103
  381. package/dist/scripts/release-gate-budget-check.js +0 -36
  382. package/dist/scripts/release-gate-dag-runner-check.js +0 -17
  383. package/dist/scripts/release-metadata-1-11-check.js +0 -37
  384. package/dist/scripts/release-metadata-1-12-check.js +0 -48
  385. package/dist/scripts/release-metadata-1-13-check.js +0 -53
  386. package/dist/scripts/release-metadata-1-14-check.js +0 -63
  387. package/dist/scripts/release-metadata-1-16-check.js +0 -81
  388. package/dist/scripts/release-metadata-1-17-check.js +0 -51
  389. package/dist/scripts/release-metadata-1-19-check.js +0 -371
  390. package/dist/scripts/release-metadata-check.js +0 -7
  391. package/dist/scripts/release-native-agent-fixture-check.js +0 -41
  392. package/dist/scripts/release-parallel-check.js +0 -374
  393. package/dist/scripts/release-parallel-full-coverage-check.js +0 -13
  394. package/dist/scripts/release-parallel-speed-budget-check.js +0 -84
  395. package/dist/scripts/release-provenance-check.js +0 -150
  396. package/dist/scripts/release-real-check.js +0 -330
  397. package/dist/scripts/release-registry-check.js +0 -344
  398. package/dist/scripts/release-runtime-truth-matrix-check.js +0 -47
  399. package/dist/scripts/release-stability-report-check.js +0 -99
  400. package/dist/scripts/release-version-truth-check.js +0 -134
  401. package/dist/scripts/research-actual-route-backfill-check.js +0 -5
  402. package/dist/scripts/research-backfill-route-blackbox.js +0 -5
  403. package/dist/scripts/research-blueprint-densifier-check.js +0 -21
  404. package/dist/scripts/research-claim-builder-check.js +0 -19
  405. package/dist/scripts/research-complete-package-fixture-check.js +0 -23
  406. package/dist/scripts/research-final-reviewer-blackbox.js +0 -22
  407. package/dist/scripts/research-parallel-source-shards-check.js +0 -22
  408. package/dist/scripts/research-quality-gate-check.js +0 -111
  409. package/dist/scripts/research-real-cycle-no-legacy-final-md-check.js +0 -14
  410. package/dist/scripts/research-short-report-rejection-check.js +0 -46
  411. package/dist/scripts/research-source-ledger-merge-check.js +0 -26
  412. package/dist/scripts/research-stage-cycle-runtime-blackbox.js +0 -24
  413. package/dist/scripts/responses-retry-policy-centralized-check.js +0 -19
  414. package/dist/scripts/retention-cleanup-safety-check.js +0 -155
  415. package/dist/scripts/route-blackbox-realism-check.js +0 -21
  416. package/dist/scripts/route-proof-artifact-structure-check.js +0 -145
  417. package/dist/scripts/runtime-dist-parity-check.js +0 -78
  418. package/dist/scripts/runtime-no-mjs-scripts-check.js +0 -45
  419. package/dist/scripts/runtime-no-src-mjs-check.js +0 -32
  420. package/dist/scripts/runtime-no-tmux-check.js +0 -113
  421. package/dist/scripts/runtime-ts-python-boundary-check.js +0 -59
  422. package/dist/scripts/runtime-ts-rust-boundary-check.js +0 -74
  423. package/dist/scripts/runtime-ts-source-of-truth-check.js +0 -55
  424. package/dist/scripts/safety-check.js +0 -23
  425. package/dist/scripts/shared-memory-fixture-check.js +0 -27
  426. package/dist/scripts/side-effect-runtime-report-check.js +0 -19
  427. package/dist/scripts/side-effect-zero-gate-check.js +0 -226
  428. package/dist/scripts/sks-1-11-fixture-check.js +0 -130
  429. package/dist/scripts/source-intelligence-all-modes-check.js +0 -32
  430. package/dist/scripts/source-intelligence-policy-check.js +0 -13
  431. package/dist/scripts/strategy-adhd-orchestrating-gate-check.js +0 -22
  432. package/dist/scripts/strategy-file-ownership-plan-check.js +0 -18
  433. package/dist/scripts/strategy-parallel-modification-plan-check.js +0 -19
  434. package/dist/scripts/strategy-verification-rollback-dag-check.js +0 -19
  435. package/dist/scripts/team-actual-route-backfill-check.js +0 -5
  436. package/dist/scripts/team-backfill-route-blackbox.js +0 -5
  437. package/dist/scripts/team-parallel-write-blackbox.js +0 -55
  438. package/dist/scripts/team-patch-swarm-route-blackbox.js +0 -10
  439. package/dist/scripts/terminal-keyboard-enhancement-safety-check.js +0 -12
  440. package/dist/scripts/terminal-tui-output-stability-check.js +0 -35
  441. package/dist/scripts/test-no-orphan-dist-imports-check.js +0 -73
  442. package/dist/scripts/trust-fixture-check.js +0 -33
  443. package/dist/scripts/typescript-migration-report.js +0 -78
  444. package/dist/scripts/ultra-router-auto-router-check.js +0 -33
  445. package/dist/scripts/ultra-router-classification-check.js +0 -28
  446. package/dist/scripts/ux-patch-swarm-route-blackbox.js +0 -10
  447. package/dist/scripts/ux-ppt-structured-extraction-check.js +0 -21
  448. package/dist/scripts/ux-review-extract-real-callouts-fixture-check.js +0 -8
  449. package/dist/scripts/ux-review-extract-wires-real-extractor-check.js +0 -15
  450. package/dist/scripts/ux-review-generate-callouts-fixture-check.js +0 -9
  451. package/dist/scripts/ux-review-image-voxel-relations-check.js +0 -31
  452. package/dist/scripts/ux-review-imagegen-blackbox-check.js +0 -67
  453. package/dist/scripts/ux-review-no-fake-callouts-check.js +0 -8
  454. package/dist/scripts/ux-review-no-text-fallback-check.js +0 -25
  455. package/dist/scripts/ux-review-patch-diff-recheck-check.js +0 -20
  456. package/dist/scripts/ux-review-patch-handoff-fixture-check.js +0 -8
  457. package/dist/scripts/ux-review-real-imagegen-smoke-check.js +0 -31
  458. package/dist/scripts/ux-review-real-loop-fixture-check.js +0 -24
  459. package/dist/scripts/ux-review-recapture-recheck-fixture-check.js +0 -8
  460. package/dist/scripts/ux-review-run-wires-imagegen-check.js +0 -11
  461. package/dist/scripts/worker-pane-communication-contract-check.js +0 -54
  462. package/dist/scripts/wrongness-fixture-check.js +0 -65
  463. package/dist/scripts/xai-mcp-capability-check.js +0 -14
  464. package/dist/scripts/zellij-capability-check.js +0 -15
  465. package/dist/scripts/zellij-dashboard-pane-check.js +0 -70
  466. package/dist/scripts/zellij-developer-controls-check.js +0 -20
  467. package/dist/scripts/zellij-doctor-readiness-check.js +0 -63
  468. package/dist/scripts/zellij-dynamic-pane-lifecycle-check.js +0 -21
  469. package/dist/scripts/zellij-first-slot-down-stack-check.js +0 -20
  470. package/dist/scripts/zellij-first-slot-down-stack-real-check.js +0 -356
  471. package/dist/scripts/zellij-initial-main-only-blackbox.js +0 -28
  472. package/dist/scripts/zellij-lane-renderer-check.js +0 -65
  473. package/dist/scripts/zellij-launch-command-truth-check.js +0 -75
  474. package/dist/scripts/zellij-layout-valid-check.js +0 -90
  475. package/dist/scripts/zellij-pane-proof-check.js +0 -59
  476. package/dist/scripts/zellij-real-session-cleanup-check.js +0 -21
  477. package/dist/scripts/zellij-real-session-heartbeat-check.js +0 -49
  478. package/dist/scripts/zellij-real-session-launch-check.js +0 -57
  479. package/dist/scripts/zellij-right-column-headless-overflow-check.js +0 -22
  480. package/dist/scripts/zellij-right-column-manager-check.js +0 -27
  481. package/dist/scripts/zellij-screen-proof-check.js +0 -45
  482. package/dist/scripts/zellij-slot-column-anchor-check.js +0 -66
  483. package/dist/scripts/zellij-slot-only-ui-check.js +0 -26
  484. package/dist/scripts/zellij-slot-pane-renderer-check.js +0 -106
  485. package/dist/scripts/zellij-slot-renderer-proof-semantics-check.js +0 -59
  486. package/dist/scripts/zellij-spawn-on-demand-layout-check.js +0 -40
  487. package/dist/scripts/zellij-ui-design-check.js +0 -105
  488. package/dist/scripts/zellij-worker-pane-manager-check.js +0 -109
  489. package/dist/scripts/zellij-worker-pane-manager-single-owner-check.js +0 -47
  490. package/dist/scripts/zellij-worker-pane-real-ui-blackbox.js +0 -202
  491. package/dist/scripts/zellij-worker-pane-spawn-order-check.js +0 -35
@@ -1,304 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import https from 'node:https';
5
- import path from 'node:path';
6
- import { fileURLToPath } from 'node:url';
7
- const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
8
- const pkg = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
9
- const reportDir = path.join(root, '.sneakoscope', 'reports');
10
- const RELEASE_VERSION = pkg.version;
11
- const jsonPath = path.join(reportDir, `official-docs-compat-${RELEASE_VERSION}.json`);
12
- const mdPath = path.join(reportDir, `official-docs-compat-${RELEASE_VERSION}.md`);
13
- const sources = {
14
- codex_release: 'https://github.com/openai/codex/releases/tag/rust-v0.136.0',
15
- codex_0135_release: 'https://github.com/openai/codex/releases/tag/rust-v0.135.0',
16
- codex_0134_release: 'https://github.com/openai/codex/releases/tag/rust-v0.134.0',
17
- codex_0133_release: 'https://github.com/openai/codex/releases/tag/rust-v0.133.0',
18
- codex_config_schema: 'https://raw.githubusercontent.com/openai/codex/rust-v0.136.0/codex-rs/core/config.schema.json',
19
- codex_hook_schema_listing: 'https://api.github.com/repos/openai/codex/contents/codex-rs/hooks/schema/generated?ref=rust-v0.136.0',
20
- codex_chrome_extension: 'https://developers.openai.com/codex/app/chrome-extension',
21
- codex_app_image_generation: 'https://developers.openai.com/codex/app/features#image-generation',
22
- chatgpt_images_2: 'https://openai.com/index/introducing-chatgpt-images-2-0/',
23
- chatgpt_images_2_safety_card: 'https://deploymentsafety.openai.com/chatgpt-images-2-0',
24
- image_generation: 'https://developers.openai.com/api/docs/guides/image-generation',
25
- gpt_image_2_model: 'https://developers.openai.com/api/docs/models/gpt-image-2',
26
- structured_outputs: 'https://developers.openai.com/api/docs/guides/structured-outputs'
27
- };
28
- const codex0136ReleaseApi = 'https://api.github.com/repos/openai/codex/releases/tags/rust-v0.136.0';
29
- const codex0136Release = await fetchJson(codex0136ReleaseApi);
30
- const codex0136ReleaseHtml = codex0136Release.ok ? null : await fetchText(sources.codex_release);
31
- const codex0136ReleaseSource = codex0136Release.ok
32
- ? codex0136Release
33
- : {
34
- ...codex0136ReleaseHtml,
35
- statusCode: codex0136ReleaseHtml?.statusCode || codex0136Release.statusCode || null,
36
- error: codex0136ReleaseHtml?.error || codex0136Release.error || null,
37
- fallback_source: sources.codex_release
38
- };
39
- const codex0136ReleaseBody = String(codex0136Release.json?.body || codex0136ReleaseHtml?.body || '');
40
- const codexConfigSchema = await fetchText(sources.codex_config_schema);
41
- const codexHookSchemaListingApi = await fetchText(sources.codex_hook_schema_listing, { accept: 'application/vnd.github+json' });
42
- const codexHookSchemaListing = codexHookSchemaListingApi.ok
43
- ? codexHookSchemaListingApi
44
- : await fetchHookSchemaListingFallback(codexHookSchemaListingApi);
45
- const codexChromeExtension = await fetchText(sources.codex_chrome_extension);
46
- const codexAppImageGeneration = await fetchText(sources.codex_app_image_generation);
47
- const chatgptImages2SafetyCard = await fetchText(sources.chatgpt_images_2_safety_card);
48
- const openaiImageGeneration = await fetchText(sources.image_generation);
49
- const gptImage2Model = await fetchText(sources.gpt_image_2_model);
50
- const structuredOutputs = await fetchText(sources.structured_outputs);
51
- const sourceValidations = [
52
- sourceRow('codex_release', sources.codex_release, codex0136ReleaseSource, codex0136ReleaseBody, [
53
- 'codex archive',
54
- 'codex app-server --stdio',
55
- 'CODEX_API_KEY',
56
- 'server tokens',
57
- 'codex sandbox setup --elevated',
58
- 'image generation extension',
59
- '/diff',
60
- 'AWS_REGION',
61
- 'rmcp'
62
- ]),
63
- sourceRow('codex_config_schema', sources.codex_config_schema, codexConfigSchema, codexConfigSchema.body || '', [
64
- '$ref',
65
- 'definitions',
66
- 'mcp_servers',
67
- 'profiles'
68
- ]),
69
- sourceRow('codex_hook_schema_listing', sources.codex_hook_schema_listing, codexHookSchemaListing, codexHookSchemaListing.body || '', [
70
- 'subagent-start.command.input.schema.json',
71
- 'subagent-stop.command.input.schema.json',
72
- 'permission-request.command.input.schema.json'
73
- ]),
74
- sourceRow('codex_chrome_extension', sources.codex_chrome_extension, codexChromeExtension, codexChromeExtension.body || '', [
75
- 'Chrome extension',
76
- 'Codex',
77
- 'browser'
78
- ]),
79
- sourceRow('codex_app_image_generation', sources.codex_app_image_generation, codexAppImageGeneration, codexAppImageGeneration.body || '', [
80
- 'Image generation',
81
- '$imagegen',
82
- 'gpt-image-2'
83
- ]),
84
- sourceRow('chatgpt_images_2_safety_card', sources.chatgpt_images_2_safety_card, chatgptImages2SafetyCard, chatgptImages2SafetyCard.body || '', [
85
- 'ChatGPT Images 2.0',
86
- 'image generation',
87
- 'thinking mode'
88
- ]),
89
- sourceRow('image_generation', sources.image_generation, openaiImageGeneration, openaiImageGeneration.body || '', [
90
- 'Image generation',
91
- 'gpt-image-2',
92
- 'GPT Image'
93
- ]),
94
- sourceRow('gpt_image_2_model', sources.gpt_image_2_model, gptImage2Model, gptImage2Model.body || '', [
95
- 'gpt-image-2',
96
- 'Image generation',
97
- 'GPT Image'
98
- ]),
99
- sourceRow('structured_outputs', sources.structured_outputs, structuredOutputs, structuredOutputs.body || '', [
100
- 'Structured Outputs',
101
- 'json_schema',
102
- 'strict'
103
- ])
104
- ];
105
- const checks = [
106
- row('codex_0136_release_matrix', 'rust-v0.136.0', 'src/core/codex/codex-0-136-compat.ts', ['rust-v0.136.0', 'session_archive_restore', 'app_server_resume_status_stdio', 'remote_api_key_registration_server_tokens', 'command_safety_hardening']),
107
- row('codex_0136_release_gate', 'rust-v0.136.0', 'src/scripts/codex-0-136-compat-check.ts', ['sks.codex-0.136-compat-check.v1', 'codex-0.136-compat.json', '--require-real']),
108
- row('codex_0136_aggregate_report', 'rust-v0.136.0', 'src/core/codex-compat/codex-compat-report.ts', ['codex_0_136', 'collectCodex0136LocalEvidence', 'session_archive_supported']),
109
- row('codex_0135_release_matrix', 'rust-v0.135.0', 'src/core/codex/codex-0-135-compat.ts', ['rust-v0.135.0', 'named_permission_profiles', 'responses_retry_centralized']),
110
- row('codex_0134_release_matrix', 'rust-v0.134.0', 'src/core/codex/codex-0-134-compat.ts', ['rust-v0.134.0', 'profile_primary_selector', 'local_conversation_history_search', 'mcp_readonly_parallel_hint', 'managed_network_proxy_env']),
111
- row('codex_0134_official_compat_report', 'rust-v0.134.0', 'src/scripts/codex-0-134-official-compat-report.ts', ['sks.codex-0-134-official-compat.v1', 'release_source_url', 'source_delta']),
112
- row('codex_0134_profile_primary', 'rust-v0.134.0', 'src/core/codex/codex-cli-syntax-builder.ts', ['--profile', '--ignore-user-config', 'cannot combine --profile with --ignore-user-config']),
113
- row('codex_0134_managed_proxy_env', 'rust-v0.134.0', 'src/core/codex/managed-proxy-env.ts', ['MANAGED_PROXY_ENV_KEYS', 'HTTPS_PROXY', 'redactProxyValue']),
114
- row('codex_0134_history_search', 'rust-v0.134.0', 'src/core/source-intelligence/codex-history-search.ts', ['CODEX_HISTORY_SEARCH_SCHEMA', 'case_insensitive', 'redactPreview']),
115
- row('mcp_0134_modernization', 'rust-v0.134.0', 'src/core/mcp/mcp-0-134-policy.ts', ['readOnlyHint', 'candidate_parallel_readonly', '$defs', 'oauth_configured']),
116
- row('codex_0133_release_matrix', 'rust-v0.133.0', 'src/core/codex-compat/codex-0-133.ts', ['rust-v0.133.0', 'goals_default_enabled', 'remote_control_foreground_app_server', 'permission_profiles_requirements']),
117
- row('codex_0133_official_compat_report', 'rust-v0.133.0', 'src/scripts/codex-0-133-official-compat-report.ts', ['sks.codex-0-133-official-compat.v1', 'release_source_url', 'structured_output_inheritance']),
118
- row('hook_official_hash_oracle', 'OpenAI Codex hook trust', 'src/core/codex-hooks/codex-hook-official-hash-oracle.ts', ['sks.codex-hook-hash-oracle.v1', 'golden-fixture', 'unavailable']),
119
- row('agent_multisession_output_schema', 'Codex 0.133 exec --output-schema', 'src/core/agents/agent-runner-codex-exec.ts', ['--output-schema', 'agent-result.schema.json', 'session_id']),
120
- row('codex_plugin_discovery_marketplaces', 'rust-v0.133.0', 'src/core/codex-compat/codex-0-133.ts', ['plugin_discovery_marketplaces', 'plugins and marketplaces']),
121
- row('codex_extension_lifecycle_events', 'rust-v0.133.0', 'src/core/codex-compat/codex-0-133.ts', ['extension_lifecycle_events', 'turn/tool/model/item phases']),
122
- row('codex_exec_resume_output_schema', 'rust-v0.133.0', 'src/core/codex-exec-output-schema.ts', ['runCodexExecResumeWithOutputSchema', '--output-schema', '--output-last-message']),
123
- row('agent_output_schema_validator', 'rust-v0.133.0', 'src/core/agents/agent-worker-pipeline.ts', ['validateAgentWorkerResult', 'agent-result', 'schema']),
124
- row('completion_proof_output_schema_runner', 'rust-v0.133.0', 'src/core/proof/proof-writer.ts', ['generateCompletionProofWithOutputSchema', 'completion-proof']),
125
- row('wrongness_output_schema_runner', 'rust-v0.133.0', 'src/core/triwiki-wrongness/wrongness-ledger.ts', ['extractWrongnessWithOutputSchema', 'wrongness-record']),
126
- row('codex_app_server_image_fidelity', 'rust-v0.133.0', 'src/core/image-ux-review.ts', ['high_fidelity_automatic', 'image_size_relation']),
127
- row('codex_memory_summary_rebuild', 'rust-v0.133.0', 'src/scripts/memory-summary-rebuild-check.ts', ['memory-summary']),
128
- row('codex_repeated_blocker_stop', 'rust-v0.133.0', 'src/core/image-ux-review/fix-loop.ts', ['repeated_blocker_stop']),
129
- row('codex_app_imagegen_evidence_policy', 'Codex App image generation docs', 'src/core/imagegen/imagegen-capability.ts', ['Codex App $imagegen', 'codex_app_builtin_output_required', 'capability_detection_is_not_output_proof', 'official_codex_app_substitute']),
130
- row('codex_chrome_extension_web_verification_policy', 'Codex Chrome Extension docs', 'src/core/routes.ts', ['CODEX_CHROME_EXTENSION_DOC_URL', 'CODEX_WEB_VERIFICATION_POLICY', 'CODEX_WEB_VERIFICATION_EVIDENCE_SOURCE']),
131
- row('chatgpt_images_2_prompt_policy', 'ChatGPT Images 2.0 announcement + gpt-image-2 docs', 'src/core/routes.ts', ['OPENAI_CHATGPT_IMAGES_2_DOC_URL', 'ChatGPT Images 2.0 / GPT Image 2.0 with gpt-image-2', 'IMAGEGEN_SOCIAL_SOURCE_POLICY']),
132
- row('gpt_image_2_generation_edit', 'OpenAI Image Generation docs', 'src/core/image-ux-review/imagegen-adapter.ts', ['gpt-image-2', '/v1/images/edits', 'FormData']),
133
- row('gpt_image_2_high_fidelity_auto', 'OpenAI Image Generation docs', 'src/core/image-ux-review/imagegen-adapter.ts', ['high_fidelity_automatic', 'input_fidelity']),
134
- row('structured_outputs_strict_schema', 'OpenAI Structured Outputs docs', 'src/core/structured-output-adapter.ts', ['json_schema', 'strict', 'additionalProperties'])
135
- ];
136
- const warnings = [];
137
- for (const check of checks) {
138
- if (!check.ok)
139
- warnings.push(`${check.feature}:${check.missing.join(',')}`);
140
- }
141
- for (const source of sourceValidations) {
142
- if (!source.ok)
143
- warnings.push(`${source.feature}:${source.missing.join(',') || source.error || 'source_unavailable'}`);
144
- }
145
- const report = {
146
- schema: 'sks.official-docs-compat.v1',
147
- generated_at: new Date().toISOString(),
148
- codex_release_baseline: 'rust-v0.136.0',
149
- codex_inherited_baselines: ['rust-v0.135.0', 'rust-v0.134.0', 'rust-v0.133.0', 'rust-v0.132.0'],
150
- codex_app_image_generation_docs_baseline: sources.codex_app_image_generation,
151
- codex_chrome_extension_docs_baseline: sources.codex_chrome_extension,
152
- chatgpt_images_2_docs_baseline: sources.chatgpt_images_2_safety_card,
153
- chatgpt_images_2_announcement_reference: sources.chatgpt_images_2,
154
- openai_image_generation_docs_baseline: sources.image_generation,
155
- openai_structured_outputs_docs_baseline: sources.structured_outputs,
156
- rules: {
157
- gpt_image_2_image_input_fidelity: 'high_fidelity_automatic; omit unsupported input_fidelity',
158
- chatgpt_images_2_prompting: 'Codex App image prompts should explicitly request ChatGPT Images 2.0 / GPT Image 2.0 with gpt-image-2 when newest-model output is required',
159
- codex_app_imagegen_evidence: 'full SKS visual evidence requires Codex App $imagegen output; API fallbacks are non-Codex evidence',
160
- codex_chrome_extension_web_verification: 'web/browser/webapp verification uses Codex Chrome Extension first; Computer Use is native Mac/non-web only',
161
- structured_outputs: 'prefer strict json_schema/text.format when schema adherence matters',
162
- codex_output_schema: 'prefer codex exec resume --output-schema for session-preserving structured extraction',
163
- codex_0_136_release_mapping: 'archive/unarchive, app-server --stdio, CODEX_API_KEY registration, server-token remote-control, elevated Windows sandbox setup, native image generation extension pipeline, and command-safety hardening are tracked in the 0.136 compatibility matrix'
164
- },
165
- sources,
166
- source_validations: sourceValidations,
167
- checks,
168
- warnings,
169
- ok: checks.every((check) => check.ok) && sourceValidations.every((source) => source.ok)
170
- };
171
- fs.mkdirSync(reportDir, { recursive: true });
172
- fs.writeFileSync(jsonPath, `${JSON.stringify(report, null, 2)}\n`);
173
- fs.writeFileSync(mdPath, renderMarkdown(report));
174
- console.log(JSON.stringify(report, null, 2));
175
- if (!report.ok)
176
- process.exitCode = 1;
177
- function row(feature, baseline, relFile, needles) {
178
- const file = path.join(root, relFile);
179
- const text = fs.existsSync(file) ? fs.readFileSync(file, 'utf8') : '';
180
- const missing = needles.filter((needle) => !text.includes(needle));
181
- return {
182
- feature,
183
- baseline,
184
- file: relFile,
185
- status: missing.length ? 'warning' : 'mapped',
186
- ok: missing.length === 0,
187
- missing,
188
- release_readiness: true
189
- };
190
- }
191
- function sourceRow(feature, url, fetchResult, body, needles) {
192
- const missing = fetchResult.ok ? needles.filter((needle) => !body.includes(needle)) : needles;
193
- return {
194
- feature,
195
- url,
196
- status_code: fetchResult.statusCode || null,
197
- status: fetchResult.ok && missing.length === 0 ? 'verified' : 'warning',
198
- ok: fetchResult.ok === true && missing.length === 0,
199
- missing,
200
- error: fetchResult.error || null,
201
- fallback_source: fetchResult.fallback_source || null
202
- };
203
- }
204
- function fetchJson(url) {
205
- return new Promise((resolve) => {
206
- const req = https.get(url, {
207
- headers: {
208
- 'User-Agent': 'sneakoscope-official-docs-check',
209
- Accept: 'application/vnd.github+json'
210
- },
211
- timeout: 20000
212
- }, (res) => {
213
- let body = '';
214
- res.setEncoding('utf8');
215
- res.on('data', (chunk) => { body += chunk; });
216
- res.on('end', () => {
217
- try {
218
- const json = JSON.parse(body);
219
- resolve({ ok: res.statusCode >= 200 && res.statusCode < 300, statusCode: res.statusCode, json });
220
- }
221
- catch (err) {
222
- resolve({ ok: false, statusCode: res.statusCode, error: err.message, body: body.slice(0, 1000) });
223
- }
224
- });
225
- });
226
- req.on('timeout', () => {
227
- req.destroy(new Error('timeout'));
228
- });
229
- req.on('error', (err) => {
230
- resolve({ ok: false, error: err.message });
231
- });
232
- });
233
- }
234
- function fetchText(url, opts = {}) {
235
- return new Promise((resolve) => {
236
- const req = https.get(url, {
237
- headers: {
238
- 'User-Agent': opts.userAgent || 'sneakoscope-official-docs-check',
239
- Accept: opts.accept || 'text/html,application/json,text/plain,*/*'
240
- },
241
- timeout: 20000
242
- }, (res) => {
243
- let body = '';
244
- res.setEncoding('utf8');
245
- res.on('data', (chunk) => { body += chunk; });
246
- res.on('end', () => {
247
- resolve({
248
- ok: res.statusCode >= 200 && res.statusCode < 300,
249
- statusCode: res.statusCode,
250
- body,
251
- error: res.statusCode >= 200 && res.statusCode < 300 ? null : `http_${res.statusCode}`
252
- });
253
- });
254
- });
255
- req.on('timeout', () => {
256
- req.destroy(new Error('timeout'));
257
- });
258
- req.on('error', (err) => {
259
- resolve({ ok: false, error: err.message, body: '' });
260
- });
261
- });
262
- }
263
- async function fetchHookSchemaListingFallback(apiResult) {
264
- const schemaNames = [
265
- 'subagent-start.command.input.schema.json',
266
- 'subagent-stop.command.input.schema.json',
267
- 'permission-request.command.input.schema.json'
268
- ];
269
- const fetched = await Promise.all(schemaNames.map(async (name) => {
270
- const url = `https://raw.githubusercontent.com/openai/codex/rust-v0.136.0/codex-rs/hooks/schema/generated/${name}`;
271
- const result = await fetchText(url, { accept: 'application/json,text/plain,*/*' });
272
- return { name, url, result };
273
- }));
274
- const ok = fetched.every((row) => row.result.ok);
275
- return {
276
- ok,
277
- statusCode: ok ? 200 : apiResult.statusCode || null,
278
- body: fetched.filter((row) => row.result.ok).map((row) => row.name).join('\n'),
279
- error: ok ? null : `api_${apiResult.statusCode || apiResult.error || 'unavailable'};raw_missing:${fetched.filter((row) => !row.result.ok).map((row) => row.name).join(',')}`,
280
- fallback_source: 'raw.githubusercontent.com/openai/codex/rust-v0.136.0/codex-rs/hooks/schema/generated/*.json'
281
- };
282
- }
283
- function renderMarkdown(report) {
284
- const lines = [
285
- `# SKS ${RELEASE_VERSION} Official Docs Compatibility`,
286
- '',
287
- `- Schema: \`${report.schema}\``,
288
- `- Codex baseline: \`${report.codex_release_baseline}\``,
289
- `- ChatGPT Images 2.0 docs: ${report.chatgpt_images_2_docs_baseline}`,
290
- `- Image docs: ${report.openai_image_generation_docs_baseline}`,
291
- `- Structured Outputs docs: ${report.openai_structured_outputs_docs_baseline}`,
292
- '',
293
- '| Feature | Baseline | Result |',
294
- '| --- | --- | --- |'
295
- ];
296
- for (const check of report.checks)
297
- lines.push(`| \`${check.feature}\` | ${check.baseline} | ${check.status} |`);
298
- lines.push('', '| Official Source | Result |', '| --- | --- |');
299
- for (const source of report.source_validations)
300
- lines.push(`| \`${source.feature}\` | ${source.status} |`);
301
- lines.push('', `Warnings: ${report.warnings.length ? report.warnings.join(', ') : 'None'}`, '');
302
- return `${lines.join('\n')}\n`;
303
- }
304
- //# sourceMappingURL=official-docs-compat-report.js.map
@@ -1,83 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import os from 'node:os';
5
- import path from 'node:path';
6
- import { spawnSync } from 'node:child_process';
7
- import { assertGate, emitGate, root } from './sks-1-18-gate-lib.js';
8
- const MAX_FILES = Number(process.env.SKS_MAX_PACK_FILES || 1250);
9
- const MAX_UNPACKED = Number(process.env.SKS_MAX_UNPACKED_BYTES || 6 * 1024 * 1024);
10
- const MAX_PACKED = Number(process.env.SKS_MAX_PACK_BYTES || 1536 * 1024);
11
- function runNpmPack() {
12
- const npmCli = process.env.npm_execpath; // set when invoked via `npm run`
13
- const npmCache = process.env.SKS_RELEASE_NPM_CACHE || path.join(os.tmpdir(), 'sneakoscope-npm-cache');
14
- fs.mkdirSync(npmCache, { recursive: true });
15
- const argv = ['pack', '--dry-run', '--json', '--ignore-scripts'];
16
- const opts = {
17
- cwd: root,
18
- encoding: 'utf8',
19
- maxBuffer: 32 * 1024 * 1024,
20
- env: {
21
- ...process.env,
22
- npm_config_cache: npmCache,
23
- NPM_CONFIG_CACHE: npmCache
24
- }
25
- };
26
- const res = npmCli
27
- ? spawnSync(process.execPath, [npmCli, ...argv], opts)
28
- : spawnSync('npm', argv, opts);
29
- return res;
30
- }
31
- const res = runNpmPack();
32
- assertGate(res.status === 0, 'npm_pack_failed', { stderr: res.stderr });
33
- let info;
34
- try {
35
- const parsed = JSON.parse(res.stdout);
36
- info = Array.isArray(parsed) ? parsed[0] : parsed;
37
- }
38
- catch (err) {
39
- assertGate(false, 'npm_pack_unparseable', { error: String(err && err.message ? err.message : err) });
40
- }
41
- const files = info.files.map((f) => f.path);
42
- const runtimeManifest = JSON.parse(fs.readFileSync(path.join(root, 'runtime-required-scripts.json'), 'utf8'));
43
- assertGate(runtimeManifest.schema === 'sks.runtime-required-scripts.v1' && Array.isArray(runtimeManifest.scripts), 'runtime required scripts manifest invalid', runtimeManifest);
44
- assertGate(info.entryCount <= MAX_FILES, 'packlist_file_count_over_limit', { entryCount: info.entryCount, max_files: MAX_FILES });
45
- assertGate(info.unpackedSize <= MAX_UNPACKED, 'packlist_unpacked_over_limit', { unpackedSize: info.unpackedSize, max_unpacked: MAX_UNPACKED });
46
- assertGate(info.size <= MAX_PACKED, 'packlist_packed_over_limit', { size: info.size, max_packed: MAX_PACKED });
47
- assertGate(files.includes('dist/bin/sks.js'), 'packlist_missing_runtime_entry', { missing: 'dist/bin/sks.js' });
48
- for (const entry of runtimeManifest.scripts) {
49
- assertGate(files.includes(entry.path), 'packlist_missing_runtime_required_script', { missing: entry.path, reason: entry.reason });
50
- }
51
- assertGate(files.includes('package.json'), 'packlist_missing_runtime_entry', { missing: 'package.json' });
52
- assertGate(files.includes('README.md'), 'packlist_missing_runtime_entry', { missing: 'README.md' });
53
- assertGate(files.includes('LICENSE'), 'packlist_missing_runtime_entry', { missing: 'LICENSE' });
54
- assertGate(files.some((f) => f.startsWith('schemas/')), 'packlist_missing_runtime_entry', { missing: 'schemas/' });
55
- const forbidden = files.filter((f) => f.startsWith('test/') ||
56
- f.startsWith('src/') ||
57
- f.startsWith('docs/internal/') ||
58
- f.endsWith('.map') ||
59
- f.startsWith('.sneakoscope/') ||
60
- f.endsWith('.tgz') ||
61
- f.startsWith('coverage/') ||
62
- /(^|\/)\.env/.test(f));
63
- assertGate(forbidden.length === 0, 'packlist_forbidden_files', { forbidden });
64
- const report = {
65
- entryCount: info.entryCount,
66
- size: info.size,
67
- unpackedSize: info.unpackedSize,
68
- runtime_required_scripts: runtimeManifest.scripts.map((entry) => entry.path),
69
- runtime_required_missing: runtimeManifest.scripts.filter((entry) => !files.includes(entry.path)).map((entry) => entry.path),
70
- max_files: MAX_FILES,
71
- max_packed: MAX_PACKED,
72
- max_unpacked: MAX_UNPACKED,
73
- forbidden: []
74
- };
75
- const out = path.join(root, '.sneakoscope', 'reports', 'packlist-performance.json');
76
- fs.mkdirSync(path.dirname(out), { recursive: true });
77
- fs.writeFileSync(out, `${JSON.stringify(report, null, 2)}\n`);
78
- emitGate('publish:packlist-performance', {
79
- files: info.entryCount,
80
- packed_kib: Math.round(info.size / 1024),
81
- unpacked_mib: +(info.unpackedSize / 1048576).toFixed(2)
82
- });
83
- //# sourceMappingURL=packlist-performance-check.js.map
@@ -1,85 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import os from 'node:os';
5
- import path from 'node:path';
6
- import { fileURLToPath, pathToFileURL } from 'node:url';
7
- const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
8
- const issues = [];
9
- for (const rel of [
10
- 'src/core/verification/verification-dag.ts',
11
- 'src/core/verification/verification-worker-pool.ts',
12
- 'src/core/verification/verification-artifact-lock.ts',
13
- 'src/core/verification/verification-result.ts',
14
- 'src/core/verification/verification-proof.ts',
15
- 'src/scripts/release-parallel-check.ts'
16
- ]) {
17
- if (!fs.existsSync(path.join(root, rel)))
18
- issues.push(`missing:${rel}`);
19
- }
20
- await runFixture();
21
- const releaseSource = read('src/scripts/release-parallel-check.ts');
22
- for (const token of ['runVerificationDag', 'buildVerificationDag', 'writeParallelVerificationProof']) {
23
- if (!releaseSource.includes(token))
24
- issues.push(`release_parallel_runner_missing:${token}`);
25
- }
26
- const result = { schema: 'sks.parallel-verification-engine-check.v1', ok: issues.length === 0, issues };
27
- console.log(JSON.stringify(result, null, 2));
28
- if (!result.ok)
29
- process.exitCode = 1;
30
- async function runFixture() {
31
- const dagPath = path.join(root, 'dist', 'core', 'verification', 'verification-dag.js');
32
- const poolPath = path.join(root, 'dist', 'core', 'verification', 'verification-worker-pool.js');
33
- if (!fs.existsSync(dagPath) || !fs.existsSync(poolPath))
34
- return;
35
- const dagMod = await import(pathToFileURL(dagPath).href);
36
- const poolMod = await import(pathToFileURL(poolPath).href);
37
- const dag = dagMod.buildVerificationDag([
38
- { id: 'a', command: `${process.execPath} -e "process.exit(0)"`, outputs: ['a.json'] },
39
- { id: 'b', command: `${process.execPath} -e "process.exit(0)"`, dependencies: ['a'], outputs: ['b.json'] }
40
- ]);
41
- const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'sks-verify-'));
42
- const result = await poolMod.runVerificationDag(dag, { cwd: root, concurrency: 2, logDir: tmp });
43
- if (!result.ok || result.task_count !== 2)
44
- issues.push('fixture_parallel_verification_failed');
45
- const failedDag = dagMod.buildVerificationDag([
46
- { id: 'fail', command: `${process.execPath} -e "process.exit(3)"`, outputs: ['fail.json'] },
47
- { id: 'after', command: `${process.execPath} -e "process.exit(0)"`, dependencies: ['fail'], outputs: ['after.json'] }
48
- ]);
49
- const failed = await poolMod.runVerificationDag(failedDag, { cwd: root, concurrency: 2, logDir: tmp });
50
- const after = failed.results.find((row) => row.id === 'after');
51
- if (!after?.skipped || failed.skipped !== 1 || failed.failed !== 1 || failed.task_count !== 2)
52
- issues.push('fixture_failed_dependency_not_skipped');
53
- const timeoutDag = dagMod.buildVerificationDag([
54
- { id: 'slow', command: `${process.execPath} -e "process.on('SIGTERM',()=>setTimeout(()=>process.exit(0),200)); setInterval(()=>{},50)"`, timeout_ms: 20, outputs: ['slow.json'] }
55
- ]);
56
- const timeoutResult = await poolMod.runVerificationDag(timeoutDag, { cwd: root, concurrency: 1, logDir: tmp });
57
- const slow = timeoutResult.results.find((row) => row.id === 'slow');
58
- if (!slow?.error?.startsWith('timeout:') || slow.duration_ms < 20)
59
- issues.push('fixture_timeout_process_tree_not_reported');
60
- try {
61
- dagMod.buildVerificationDag([
62
- { id: 'x', command: 'true', outputs: ['same'] },
63
- { id: 'y', command: 'true', outputs: ['same'] }
64
- ]);
65
- issues.push('fixture_output_conflict_not_blocked');
66
- }
67
- catch { }
68
- try {
69
- dagMod.buildVerificationDag([
70
- { id: 'x', command: 'true', outputs: ['reports/x.json'] },
71
- { id: 'y', command: 'true', outputs: ['reports/../reports/x.json'] }
72
- ]);
73
- issues.push('fixture_normalized_output_conflict_not_blocked');
74
- }
75
- catch { }
76
- }
77
- function read(rel) {
78
- try {
79
- return fs.readFileSync(path.join(root, rel), 'utf8');
80
- }
81
- catch {
82
- return '';
83
- }
84
- }
85
- //# sourceMappingURL=parallel-verification-engine-check.js.map
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { root, assertGate, emitGate, readText } from './sks-1-18-gate-lib.js';
6
- // Locks the guarantee that `postinstall` performs no heavy / network / process-kill
7
- // side-effects by default. This is STATIC source analysis only — we never execute
8
- // `postinstall`, because doing so would mutate the global Codex App / shell environment.
9
- const helpers = readText('src/cli/install-helpers.ts');
10
- // Heavy CLI tool installs (brew / npm globals) are opt-in only.
11
- assertGate(helpers.includes('SKS_POSTINSTALL_AUTO_INSTALL_CLI_TOOLS'), 'postinstall cli tool install must be gated behind SKS_POSTINSTALL_AUTO_INSTALL_CLI_TOOLS');
12
- // Killing a third-party app's processes is opt-in only.
13
- assertGate(helpers.includes("SKS_POSTINSTALL_RECONCILE_APP_PROCESSES === '1'"), 'postinstall process reconciliation must be gated behind SKS_POSTINSTALL_RECONCILE_APP_PROCESSES');
14
- // Config writes are gated (unparseable preserved / unsafe rewrite skipped) and backed up.
15
- assertGate(helpers.includes('unparseable_config_preserved'), 'postinstall must preserve unparseable config');
16
- assertGate(helpers.includes('skipped_unsafe_rewrite'), 'postinstall must skip unsafe config rewrites');
17
- assertGate(helpers.includes('backupCodexConfig'), 'postinstall config writes must back up the existing config');
18
- // User model / service_tier are set-if-absent, never overwritten.
19
- assertGate(helpers.includes('upsertTopLevelTomlStringIfAbsent'), 'postinstall must set user model/service_tier only when absent');
20
- // The postinstall() body must be wrapped in try/catch/finally so it never fails `npm install`.
21
- const postinstallStart = helpers.indexOf('export async function postinstall');
22
- assertGate(postinstallStart !== -1, 'postinstall function not found in install-helpers.ts');
23
- const afterStart = postinstallStart + 'export async function postinstall'.length;
24
- const nextExport = helpers.indexOf('\nexport ', afterStart);
25
- const nextAsync = helpers.indexOf('\nasync function ', afterStart);
26
- const candidates = [nextExport, nextAsync].filter((idx) => idx !== -1);
27
- const bodyEnd = candidates.length ? Math.min(...candidates) : helpers.length;
28
- const postinstallBody = helpers.slice(postinstallStart, bodyEnd);
29
- assertGate(postinstallBody.includes('try'), 'postinstall body must use try (never fail npm install)');
30
- assertGate(postinstallBody.includes('catch'), 'postinstall body must use catch (never fail npm install)');
31
- assertGate(postinstallBody.includes('finally'), 'postinstall body must use finally (never fail npm install)');
32
- // Explicit repair / opt-in paths must be surfaced to the user.
33
- assertGate(helpers.includes('sks bootstrap'), 'postinstall must surface `sks bootstrap` repair path');
34
- assertGate(helpers.includes('sks deps check'), 'postinstall must surface `sks deps check` repair path');
35
- assertGate(helpers.includes('sks doctor --fix'), 'postinstall must surface `sks doctor --fix` repair path');
36
- assertGate(helpers.includes('SKS_POSTINSTALL_AUTO_INSTALL_CLI_TOOLS=1'), 'postinstall hint must mention the SKS_POSTINSTALL_AUTO_INSTALL_CLI_TOOLS=1 opt-in');
37
- // init.ts hardening: managed Codex config merge is set-if-absent and never force-overwrites features.
38
- const init = readText('src/core/init.ts');
39
- const mergeStart = init.indexOf('mergeManagedCodexConfigToml(');
40
- assertGate(mergeStart !== -1, 'mergeManagedCodexConfigToml not found in init.ts');
41
- const afterMergeStart = mergeStart + 'mergeManagedCodexConfigToml('.length;
42
- const mergeNextExport = init.indexOf('\nexport ', afterMergeStart);
43
- const mergeNextAsync = init.indexOf('\nasync function ', afterMergeStart);
44
- const mergeNextFn = init.indexOf('\nfunction ', afterMergeStart);
45
- const mergeCandidates = [mergeNextExport, mergeNextAsync, mergeNextFn].filter((idx) => idx !== -1);
46
- const mergeEnd = mergeCandidates.length ? Math.min(...mergeCandidates) : init.length;
47
- const mergeBody = init.slice(mergeStart, mergeEnd);
48
- assertGate(mergeBody.includes('upsertTomlTableKeyIfAbsent'), 'managed config merge must set feature flags only when absent');
49
- assertGate(mergeBody.includes("SKS_MANAGE_CODEX_APP_PLUGINS === '1'"), 'managed config plugin auto-enable must be opt-in via SKS_MANAGE_CODEX_APP_PLUGINS=1');
50
- assertGate(!/upsertTomlTableKey\(next, 'features'/.test(mergeBody), 'managed config merge must NOT force-overwrite the features table');
51
- const report = {
52
- schema: 'sks.postinstall-safe-side-effects.v1',
53
- ok: true,
54
- gated: ['cli_install', 'process_kill', 'config_write'],
55
- try_catch_finally: true,
56
- managed_config_set_if_absent: true
57
- };
58
- const out = path.join(root, '.sneakoscope/reports/postinstall-safe-side-effects.json');
59
- fs.mkdirSync(path.dirname(out), { recursive: true });
60
- fs.writeFileSync(out, `${JSON.stringify(report, null, 2)}\n`);
61
- emitGate('postinstall:safe-side-effects', {
62
- gated: ['cli_install', 'process_kill', 'config_write'],
63
- try_catch_finally: true
64
- });
65
- //# sourceMappingURL=postinstall-safe-side-effects-check.js.map
@@ -1,40 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import path from 'node:path';
5
- import { spawnSync } from 'node:child_process';
6
- const reportPath = path.join(process.cwd(), '.sneakoscope', 'reports', 'ppt-full-e2e-blackbox.json');
7
- if (!fs.existsSync(reportPath)) {
8
- const run = spawnSync(process.execPath, ['./dist/scripts/ppt-full-e2e-blackbox-check.js'], { cwd: process.cwd(), env: process.env, encoding: 'utf8', maxBuffer: 8 * 1024 * 1024 });
9
- if (run.status !== 0) {
10
- console.log(JSON.stringify({ schema: 'sks.ppt-full-e2e-artifact-graph.v1', ok: false, blocker: 'blackbox_failed', stdout_tail: run.stdout.slice(-2000), stderr_tail: run.stderr.slice(-2000) }, null, 2));
11
- process.exit(1);
12
- }
13
- }
14
- const blackbox = JSON.parse(fs.readFileSync(reportPath, 'utf8'));
15
- const required = ['inventory', 'exportLedger', 'callouts', 'slideIssues', 'deckIssues'];
16
- const blockers = required.filter((key) => !blackbox.artifacts?.[key]).map((key) => `missing:${key}`);
17
- if (!blackbox.artifacts?.proof_schema)
18
- blockers.push('missing:completion_proof');
19
- if (!blackbox.artifacts?.trust_schema)
20
- blockers.push('missing:trust_report');
21
- if (blackbox.generated_slide_review_count < blackbox.exported_slide_images_count)
22
- blockers.push('generated_review_count_lt_slide_count');
23
- if (blackbox.issue_extraction_count <= 0)
24
- blockers.push('issue_extraction_empty');
25
- if (!blackbox.mock_fake_not_verified_real)
26
- blockers.push('mock_promoted_to_real');
27
- const result = {
28
- schema: 'sks.ppt-full-e2e-artifact-graph.v1',
29
- ok: blockers.length === 0,
30
- mission_id: blackbox.mission_id,
31
- local_only_policy: true,
32
- generated_slide_review_count: blackbox.generated_slide_review_count,
33
- slide_count: blackbox.exported_slide_images_count,
34
- issue_extraction_count: blackbox.issue_extraction_count,
35
- blockers
36
- };
37
- console.log(JSON.stringify(result, null, 2));
38
- if (!result.ok)
39
- process.exitCode = 1;
40
- //# sourceMappingURL=ppt-full-e2e-artifact-graph-check.js.map