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,28 +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, root } from './sks-1-18-gate-lib.js';
6
- const mad = fs.readFileSync(path.join(root, 'src/core/commands/mad-sks-command.ts'), 'utf8');
7
- const naruto = fs.readFileSync(path.join(root, 'src/core/commands/naruto-command.ts'), 'utf8');
8
- const launcher = fs.readFileSync(path.join(root, 'src/core/zellij/zellij-launcher.ts'), 'utf8');
9
- const report = {
10
- schema: 'sks.zellij-initial-main-only-blackbox.v1',
11
- ok: true,
12
- mad_slot_zero: /launchMadZellijUi\([\s\S]*slotCount:\s*0/.test(mad),
13
- mad_no_launch_dashboard: !/launch\.dashboard_pane\s*=\s*await openZellijDashboardPane/.test(mad),
14
- mad_initial_ui_artifact: mad.includes('zellij-initial-ui.json') && mad.includes("dashboard_created: false"),
15
- naruto_slot_zero: /launchZellijLayout\([\s\S]*slotCount:\s*0/.test(naruto),
16
- naruto_no_launch_dashboard: !/liveZellij\.dashboard_pane\s*=\s*await openZellijDashboardPane/.test(naruto),
17
- naruto_initial_ui_artifact: naruto.includes('zellij-initial-ui.json') && naruto.includes("dashboard_created: false"),
18
- launcher_allows_zero: launcher.includes('slotCount: opts.slotCount || 1')
19
- };
20
- report.ok = report.mad_slot_zero
21
- && report.mad_no_launch_dashboard
22
- && report.mad_initial_ui_artifact
23
- && report.naruto_slot_zero
24
- && report.naruto_no_launch_dashboard
25
- && report.naruto_initial_ui_artifact;
26
- assertGate(report.ok, 'Zellij initial UI must be main-only with no dashboard/worker pane at launch', report);
27
- emitGate('zellij:initial-main-only-blackbox', report);
28
- //# sourceMappingURL=zellij-initial-main-only-blackbox.js.map
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs/promises';
4
- import os from 'node:os';
5
- import path from 'node:path';
6
- import { pathToFileURL } from 'node:url';
7
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
8
- const freshness = ensureDistFresh({ rebuild: true });
9
- if (!freshness.ok)
10
- fail('dist_not_fresh', { freshness });
11
- const mod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-lane-renderer.js')).href);
12
- const tmp = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-lane-'));
13
- await fs.writeFile(path.join(tmp, 'agent-scheduler-state.json'), `${JSON.stringify({ target_active_slots: 1, active_slot_count: 1, pending_count: 2, completed_count: 3 }, null, 2)}\n`);
14
- await fs.writeFile(path.join(tmp, 'agent-native-cli-session-swarm.json'), `${JSON.stringify({
15
- schema: 'sks.agent-native-cli-session-swarm.v1',
16
- records: [{
17
- slot_id: 'slot-001',
18
- generation_index: 1,
19
- status: 'running',
20
- stdout_log: 'sessions/slot-001/gen-1/worker/worker.stdout.log',
21
- stderr_log: 'sessions/slot-001/gen-1/worker/worker.stderr.log',
22
- heartbeat_path: 'sessions/slot-001/gen-1/worker/worker-heartbeat.jsonl',
23
- result_path: 'sessions/slot-001/gen-1/worker/worker-result.json',
24
- worker_intake: 'sessions/slot-001/gen-1/worker/worker-intake.json',
25
- worker_artifact_dir: 'sessions/slot-001/gen-1/worker'
26
- }]
27
- }, null, 2)}\n`);
28
- await fs.writeFile(path.join(tmp, 'agent-patch-queue.json'), `${JSON.stringify({ queue: [{ slot_id: 'slot-001', target_file: 'src/core/example.ts' }] }, null, 2)}\n`);
29
- await fs.writeFile(path.join(tmp, 'agent-proof-evidence.json'), `${JSON.stringify({ ok: false, blockers: ['fixture_blocker_visible'] }, null, 2)}\n`);
30
- await fs.mkdir(path.join(tmp, 'lanes', 'slot-001'), { recursive: true });
31
- await fs.mkdir(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker'), { recursive: true });
32
- await fs.writeFile(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker', 'worker.stdout.log'), 'worker boot\nnative worker says hello\n');
33
- await fs.writeFile(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker', 'worker.stderr.log'), 'worker stderr tail visible\n');
34
- await fs.writeFile(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker', 'worker-heartbeat.jsonl'), `${JSON.stringify({ event: 'started', ts: '2026-06-02T00:00:00.000Z', slot_id: 'slot-001' })}\n`);
35
- await fs.writeFile(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker', 'worker-result.json'), `${JSON.stringify({ status: 'done', summary: 'live worker connected', blockers: [] }, null, 2)}\n`);
36
- await fs.writeFile(path.join(tmp, 'sessions', 'slot-001', 'gen-1', 'worker', 'worker-intake.json'), `${JSON.stringify({ slot_id: 'slot-001', generation_index: 1, slice: { target_file: 'src/core/example.ts' } }, null, 2)}\n`);
37
- await fs.writeFile(path.join(tmp, 'lanes', 'slot-001', 'command-inbox.jsonl'), `${JSON.stringify({ schema: 'sks.zellij-lane-command.v1', id: 'cmd-fixture', kind: 'operator_text', payload: { text: 'hello' } })}\n`);
38
- const frame = await mod.renderZellijLaneFrame({ missionId: 'M-lane', slot: 'slot-001', ledgerRoot: tmp, once: true, color: false });
39
- const ackText = await fs.readFile(path.join(tmp, 'lanes', 'slot-001', 'command-ack.jsonl'), 'utf8');
40
- const project = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-fast-off-'));
41
- const projectLedger = path.join(project, '.sneakoscope', 'missions', 'M-fast-off', 'agents');
42
- await fs.mkdir(path.join(project, '.sneakoscope', 'state'), { recursive: true });
43
- await fs.mkdir(projectLedger, { recursive: true });
44
- await fs.writeFile(path.join(project, '.sneakoscope', 'state', 'fast-mode.json'), `${JSON.stringify({
45
- schema: 'sks.fast-mode-preference.v1',
46
- updated_at: '2026-06-01T00:00:00.000Z',
47
- mode: 'standard',
48
- fast_mode: false,
49
- service_tier: 'standard',
50
- codex_desktop_service_tier: 'default',
51
- source: 'zellij-lane-renderer-check'
52
- }, null, 2)}\n`);
53
- const offFrame = await mod.renderZellijLaneFrame({ missionId: 'M-fast-off', slot: 'slot-001', ledgerRoot: projectLedger, once: true, color: false });
54
- const required = ['SKS Lane', 'Mission', 'Mode', 'Fast', 'on · service_tier=fast', 'Workers', 'slot-001 gen-1 running', 'Codex child', 'live running · result done', 'Current', 'Queue', 'Safety', 'Blockers', 'Reports', 'Keys:', 'src/core/example.ts', 'fixture_blocker_visible', 'live worker:', 'native worker says hello', 'worker stderr tail visible'];
55
- const offRequired = ['Fast', 'off · service_tier=standard'];
56
- const commandBusOk = frame.report.command_bus?.mode === 'jsonl_nonblocking' && frame.report.command_bus?.newly_acked_count === 1 && ackText.includes('cmd-fixture');
57
- const ok = required.every((item) => frame.frame.includes(item)) && offRequired.every((item) => offFrame.frame.includes(item)) && frame.report.stdout_only === true && commandBusOk;
58
- const report = { schema: 'sks.zellij-lane-renderer-check.v1', ok, frame: frame.report, fast_off_frame: offFrame.report, command_bus_ok: commandBusOk };
59
- await fs.mkdir(path.join(root, '.sneakoscope', 'reports'), { recursive: true });
60
- await fs.writeFile(path.join(root, '.sneakoscope', 'reports', 'zellij-lane-renderer.json'), `${JSON.stringify(report, null, 2)}\n`);
61
- emit(report);
62
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
63
- process.exitCode = 1; }
64
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-lane-renderer-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
65
- //# sourceMappingURL=zellij-lane-renderer-check.js.map
@@ -1,75 +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 single documented Zellij launch command across code + changelog and
7
- // forbids the stale `zellij --session <s> --layout <l>` launch pattern.
8
- const launcherText = readText('src/core/zellij/zellij-launcher.ts');
9
- const builderText = readText('src/core/zellij/zellij-layout-builder.ts');
10
- for (const [rel, text] of [
11
- ['src/core/zellij/zellij-launcher.ts', launcherText],
12
- ['src/core/zellij/zellij-layout-builder.ts', builderText]
13
- ]) {
14
- assertGate(text.includes('--create-background'), `missing --create-background in ${rel}`, { file: rel });
15
- assertGate(text.includes('--default-layout'), `missing --default-layout in ${rel}`, { file: rel });
16
- }
17
- // The launcher must use the attach form: the argv array literal begins with
18
- // 'attach', '--create-background'.
19
- assertGate(launcherText.includes("'attach', '--create-background'"), "launcher must use the attach form: \"'attach', '--create-background'\"", { file: 'src/core/zellij/zellij-launcher.ts' });
20
- // Stale-pattern ban across src/ and scripts/ (.ts/.mjs/.js only). The stale
21
- // launch is `zellij --session <s> --layout <l>`; the regex matches that line
22
- // shape. zellij-screen-proof.ts uses ['--session', name, 'action',
23
- // 'dump-screen', ...] (no --layout) so it is correctly ignored.
24
- const STALE_RE = /--session[^\n]*--layout/;
25
- const exts = new Set(['.ts', '.mjs', '.js']);
26
- const scanRoots = ['src', 'scripts'];
27
- // This gate's own source necessarily contains the stale pattern (the regex +
28
- // the doc comment), so it must exclude itself from the scan.
29
- const SELF_FILE = 'zellij-launch-command-truth-check.ts';
30
- const offenders = [];
31
- let filesScanned = 0;
32
- function walk(dir) {
33
- let entries;
34
- try {
35
- entries = fs.readdirSync(dir, { withFileTypes: true });
36
- }
37
- catch {
38
- return;
39
- }
40
- for (const entry of entries) {
41
- const full = path.join(dir, entry.name);
42
- if (entry.isDirectory()) {
43
- walk(full);
44
- continue;
45
- }
46
- if (!entry.isFile())
47
- continue;
48
- if (entry.name === SELF_FILE)
49
- continue;
50
- if (!exts.has(path.extname(entry.name)))
51
- continue;
52
- filesScanned += 1;
53
- const text = fs.readFileSync(full, 'utf8');
54
- if (STALE_RE.test(text))
55
- offenders.push(path.relative(root, full));
56
- }
57
- }
58
- for (const scanRoot of scanRoots)
59
- walk(path.join(root, scanRoot));
60
- assertGate(offenders.length === 0, 'stale `zellij --session <s> --layout <l>` launch pattern found', { offenders, pattern: String(STALE_RE) });
61
- // Changelog agreement: the documented command in CHANGELOG must match the code.
62
- const changelog = readText('CHANGELOG.md');
63
- assertGate(changelog.includes('--create-background'), 'CHANGELOG.md missing --create-background', {});
64
- assertGate(changelog.includes('--default-layout'), 'CHANGELOG.md missing --default-layout', {});
65
- const report = {
66
- schema: 'sks.zellij-launch-command-truth.v1',
67
- ok: true,
68
- launcher_ok: true,
69
- files_scanned: filesScanned,
70
- offenders
71
- };
72
- fs.mkdirSync(path.join(root, '.sneakoscope', 'reports'), { recursive: true });
73
- fs.writeFileSync(path.join(root, '.sneakoscope', 'reports', 'zellij-launch-command-truth.json'), `${JSON.stringify(report, null, 2)}\n`);
74
- emitGate('zellij:launch-command-truth', { launcher_ok: true, files_scanned: filesScanned });
75
- //# sourceMappingURL=zellij-launch-command-truth-check.js.map
@@ -1,90 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs/promises';
4
- import os from 'node:os';
5
- import path from 'node:path';
6
- import { pathToFileURL } from 'node:url';
7
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
8
- const freshness = ensureDistFresh({ rebuild: true });
9
- if (!freshness.ok)
10
- fail('dist_not_fresh', { freshness });
11
- const layoutMod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-layout-builder.js')).href);
12
- const capabilityMod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-capability.js')).href);
13
- const commandMod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-command.js')).href);
14
- const built = layoutMod.buildZellijLayoutKdl({ missionId: 'M-layout-check', ledgerRoot: path.join(root, '.sneakoscope', 'tmp', 'layout-check'), cwd: root, kind: 'agent', slotCount: 2 });
15
- const staticValidation = layoutMod.validateZellijLayoutKdl(built.layout_kdl);
16
- const spawnOnDemandOk = built.initial_worker_panes === 0
17
- && built.lane_runtime_policies.length === 0
18
- && built.layout_kdl.includes('pane name="orchestrator"')
19
- && !built.layout_kdl.includes('zellij-lane')
20
- && !(built.layout_kdl.match(/pane name="slot-/g) || []).length
21
- && built.lane_dispatch_policy?.mode === 'jsonl_nonblocking'
22
- && built.lane_dispatch_policy?.fifo_policy === 'disabled_to_avoid_writer_blocking';
23
- const narutoFanoutLayout = layoutMod.buildZellijLayoutKdl({
24
- missionId: 'M-layout-naruto-fanout',
25
- ledgerRoot: path.join(root, '.sneakoscope', 'tmp', 'layout-naruto-fanout'),
26
- cwd: root,
27
- kind: 'naruto',
28
- slotCount: 24
29
- });
30
- const narutoFanoutPaneCount = (narutoFanoutLayout.layout_kdl.match(/pane name="slot-/g) || []).length;
31
- const kindsValidated = ['mad', 'agent', 'team', 'naruto'].map((kind) => {
32
- const b = layoutMod.buildZellijLayoutKdl({
33
- missionId: `M-layout-${kind}`,
34
- ledgerRoot: path.join(root, '.sneakoscope', 'tmp', `layout-${kind}`),
35
- cwd: root,
36
- kind,
37
- slotCount: 2,
38
- codexArgs: kind === 'mad' ? ['--profile', 'sks-mad-high', '-c', 'service_tier=fast'] : []
39
- });
40
- const hasCodexPane = kind !== 'mad' || (b.main_pane_kind === 'codex_interactive' && /exec\s+'?codex'?/.test(b.layout_kdl) && b.layout_kdl.includes('sks-mad-high') && b.layout_kdl.includes('--no-alt-screen'));
41
- const noLanePane = !b.layout_kdl.includes('zellij-lane') && !(b.layout_kdl.match(/pane name="slot-/g) || []).length;
42
- return { kind, ok: layoutMod.validateZellijLayoutKdl(b.layout_kdl).ok && hasCodexPane && noLanePane && b.initial_worker_panes === 0, main_pane_kind: b.main_pane_kind, has_codex_pane: hasCodexPane, no_lane_pane: noLanePane };
43
- });
44
- const allKindsOk = kindsValidated.every((k) => k.ok);
45
- const invalidValidation = layoutMod.validateZellijLayoutKdl('layout { pane command="zellij-lane" {');
46
- const tmp = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-layout-'));
47
- const layoutPath = path.join(tmp, 'layout.kdl');
48
- await fs.writeFile(layoutPath, built.layout_kdl, 'utf8');
49
- const requireReal = process.env.SKS_REQUIRE_ZELLIJ === '1' || process.argv.includes('--require-real');
50
- const capability = await capabilityMod.checkZellijCapability({ root, require: requireReal, writeReport: true });
51
- const sessionName = 'sks-layout-check';
52
- if (capability.status === 'ok')
53
- await commandMod.runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 2500, optional: true });
54
- const realRun = capability.status === 'ok'
55
- ? {
56
- create_background: await commandMod.runZellij(['attach', '--create-background', sessionName, 'options', '--default-layout', layoutPath], { cwd: root, timeoutMs: 5000, optional: !requireReal }),
57
- cleanup: null,
58
- ok: false
59
- }
60
- : null;
61
- if (realRun) {
62
- realRun.cleanup = await commandMod.runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 5000, optional: true });
63
- realRun.ok = realRun.create_background.ok === true;
64
- }
65
- const ok = staticValidation.ok
66
- && spawnOnDemandOk
67
- && allKindsOk
68
- && layoutMod.validateZellijLayoutKdl(narutoFanoutLayout.layout_kdl).ok
69
- && narutoFanoutPaneCount === 0
70
- && invalidValidation.ok === false
71
- && capability.ok
72
- && (requireReal ? realRun?.ok === true : true);
73
- emit({
74
- schema: 'sks.zellij-layout-valid-check.v1',
75
- ok,
76
- layout: { ...built, layout_kdl: undefined, layout_path: layoutPath },
77
- spawn_on_demand_ok: spawnOnDemandOk,
78
- kinds_validated: kindsValidated,
79
- naruto_fanout_layout: { slot_count: narutoFanoutLayout.slot_count, pane_count: narutoFanoutPaneCount, initial_worker_panes: narutoFanoutLayout.initial_worker_panes },
80
- static_validation: staticValidation,
81
- invalid_fixture: invalidValidation,
82
- capability,
83
- real_run: realRun,
84
- integration_optional: !requireReal,
85
- blockers: ok ? [] : ['zellij_layout_valid_check_failed']
86
- });
87
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
88
- process.exitCode = 1; }
89
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-layout-valid-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
90
- //# sourceMappingURL=zellij-layout-valid-check.js.map
@@ -1,59 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import path from 'node:path';
4
- import { pathToFileURL } from 'node:url';
5
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
6
- const freshness = ensureDistFresh({ rebuild: true });
7
- if (!freshness.ok)
8
- fail('dist_not_fresh', { freshness });
9
- const mod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-pane-proof.js')).href);
10
- const args = process.argv.slice(2);
11
- const missionId = readArg(args, '--mission');
12
- const sessionName = readArg(args, '--session');
13
- const expectedLaneArg = readArg(args, '--expected-lanes');
14
- const expectedLaneCount = expectedLaneArg === null ? undefined : Number(expectedLaneArg);
15
- const report = await mod.writeZellijPaneProof(root, {
16
- require: process.env.SKS_REQUIRE_ZELLIJ === '1' || args.includes('--require-real'),
17
- missionId: missionId || undefined,
18
- sessionName: sessionName || undefined,
19
- expectedLaneCount,
20
- ledgerRoot: missionId ? path.join(root, '.sneakoscope', 'missions', missionId) : undefined
21
- });
22
- const positive = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
23
- { pane_id: '1', name: 'orchestrator', command: 'sh -lc sks status --json', cwd: root, exited: false, x: 0, y: 0, width: 80, height: 24 },
24
- { pane_id: '2', name: 'slot-001', command: 'sh -lc sks zellij-lane --mission M --slot slot-001', cwd: root, exited: false, x: 80, y: 0, width: 40, height: 24 }
25
- ]), { expectedLaneCount: 1, expectedCwd: root });
26
- const missingLane = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
27
- { pane_id: '1', name: 'orchestrator', command: 'sh', cwd: root, exited: false }
28
- ]), { expectedLaneCount: 1, expectedCwd: root });
29
- const exitedLane = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
30
- { pane_id: '1', name: 'orchestrator', command: 'sh', cwd: root, exited: false },
31
- { pane_id: '2', name: 'slot-001', command: 'sks zellij-lane --mission M --slot slot-001', cwd: root, exited: true }
32
- ]), { expectedLaneCount: 1, expectedCwd: root });
33
- const madCodexMain = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
34
- { pane_id: '1', name: 'orchestrator', command: 'codex --profile sks-mad-high', cwd: root, exited: false },
35
- { pane_id: '2', name: 'slot-001', command: 'sks zellij-lane --mission M --slot slot-001', cwd: root, exited: false }
36
- ]), { expectedLaneCount: 1, expectedCwd: root, expectedMainCommandIncludes: 'codex' });
37
- const madShellMain = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
38
- { pane_id: '1', name: 'orchestrator', command: 'sh -lc sks status --json', cwd: root, exited: false },
39
- { pane_id: '2', name: 'slot-001', command: 'sks zellij-lane --mission M --slot slot-001', cwd: root, exited: false }
40
- ]), { expectedLaneCount: 1, expectedCwd: root, expectedMainCommandIncludes: 'codex' });
41
- const codexLbOnlyMain = mod.evaluateZellijPaneProofRows(mod.normalizeZellijPaneRows([
42
- { pane_id: '1', name: 'orchestrator', command: 'sh -lc model_provider="codex-lb"', cwd: root, exited: false },
43
- { pane_id: '2', name: 'slot-001', command: 'sks zellij-lane --mission M --slot slot-001', cwd: root, exited: false }
44
- ]), { expectedLaneCount: 1, expectedCwd: root, expectedMainCommandIncludes: 'codex' });
45
- const fixtureOk = positive.blockers.length === 0
46
- && missingLane.blockers.includes('zellij_lane_pane_missing')
47
- && exitedLane.blockers.some((blocker) => blocker.startsWith('zellij_lane_pane_exited'))
48
- && madCodexMain.blockers.length === 0
49
- && madShellMain.blockers.includes('zellij_main_pane_unexpected_command:codex')
50
- && codexLbOnlyMain.blockers.includes('zellij_main_pane_unexpected_command:codex');
51
- emit({ ...report, fixture_ok: fixtureOk, fixture_results: { positive, missingLane, exitedLane, madCodexMain, madShellMain, codexLbOnlyMain }, ok: report.ok && fixtureOk });
52
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
53
- process.exitCode = 1; }
54
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-pane-proof-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
55
- function readArg(args, name) {
56
- const index = args.indexOf(name);
57
- return index >= 0 ? args[index + 1] || null : null;
58
- }
59
- //# sourceMappingURL=zellij-pane-proof-check.js.map
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import path from 'node:path';
4
- import { pathToFileURL } from 'node:url';
5
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
6
- const freshness = ensureDistFresh({ rebuild: false });
7
- if (!freshness.ok)
8
- fail('dist_not_fresh', { freshness });
9
- const args = process.argv.slice(2);
10
- const sessionName = readArg(args, '--session') || 'sks-real';
11
- const command = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-command.js')).href);
12
- const result = await command.runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 5000, optional: true });
13
- emit({ schema: 'sks.zellij-real-session-cleanup-check.v1', ok: result.ok === true || result.exit_code !== 0, session_name: sessionName, result });
14
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
15
- process.exitCode = 1; }
16
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-real-session-cleanup-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
17
- function readArg(args, name) {
18
- const index = args.indexOf(name);
19
- return index >= 0 ? args[index + 1] || null : null;
20
- }
21
- //# sourceMappingURL=zellij-real-session-cleanup-check.js.map
@@ -1,49 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs/promises';
4
- import os from 'node:os';
5
- import path from 'node:path';
6
- import { root, assertGate, emitGate, importDist, readText } from './sks-1-18-gate-lib.js';
7
- // Proves the heartbeat-timeout-as-blocker LOGIC hermetically (no real Zellij):
8
- // a missing/empty heartbeat must yield a decisive timeout blocker so the
9
- // real-session launch gate can fail directly instead of hanging.
10
- const sp = await importDist('core/zellij/zellij-screen-proof.js');
11
- const { waitForLaneHeartbeat, ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER } = sp;
12
- assertGate(ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER === 'zellij_lane_heartbeat_timeout', 'ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER mismatch', { actual: ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER });
13
- const tmp = await fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-hb-'));
14
- // Case PRESENT: a heartbeat file with a non-empty JSON line resolves ok fast.
15
- const presentPath = path.join(tmp, 'present-heartbeat.jsonl');
16
- await fs.writeFile(presentPath, `${JSON.stringify({ schema: 'sks.zellij-lane-render.v1', ok: true })}\n`);
17
- const present = await waitForLaneHeartbeat(presentPath, { timeoutMs: 1000, intervalMs: 25 });
18
- assertGate(present.ok === true, 'PRESENT heartbeat should be ok', { present });
19
- assertGate(present.heartbeat_present === true, 'PRESENT heartbeat should be present', { present });
20
- assertGate(present.blocker === null, 'PRESENT heartbeat should have no blocker', { present });
21
- assertGate(present.waited_ms < 1000, 'PRESENT heartbeat should resolve before timeout', { present });
22
- // Case MISSING: a nonexistent path times out into the blocker.
23
- const missingPath = path.join(tmp, 'nope-heartbeat.jsonl');
24
- const missing = await waitForLaneHeartbeat(missingPath, { timeoutMs: 200, intervalMs: 25 });
25
- assertGate(missing.ok === false, 'MISSING heartbeat should not be ok', { missing });
26
- assertGate(missing.heartbeat_present === false, 'MISSING heartbeat should not be present', { missing });
27
- assertGate(missing.blocker === ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER, 'MISSING heartbeat should yield timeout blocker', { missing });
28
- assertGate(missing.waited_ms >= 150, 'MISSING heartbeat should wait the timeout window', { missing });
29
- // Case EMPTY: a whitespace-only file is treated as no heartbeat.
30
- const emptyPath = path.join(tmp, 'empty-heartbeat.jsonl');
31
- await fs.writeFile(emptyPath, '\n \n');
32
- const empty = await waitForLaneHeartbeat(emptyPath, { timeoutMs: 200, intervalMs: 25 });
33
- assertGate(empty.ok === false, 'EMPTY heartbeat should not be ok', { empty });
34
- assertGate(empty.blocker === ZELLIJ_HEARTBEAT_TIMEOUT_BLOCKER, 'EMPTY heartbeat should yield timeout blocker', { empty });
35
- // Wiring: the real-session launch gate must consume the heartbeat blocker.
36
- const launchGate = readText('src/scripts/zellij-real-session-launch-check.ts');
37
- assertGate(launchGate.includes('waitForLaneHeartbeat'), 'launch gate must call waitForLaneHeartbeat', {});
38
- assertGate(launchGate.includes('heartbeat.blocker'), 'launch gate must consume heartbeat.blocker', {});
39
- const report = {
40
- schema: 'sks.zellij-real-session-heartbeat.v1',
41
- ok: true,
42
- present_ok: true,
43
- timeout_ok: true,
44
- cases: { present, missing, empty }
45
- };
46
- await fs.mkdir(path.join(root, '.sneakoscope', 'reports'), { recursive: true });
47
- await fs.writeFile(path.join(root, '.sneakoscope', 'reports', 'zellij-real-session-heartbeat.json'), `${JSON.stringify(report, null, 2)}\n`);
48
- emitGate('zellij:real-session-heartbeat', { present_ok: true, timeout_ok: true });
49
- //# sourceMappingURL=zellij-real-session-heartbeat-check.js.map
@@ -1,57 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs/promises';
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
- fail('dist_not_fresh', { freshness });
10
- const args = process.argv.slice(2);
11
- const missionId = readArg(args, '--mission') || 'M-zellij-real-check';
12
- const sessionName = readArg(args, '--session') || 'sks-real';
13
- const requireReal = process.env.SKS_REQUIRE_ZELLIJ === '1' || args.includes('--require-real');
14
- const mainOnly = args.includes('--main-only') || process.env.SKS_ZELLIJ_MAIN_ONLY === '1';
15
- const launcher = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-launcher.js')).href);
16
- const command = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-command.js')).href);
17
- const screenProof = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-screen-proof.js')).href);
18
- await command.runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 5000, optional: true });
19
- await fs.rm(path.join(root, '.sneakoscope', 'missions', missionId), { recursive: true, force: true }).catch(() => null);
20
- const report = await launcher.launchMadZellijUi(['--session', sessionName], {
21
- root,
22
- missionId,
23
- ledgerRoot: path.join(root, '.sneakoscope', 'missions', missionId, 'agents'),
24
- dryRun: false,
25
- requireZellij: requireReal,
26
- slotCount: 1
27
- });
28
- const heartbeatPath = path.join(root, '.sneakoscope', 'missions', missionId, 'zellij-lane-renderer-heartbeat.jsonl');
29
- const heartbeat = mainOnly
30
- ? { ok: true, heartbeat_present: false, waited_ms: 0, timeout_ms: 0, blocker: null, skipped: true }
31
- : await screenProof.waitForLaneHeartbeat(heartbeatPath, { timeoutMs: 5000 });
32
- const blockers = [
33
- ...(requireReal && report.ok !== true ? ['zellij_real_session_launch_failed'] : []),
34
- ...(requireReal && heartbeat.blocker ? [heartbeat.blocker] : [])
35
- ];
36
- const gate = {
37
- schema: 'sks.zellij-real-session-launch-check.v1',
38
- ok: requireReal ? (report.ok === true && heartbeat.ok === true && blockers.length === 0) : report.ok === true,
39
- integration_optional: !requireReal,
40
- main_only: mainOnly,
41
- mission_id: missionId,
42
- session_name: sessionName,
43
- heartbeat: { path: heartbeatPath, present: heartbeat.heartbeat_present, waited_ms: heartbeat.waited_ms, timeout_ms: heartbeat.timeout_ms },
44
- blockers,
45
- report
46
- };
47
- await fs.mkdir(path.join(root, '.sneakoscope', 'reports'), { recursive: true });
48
- await fs.writeFile(path.join(root, '.sneakoscope', 'reports', 'zellij-real-session-launch.json'), `${JSON.stringify(gate, null, 2)}\n`);
49
- emit(gate);
50
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
51
- process.exitCode = 1; }
52
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-real-session-launch-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
53
- function readArg(args, name) {
54
- const index = args.indexOf(name);
55
- return index >= 0 ? args[index + 1] || null : null;
56
- }
57
- //# sourceMappingURL=zellij-real-session-launch-check.js.map
@@ -1,22 +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, root } from './sks-1-18-gate-lib.js';
6
- const worker = fs.readFileSync(path.join(root, 'src/core/zellij/zellij-worker-pane-manager.ts'), 'utf8');
7
- const manager = fs.readFileSync(path.join(root, 'src/core/zellij/zellij-right-column-manager.ts'), 'utf8');
8
- const swarm = fs.readFileSync(path.join(root, 'src/core/agents/native-cli-session-swarm.ts'), 'utf8');
9
- const headlessReturnIndex = worker.indexOf("rightColumn?.placement === 'headless'");
10
- const newPaneIndex = worker.indexOf("action', 'new-pane'");
11
- const report = {
12
- schema: 'sks.zellij-right-column-headless-overflow-check.v1',
13
- headless_source: worker.includes("'zellij_worker_headless_overflow'"),
14
- headless_scaling_primitive: worker.includes('native_cli_process_headless_with_slot_dashboard'),
15
- returns_before_new_pane: headlessReturnIndex >= 0 && newPaneIndex >= 0 && headlessReturnIndex < newPaneIndex,
16
- manager_records_overflow: manager.includes('worker_headless_overflow') && manager.includes('visible_pane_cap'),
17
- swarm_records_overflow: swarm.includes('recordHeadlessWorkerInRightColumn')
18
- };
19
- const ok = report.headless_source && report.headless_scaling_primitive && report.returns_before_new_pane && report.manager_records_overflow && report.swarm_records_overflow;
20
- assertGate(ok, 'headless overflow must not call zellij action new-pane', report);
21
- emitGate('zellij:right-column-headless-overflow', report);
22
- //# sourceMappingURL=zellij-right-column-headless-overflow-check.js.map
@@ -1,27 +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, root } from './sks-1-18-gate-lib.js';
6
- const source = fs.readFileSync(path.join(root, 'src/core/zellij/zellij-right-column-manager.ts'), 'utf8');
7
- const worker = fs.readFileSync(path.join(root, 'src/core/zellij/zellij-worker-pane-manager.ts'), 'utf8');
8
- const schemaExists = fs.existsSync(path.join(root, 'schemas/zellij/zellij-right-column-state.schema.json'));
9
- const report = {
10
- schema: 'sks.zellij-right-column-manager-check.v1',
11
- ok: true,
12
- exports: ['ensureRightColumn', 'prepareWorkerInRightColumn', 'recordWorkerPaneInRightColumn', 'recordHeadlessWorkerInRightColumn', 'closeWorkerInRightColumn'].every((name) => source.includes(`function ${name}`)),
13
- dashboard_after_worker_reservation: source.includes('right_column_creating') && source.includes('scheduler_slot_reserved'),
14
- dashboard_opt_in: source.includes('zellijUiModeCreatesDashboard') && source.includes('dashboard_created: false'),
15
- slot_column_anchor_right: worker.includes('buildZellijSlotColumnAnchorCommand') && worker.includes("'--direction', 'right', '--name', 'SLOTS'"),
16
- worker_direction_stack: worker.includes("'--direction', directionRequested")
17
- && worker.includes("const directionRequested: 'right' | 'down' = 'down'")
18
- && worker.includes("'--near-current-pane'")
19
- && worker.includes('worker_direction_requested')
20
- && worker.includes('slot_column_anchor_pane_id'),
21
- headless_overflow: source.includes('worker_headless_overflow') && source.includes('visible_pane_cap'),
22
- schema_exists: schemaExists
23
- };
24
- report.ok = report.exports && report.dashboard_after_worker_reservation && report.dashboard_opt_in && report.slot_column_anchor_right && report.worker_direction_stack && report.headless_overflow && report.schema_exists;
25
- assertGate(report.ok, 'right-column manager must own opt-in dashboard, stacked workers, headless overflow, and state schema', report);
26
- emitGate('zellij:right-column-manager', report);
27
- //# sourceMappingURL=zellij-right-column-manager-check.js.map
@@ -1,45 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import path from 'node:path';
4
- import { pathToFileURL } from 'node:url';
5
- import { ensureDistFresh, root } from './lib/ensure-dist-fresh.js';
6
- const freshness = ensureDistFresh({ rebuild: true });
7
- if (!freshness.ok)
8
- fail('dist_not_fresh', { freshness });
9
- const mod = await import(pathToFileURL(path.join(root, 'dist', 'core', 'zellij', 'zellij-screen-proof.js')).href);
10
- const args = process.argv.slice(2);
11
- const missionId = readArg(args, '--mission');
12
- const mainOnly = args.includes('--main-only') || process.env.SKS_ZELLIJ_MAIN_ONLY === '1';
13
- if (missionId && !mainOnly)
14
- await waitForHeartbeat([
15
- path.join(root, '.sneakoscope', 'missions', missionId, 'zellij-lane-renderer-heartbeat.jsonl'),
16
- path.join(root, '.sneakoscope', 'missions', missionId, 'agents', 'zellij-lane-renderer-heartbeat.jsonl')
17
- ]);
18
- const report = await mod.writeZellijScreenProof(root, {
19
- require: process.env.SKS_REQUIRE_ZELLIJ === '1' || args.includes('--require-real'),
20
- missionId: missionId || undefined,
21
- ledgerRoot: missionId ? path.join(root, '.sneakoscope', 'missions', missionId) : undefined,
22
- mainOnly
23
- });
24
- const requiredTextOk = ['SKS Lane', 'Mission', 'Mode', 'Workers', 'Current', 'Queue', 'Safety', 'Blockers', 'Reports', 'Keys:'].every((label) => report.required_text?.includes(label));
25
- emit({ ...report, required_text_fixture_ok: requiredTextOk, ok: report.ok && requiredTextOk });
26
- function emit(report) { console.log(JSON.stringify(report, null, 2)); if (!report.ok)
27
- process.exitCode = 1; }
28
- function fail(blocker, detail) { emit({ schema: 'sks.zellij-screen-proof-check.v1', ok: false, blockers: [blocker], detail }); process.exit(1); }
29
- function readArg(args, name) {
30
- const index = args.indexOf(name);
31
- return index >= 0 ? args[index + 1] || null : null;
32
- }
33
- async function waitForHeartbeat(files) {
34
- const fs = await import('node:fs/promises');
35
- const deadline = Date.now() + 5000;
36
- while (Date.now() < deadline) {
37
- for (const file of files) {
38
- const text = await fs.readFile(file, 'utf8').catch(() => '');
39
- if (text.trim())
40
- return;
41
- }
42
- await new Promise((resolve) => setTimeout(resolve, 250));
43
- }
44
- }
45
- //# sourceMappingURL=zellij-screen-proof-check.js.map
@@ -1,66 +0,0 @@
1
- #!/usr/bin/env node
2
- import { assertGate, emitGate } from './sks-1-18-gate-lib.js';
3
- import { buildZellijSlotColumnAnchorCommand, renderZellijSlotColumnAnchor } from '../core/zellij/zellij-slot-column-anchor.js';
4
- const rendered = renderZellijSlotColumnAnchor({
5
- activeWorkers: 3,
6
- visiblePaneCap: 8,
7
- headlessWorkers: 12,
8
- queueDepth: 44,
9
- mode: 'compact-slots'
10
- });
11
- const roster = renderZellijSlotColumnAnchor({
12
- activeWorkers: 1,
13
- visiblePaneCap: 5,
14
- headlessWorkers: 0,
15
- queueDepth: 0,
16
- mode: 'compact-slots',
17
- workerRows: [
18
- {
19
- slotId: 'slot-004',
20
- generationIndex: 1,
21
- placement: 'zellij-pane',
22
- status: 'running',
23
- backend: 'codex-sdk',
24
- task: 'Inspect Zellij slot UI assignment',
25
- heartbeatAgeMs: 900
26
- }
27
- ]
28
- });
29
- const overflow = renderZellijSlotColumnAnchor({
30
- activeWorkers: 6,
31
- visiblePaneCap: 5,
32
- headlessWorkers: 1,
33
- queueDepth: 0,
34
- mode: 'compact-slots',
35
- workerRows: [
36
- {
37
- slotId: 'slot-009',
38
- generationIndex: 1,
39
- placement: 'headless',
40
- status: 'running',
41
- backend: 'local-llm',
42
- task: 'Waiting for a visible slot pane',
43
- heartbeatAgeMs: 1200
44
- }
45
- ]
46
- });
47
- const command = buildZellijSlotColumnAnchorCommand({
48
- nodePath: '/usr/bin/node',
49
- cliPath: '/repo/dist/bin/sks.js',
50
- missionId: 'M-check',
51
- mode: 'compact-slots',
52
- artifactRoot: '/repo/.sneakoscope/missions/M-check/agents',
53
- watch: true
54
- });
55
- const ok = rendered.includes('SLOTS active 3/8 · headless 12 · q 44')
56
- && rendered.includes('visible slot panes stack below this anchor')
57
- && roster.includes('SLOTS active 1/5 · headless 0 · q 0')
58
- && roster.includes('visible slot panes stack below this anchor')
59
- && !roster.includes('slot-004 g1 running codex-sdk')
60
- && overflow.includes('slot-009 g1 running local-llm')
61
- && overflow.includes('Waiting for a visible slot pane')
62
- && command.includes('zellij-slot-column-anchor')
63
- && command.includes('--watch');
64
- assertGate(ok, 'Zellij slot-column anchor must stay an anchor while slot workers render in dedicated stacked panes', { rendered, roster, overflow, command });
65
- emitGate('zellij:slot-column-anchor', { rendered, roster, overflow, command });
66
- //# sourceMappingURL=zellij-slot-column-anchor-check.js.map