sneakoscope 2.0.13 → 2.0.14

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 (61) hide show
  1. package/README.md +2 -2
  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/core/agents/agent-orchestrator.js +11 -4
  8. package/dist/core/agents/agent-output-validator.js +1 -1
  9. package/dist/core/codex-control/codex-fake-sdk-adapter.js +3 -3
  10. package/dist/core/codex-control/gpt-final-review-schema.js +61 -14
  11. package/dist/core/commands/naruto-command.js +1 -0
  12. package/dist/core/commands/research-command.js +71 -17
  13. package/dist/core/fsx.js +1 -1
  14. package/dist/core/naruto/naruto-real-worker-child.js +11 -3
  15. package/dist/core/naruto/naruto-real-worker-runtime.js +4 -0
  16. package/dist/core/pipeline/final-gpt-patch-stage.js +20 -3
  17. package/dist/core/research/implementation-blueprint-densifier.js +124 -0
  18. package/dist/core/research/research-claim-builder.js +114 -0
  19. package/dist/core/research/research-cycle-runner.js +115 -11
  20. package/dist/core/research/research-final-reviewer.js +155 -1
  21. package/dist/core/research/research-source-ledger-merge.js +186 -0
  22. package/dist/core/research/research-source-shards.js +176 -0
  23. package/dist/core/research/research-stage-runner.js +510 -11
  24. package/dist/core/research/research-work-graph.js +114 -23
  25. package/dist/core/research.js +12 -0
  26. package/dist/core/version.js +1 -1
  27. package/dist/scripts/codex-sdk-research-pipeline-check.js +40 -8
  28. package/dist/scripts/release-dag-full-coverage-check.js +14 -1
  29. package/dist/scripts/release-parallel-speed-budget-check.js +7 -2
  30. package/dist/scripts/research-blueprint-densifier-check.js +21 -0
  31. package/dist/scripts/research-claim-builder-check.js +19 -0
  32. package/dist/scripts/research-complete-package-fixture-check.js +23 -0
  33. package/dist/scripts/research-final-reviewer-blackbox.js +22 -0
  34. package/dist/scripts/research-parallel-source-shards-check.js +22 -0
  35. package/dist/scripts/research-quality-gate-check.js +28 -3
  36. package/dist/scripts/research-real-cycle-no-legacy-final-md-check.js +14 -0
  37. package/dist/scripts/research-short-report-rejection-check.js +46 -0
  38. package/dist/scripts/research-source-ledger-merge-check.js +26 -0
  39. package/dist/scripts/research-stage-cycle-runtime-blackbox.js +24 -0
  40. package/package.json +16 -1
  41. package/schemas/codex/agent-result.schema.json +1 -1
  42. package/schemas/research/research-source-shard.schema.json +46 -0
  43. package/dist/build-manifest.json +0 -1184
  44. package/dist/scripts/release-readiness-report.js +0 -1146
  45. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/permission-request.command.input.schema.json +0 -61
  46. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/permission-request.command.output.schema.json +0 -103
  47. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-compact.command.input.schema.json +0 -52
  48. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-compact.command.output.schema.json +0 -24
  49. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-tool-use.command.input.schema.json +0 -67
  50. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/post-tool-use.command.output.schema.json +0 -84
  51. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-compact.command.input.schema.json +0 -52
  52. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-compact.command.output.schema.json +0 -24
  53. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-tool-use.command.input.schema.json +0 -65
  54. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/pre-tool-use.command.output.schema.json +0 -105
  55. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/session-start.command.input.schema.json +0 -59
  56. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/session-start.command.output.schema.json +0 -63
  57. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/snapshot-metadata.json +0 -31
  58. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/stop.command.input.schema.json +0 -63
  59. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/stop.command.output.schema.json +0 -45
  60. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/user-prompt-submit.command.input.schema.json +0 -59
  61. package/dist/vendor/openai-codex/rust-v0.131.0/hooks/user-prompt-submit.command.output.schema.json +0 -81
@@ -1,1146 +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
- import { fileURLToPath } from 'node:url';
7
- const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
8
- const pkg = readJson('package.json');
9
- const reportDir = path.join(root, '.sneakoscope', 'reports');
10
- const RELEASE_VERSION = pkg.version;
11
- const jsonPath = path.join(reportDir, `release-readiness-${RELEASE_VERSION}.json`);
12
- const mdPath = path.join(reportDir, `release-readiness-${RELEASE_VERSION}.md`);
13
- const releaseGateManifest = readJson('release-gates.v2.json', { gates: [] });
14
- const releaseGateIds = new Set((Array.isArray(releaseGateManifest.gates) ? releaseGateManifest.gates : [])
15
- .filter((gate) => Array.isArray(gate.preset) && gate.preset.includes('release'))
16
- .map((gate) => gate.id));
17
- const releaseParallelCheckSource = readText('src/scripts/release-parallel-check.ts', '');
18
- const releaseRealCheckSource = readText('src/scripts/release-real-check.ts', '');
19
- const hooksRuntimeSource = readText('src/core/hooks-runtime.ts', '');
20
- const checks = {
21
- runtime_no_src_mjs: scriptContains('release:check:parallel', 'runtime:no-src-mjs'),
22
- runtime_ts_source_of_truth: scriptContains('release:check:parallel', 'runtime:ts-source-of-truth'),
23
- architecture_guard: scriptContains('release:check:parallel', 'architecture:guard'),
24
- runtime_dist_parity: scriptContains('release:check:parallel', 'runtime:dist-parity'),
25
- route_proof_artifact_structure: scriptContains('release:check:parallel', 'routes:proof-artifact-structure'),
26
- agent_codex_app_cockpit: scriptContains('release:check:parallel', 'agent:codex-app-cockpit'),
27
- agent_janitor: scriptContains('release:check:parallel', 'agent:janitor'),
28
- agent_multi_project_isolation: scriptContains('release:check:parallel', 'agent:multi-project-isolation'),
29
- verification_parallel_engine: scriptContains('release:check:parallel', 'verification:parallel-engine'),
30
- hook_strict_subset: scriptContains('release:check', 'hooks:strict-subset-check'),
31
- hooks_official_hash_oracle: scriptContains('release:check', 'hooks:official-hash-oracle'),
32
- hooks_actual_parity_v2: scriptContains('release:check', 'hooks:actual-parity-v2'),
33
- hooks_runtime_replay_warning_zero_v2: scriptContains('release:check', 'hooks:runtime-replay-warning-zero-v2'),
34
- ppt_full_e2e_blackbox: scriptContains('release:check', 'ppt:full-e2e-blackbox'),
35
- ppt_full_e2e_artifact_graph: scriptContains('release:check', 'ppt:full-e2e-artifact-graph'),
36
- codex_0133_official_compat: scriptContains('release:check', 'codex:0.133-official-compat'),
37
- codex_0136_compat: scriptContains('release:check', 'codex:0.136-compat'),
38
- codex_0134_compat: scriptContains('release:check', 'codex:0.134-compat'),
39
- codex_0134_official_compat: scriptContains('release:check', 'codex:0.134-official-compat'),
40
- codex_profile_primary: scriptContains('release:check', 'codex:profile-primary'),
41
- codex_managed_proxy_env: scriptContains('release:check', 'codex:managed-proxy-env'),
42
- codex_0134_runner_truth: scriptContains('release:check', 'codex:0.134-runner-truth'),
43
- mcp_0134_modernization: scriptContains('release:check', 'mcp:0.134-modernization'),
44
- mcp_readonly_runtime_scheduler: scriptContains('release:check', 'mcp:readonly-runtime-scheduler'),
45
- appshots_thread_attachment_discovery: scriptContains('release:check', 'appshots:thread-attachment-discovery'),
46
- source_intelligence_codex_history_search: scriptContains('release:check', 'source-intelligence:codex-history-search'),
47
- agent_parallel_write_kernel: scriptContains('release:check', 'agent:parallel-write-kernel'),
48
- agent_parallel_write_blackbox: scriptContains('release:check', 'agent:parallel-write-blackbox'),
49
- team_parallel_write_blackbox: scriptContains('release:check', 'team:parallel-write-blackbox'),
50
- dfix_parallel_write_blackbox: scriptContains('release:check', 'dfix:parallel-write-blackbox'),
51
- agent_patch_envelope_extraction: scriptContains('release:check', 'agent:patch-envelope-extraction'),
52
- agent_patch_queue_runtime: scriptContains('release:check', 'agent:patch-queue-runtime'),
53
- agent_strategy_to_lease_wiring: scriptContains('release:check', 'agent:strategy-to-lease-wiring'),
54
- agent_patch_swarm_runtime: scriptContains('release:check', 'agent:patch-swarm-runtime'),
55
- agent_patch_swarm_runtime_truth: scriptContains('release:check', 'agent:patch-swarm-runtime-truth'),
56
- agent_patch_transaction_journal: scriptContains('release:check', 'agent:patch-transaction-journal'),
57
- agent_patch_conflict_rebase: scriptContains('release:check', 'agent:patch-conflict-rebase'),
58
- agent_strategy_to_patch_strict: scriptContains('release:check', 'agent:strategy-to-patch-strict'),
59
- agent_rollback_command: scriptContains('release:check', 'agent:rollback-command'),
60
- agent_native_cli_session_swarm: scriptContains('release:check', 'agent:native-cli-session-swarm'),
61
- agent_native_cli_session_swarm_10: scriptContains('release:check', 'agent:native-cli-session-swarm-10'),
62
- agent_native_cli_session_swarm_20: scriptContains('release:check', 'agent:native-cli-session-swarm-20'),
63
- agent_no_subagent_scaling: scriptContains('release:check', 'agent:no-subagent-scaling'),
64
- agent_native_cli_session_proof: scriptContains('release:check', 'agent:native-cli-session-proof'),
65
- agent_worker_backend_router: scriptContains('release:check', 'agent:worker-backend-router'),
66
- agent_codex_child_overlap: scriptContains('release:check', 'agent:codex-child-overlap'),
67
- agent_model_authored_patch_envelope: scriptContains('release:check', 'agent:model-authored-patch-envelope'),
68
- zellij_pane_proof: scriptContains('release:check', 'zellij:pane-proof'),
69
- zellij_screen_proof: scriptContains('release:check', 'zellij:screen-proof'),
70
- zellij_lane_renderer: scriptContains('release:check', 'zellij:lane-renderer'),
71
- mad_sks_zellij_launch: scriptContains('release:check', 'mad-sks:zellij-launch'),
72
- agent_fast_mode_default: scriptContains('release:check', 'agent:fast-mode-default'),
73
- agent_fast_mode_worker_propagation: scriptContains('release:check', 'agent:fast-mode-worker-propagation'),
74
- codex_fast_mode_profile_propagation: scriptContains('release:check', 'codex:fast-mode-profile-propagation'),
75
- mad_sks_fast_mode_propagation: scriptContains('release:check', 'mad-sks:fast-mode-propagation'),
76
- agent_patch_verification_dag: scriptContains('release:check', 'agent:patch-verification-dag'),
77
- agent_patch_rollback_dag: scriptContains('release:check', 'agent:patch-rollback-dag'),
78
- agent_patch_proof_runtime: scriptContains('release:check', 'agent:patch-proof-runtime'),
79
- agent_patch_swarm_route_blackbox: scriptContains('release:check', 'agent:patch-swarm-route-blackbox'),
80
- team_patch_swarm_route_blackbox: scriptContains('release:check', 'team:patch-swarm-route-blackbox'),
81
- dfix_patch_swarm_route_blackbox: scriptContains('release:check', 'dfix:patch-swarm-route-blackbox'),
82
- agent_patch_proof: scriptContains('release:check', 'agent:patch-proof'),
83
- agent_patch_rollback: scriptContains('release:check', 'agent:patch-rollback'),
84
- release_gate_existence_audit: scriptContains('release:check', 'release:gate-existence-audit'),
85
- flagship_proof_graph_v3: scriptContains('release:check', 'flagship:proof-graph-v3'),
86
- flagship_proof_graph_v4: scriptContains('release:check', 'flagship:proof-graph-v4'),
87
- mad_sks_actual_executor: scriptContains('release:check', 'mad-sks:actual-executor'),
88
- mad_sks_file_write_executor: scriptContains('release:check', 'mad-sks:file-write-executor'),
89
- mad_sks_shell_executor: scriptContains('release:check', 'mad-sks:shell-executor'),
90
- mad_sks_package_executor: scriptContains('release:check', 'mad-sks:package-executor'),
91
- mad_sks_service_executor: scriptContains('release:check', 'mad-sks:service-executor'),
92
- mad_sks_db_executor: scriptContains('release:check', 'mad-sks:db-executor'),
93
- mad_sks_rollback_apply: scriptContains('release:check', 'mad-sks:rollback-apply'),
94
- mad_sks_live_guard_smoke: scriptContains('release:check', 'mad-sks:live-guard-smoke'),
95
- mad_sks_executor_proof_graph: scriptContains('release:check', 'mad-sks:executor-proof-graph'),
96
- legacy_multiagent_removed: scriptContains('release:check', 'agent:legacy-multiagent-removed'),
97
- codex_lb_persistence_truth: scriptContains('release:check', 'codex-lb:persistence-truth'),
98
- computer_use_live_evidence: scriptContains('release:check', 'computer-use:live-evidence'),
99
- docs_truthfulness: scriptContains('release:check', 'docs:truthfulness'),
100
- release_readiness: scriptContains('release:check:parallel', 'release:readiness'),
101
- xai_mcp_capability: scriptContains('release:check:parallel', 'xai-mcp:capability'),
102
- source_intelligence_policy: scriptContains('release:check:parallel', 'source-intelligence:policy'),
103
- source_intelligence_all_modes: scriptContains('release:check:parallel', 'source-intelligence:all-modes'),
104
- codex_web_adapter: scriptContains('release:check:parallel', 'codex-web:adapter'),
105
- goal_mode_official_default: scriptContains('release:check:parallel', 'goal-mode:official-default'),
106
- agent_main_no_scout: scriptContains('release:check:parallel', 'agent:main-no-scout'),
107
- agent_worker_scout_limited: scriptContains('release:check:parallel', 'agent:worker-scout-limited'),
108
- agent_background_terminals: scriptContains('release:check:parallel', 'agent:background-terminals'),
109
- agent_zellij_runtime: scriptContains('release:check:parallel', 'agent:zellij-runtime'),
110
- agent_task_graph_expansion: scriptContains('release:check:parallel', 'agent:task-graph-expansion'),
111
- agent_follow_up_work_schema: scriptContains('release:check:parallel', 'agent:follow-up-work-schema'),
112
- agent_dynamic_pool_route_blackbox: scriptContains('release:check:parallel', 'agent:dynamic-pool-route-blackbox'),
113
- agent_backfill_route_blackbox: scriptContains('release:check:parallel', 'agent:backfill-route-blackbox'),
114
- agent_cli_options_to_task_graph: scriptContains('release:check:parallel', 'agent:cli-options-to-task-graph'),
115
- agent_route_truth_backfill: scriptContains('release:check:parallel', 'agent:route-truth-backfill'),
116
- team_backfill_route_blackbox: scriptContains('release:check:parallel', 'team:backfill-route-blackbox'),
117
- team_actual_route_backfill: scriptContains('release:check:parallel', 'team:actual-route-backfill'),
118
- research_backfill_route_blackbox: scriptContains('release:check:parallel', 'research:backfill-route-blackbox'),
119
- research_actual_route_backfill: scriptContains('release:check:parallel', 'research:actual-route-backfill'),
120
- qa_backfill_route_blackbox: scriptContains('release:check:parallel', 'qa:backfill-route-blackbox'),
121
- qa_actual_route_backfill: scriptContains('release:check:parallel', 'qa:actual-route-backfill'),
122
- zellij_layout_valid: scriptContains('release:check:parallel', 'zellij:layout-valid'),
123
- zellij_lane_renderer_parallel: scriptContains('release:check:parallel', 'zellij:lane-renderer'),
124
- zellij_pane_proof_parallel: scriptContains('release:check:parallel', 'zellij:pane-proof'),
125
- zellij_screen_proof_parallel: scriptContains('release:check:parallel', 'zellij:screen-proof'),
126
- agent_proof_contract_reconciled: scriptContains('release:check:parallel', 'agent:proof-contract-reconciled'),
127
- agent_scheduler_proof_hardening: scriptContains('release:check:parallel', 'agent:scheduler-proof-hardening'),
128
- agent_dynamic_pool: scriptContains('release:check:parallel', 'agent:dynamic-pool'),
129
- agent_backfill_replenishment: scriptContains('release:check:parallel', 'agent:backfill-replenishment'),
130
- agent_scheduler_proof: scriptContains('release:check:parallel', 'agent:scheduler-proof'),
131
- agent_session_generation: scriptContains('release:check:parallel', 'agent:session-generation'),
132
- agent_terminal_generations: scriptContains('release:check:parallel', 'agent:terminal-generations'),
133
- agent_zellij_runtime_parallel: scriptContains('release:check:parallel', 'agent:zellij-runtime'),
134
- zellij_pane_lifecycle: scriptContains('release:check:parallel', 'zellij:pane-proof'),
135
- zellij_physical_proof: scriptContains('release:check:parallel', 'zellij:screen-proof'),
136
- agent_cleanup_executor: scriptContains('release:check:parallel', 'agent:cleanup-executor'),
137
- agent_cleanup_executor_v2: scriptContains('release:check:parallel', 'agent:cleanup-executor-v2'),
138
- agent_cleanup_command_ux: scriptContains('release:check:parallel', 'agent:cleanup-command-ux'),
139
- retention_cleanup_safety: scriptContains('release:check:parallel', 'retention:cleanup-safety'),
140
- agent_intelligent_work_graph: scriptContains('release:check:parallel', 'agent:intelligent-work-graph'),
141
- agent_ast_aware_work_graph: scriptContains('release:check:parallel', 'agent:ast-aware-work-graph'),
142
- proof_fake_vs_real_policy: scriptContains('release:check:parallel', 'proof:fake-vs-real-policy'),
143
- proof_fake_real_policy_v2: scriptContains('release:check:parallel', 'proof:fake-real-policy-v2'),
144
- release_runtime_truth_matrix: scriptContains('release:check:parallel', 'release:runtime-truth-matrix'),
145
- route_blackbox_realism: scriptContains('release:check:parallel', 'route:blackbox-realism'),
146
- real_zellij_pane_proof: scriptContains('release:real-check', 'zellij:pane-proof'),
147
- real_codex_patch_envelope_smoke: scriptContains('release:real-check', 'agent:real-codex-patch-envelope-smoke'),
148
- real_codex_parallel_workers: scriptContains('release:real-check', 'agent:real-codex-parallel-workers'),
149
- real_codex_parallel_workers_5: scriptContains('release:real-check', 'agent:real-codex-parallel-workers-5'),
150
- real_codex_parallel_workers_10: scriptContains('release:real-check', 'agent:real-codex-parallel-workers-10'),
151
- real_codex_parallel_workers_20: scriptContains('release:real-check', 'agent:real-codex-parallel-workers-20'),
152
- real_codex_dynamic_smoke_v2: scriptContains('release:real-check', 'agent:real-codex-dynamic-smoke-v2'),
153
- real_codex_dynamic_smoke: scriptContains('release:real-check', 'agent:real-codex-dynamic-smoke'),
154
- agent_dynamic_cockpit: scriptContains('release:check:parallel', 'agent:dynamic-cockpit'),
155
- agent_source_intelligence_propagation: scriptContains('release:check:parallel', 'agent:source-intelligence-propagation'),
156
- agent_goal_mode_propagation: scriptContains('release:check:parallel', 'agent:goal-mode-propagation'),
157
- agent_visual_consistency: scriptContains('release:check:parallel', 'agent:visual-consistency'),
158
- release_parallel_full_coverage: scriptContains('release:check:parallel', 'release:parallel-full-coverage'),
159
- priority_full_closure: scriptContains('release:check:parallel', 'priority:full-closure'),
160
- release_native_agent_backend: scriptContains('release:check', 'release:native-agent-backend'),
161
- codex_0133_compat: scriptContains('release:check', 'codex:0.133-compat'),
162
- codex_output_schema_fixture: scriptContains('release:check', 'codex:output-schema-fixture'),
163
- image_fidelity_check: scriptContains('release:check', 'image-fidelity:check'),
164
- imagegen_capability: scriptContains('release:check', 'imagegen:capability'),
165
- gpt_image_2_request_validator: scriptContains('release:check', 'imagegen:gpt-image-2-request-validator'),
166
- ux_review_run_wires_imagegen: scriptContains('release:check', 'ux-review:run-wires-imagegen'),
167
- ux_review_extract_wires_real_extractor: scriptContains('release:check', 'ux-review:extract-wires-real-extractor'),
168
- ux_review_patch_diff_recheck: scriptContains('release:check', 'ux-review:patch-diff-recheck'),
169
- ux_review_imagegen_blackbox: scriptContains('release:check', 'ux-review:imagegen-blackbox'),
170
- ux_review_real_loop_fixture: scriptContains('release:check', 'ux-review:real-loop-fixture'),
171
- ux_review_generate_callouts_fixture: scriptContains('release:check', 'ux-review:generate-callouts-fixture'),
172
- ux_review_extract_real_callouts_fixture: scriptContains('release:check', 'ux-review:extract-real-callouts-fixture'),
173
- ux_review_patch_handoff_fixture: scriptContains('release:check', 'ux-review:patch-handoff-fixture'),
174
- ux_review_recapture_recheck_fixture: scriptContains('release:check', 'ux-review:recapture-recheck-fixture'),
175
- ux_review_no_text_fallback: scriptContains('release:check', 'ux-review:no-text-fallback'),
176
- ux_review_no_fake_callouts: scriptContains('release:check', 'ux-review:no-fake-callouts'),
177
- ux_review_image_voxel_relations: scriptContains('release:check', 'ux-review:image-voxel-relations'),
178
- ppt_imagegen_review_fixture: scriptContains('release:check', 'ppt:imagegen-review-fixture'),
179
- ppt_real_export_adapter: scriptContains('release:check', 'ppt:real-export-adapter'),
180
- ppt_real_imagegen_wiring: scriptContains('release:check', 'ppt:real-imagegen-wiring'),
181
- ppt_reexport_rereview: scriptContains('release:check', 'ppt:reexport-rereview'),
182
- ppt_imagegen_blackbox: scriptContains('release:check', 'ppt:imagegen-blackbox'),
183
- ux_ppt_structured_extraction: scriptContains('release:check', 'ux-ppt:structured-extraction'),
184
- ppt_slide_export_fixture: scriptContains('release:check', 'ppt:slide-export-fixture'),
185
- ppt_no_text_fallback: scriptContains('release:check', 'ppt:no-text-fallback'),
186
- ppt_no_mock_as_real: scriptContains('release:check', 'ppt:no-mock-as-real'),
187
- ppt_issue_extraction_fixture: scriptContains('release:check', 'ppt:issue-extraction-fixture'),
188
- ppt_image_voxel_relations: scriptContains('release:check', 'ppt:image-voxel-relations'),
189
- ppt_proof_trust_fixture: scriptContains('release:check', 'ppt:proof-trust-fixture'),
190
- dfix_fixture: scriptContains('release:check', 'dfix:fixture'),
191
- dfix_fast_kernel: scriptContains('release:check', 'dfix:fast-kernel'),
192
- dfix_blackbox_fast: scriptContains('release:check', 'dfix:blackbox-fast'),
193
- dfix_performance: scriptContains('release:check', 'dfix:performance'),
194
- dfix_patch_handoff: scriptContains('release:check', 'dfix:patch-handoff'),
195
- dfix_verification_recommendation: scriptContains('release:check', 'dfix:verification-recommendation'),
196
- dfix_verification: scriptContains('release:check', 'dfix:verification'),
197
- hooks_latest_schema_check: scriptContains('release:check', 'hooks:latest-schema-check'),
198
- hooks_trust_state_check: scriptContains('release:check', 'hooks:trust-state-check'),
199
- hooks_trust_warning_zero: scriptContains('release:check', 'hooks:trust-warning-zero'),
200
- hooks_subagent_events_check: scriptContains('release:check', 'hooks:subagent-events-check'),
201
- hooks_no_unsupported_handlers: scriptContains('release:check', 'hooks:no-unsupported-handlers'),
202
- hooks_actual_parity_check: scriptContains('release:check', 'hooks:actual-parity-check'),
203
- hooks_official_hash_parity: scriptContains('release:check', 'hooks:official-hash-parity'),
204
- hooks_managed_install_fixture: scriptContains('release:check', 'hooks:managed-install-fixture'),
205
- hooks_runtime_replay_warning_zero: scriptContains('release:check', 'hooks:runtime-replay-warning-zero'),
206
- all_features_completion: scriptContains('release:check', 'all-features:completion'),
207
- all_features_deep_completion: scriptContains('release:check', 'all-features:deep-completion'),
208
- evidence_flagship_coverage: scriptContains('release:check', 'evidence:flagship-coverage'),
209
- json_schema_recursive_check: scriptContains('release:check', 'json-schema:recursive-check'),
210
- release_metadata: scriptContains('release:check:parallel', 'release:metadata'),
211
- memory_summary_rebuild_check: scriptContains('release:check', 'memory-summary:rebuild-check'),
212
- loop_blocker_check: scriptContains('release:check', 'loop-blocker:check'),
213
- official_docs_compat: scriptContains('release:check', 'official-docs:compat'),
214
- update_check_function_only: fileContains('src/core/update-check.ts', 'pipeline_required: false')
215
- && fileContains('src/core/update-check.ts', "mode: 'function'")
216
- && fileContains('src/core/hooks-runtime.ts', 'UPDATE_CHECK_HOOK_INVOCATION_POLICY')
217
- && !/\brunSksUpdateCheck\s*\(/.test(stripComments(hooksRuntimeSource))
218
- };
219
- const docs = runNodeScript('dist/scripts/docs-truthfulness-check.js');
220
- const officialDocs = runNodeScriptWithOkReportCache('dist/scripts/official-docs-compat-report.js', `.sneakoscope/reports/official-docs-compat-${RELEASE_VERSION}.json`, ['src/scripts/official-docs-compat-report.ts', 'package.json', 'package-lock.json']);
221
- const releaseMetadata = runNodeScript('dist/scripts/release-metadata-check.js');
222
- const sideEffectRuntime = runNodeScriptWithOkReportCache('dist/scripts/side-effect-runtime-report-check.js', '.sneakoscope/reports/side-effect-runtime-report.json', ['src/core/safety/side-effect-runtime-report.ts', 'src/scripts/side-effect-runtime-report-check.ts', 'package.json']);
223
- const releaseProvenance = runNodeScript('dist/scripts/release-provenance-check.js');
224
- const imagegenCore = runNodeScript('dist/scripts/imagegen-capability-check.js');
225
- const dynamicReleaseMode = process.env.SKS_RELEASE_DYNAMIC === '1' || Boolean(process.env.SKS_REPORT_DIR);
226
- const runtimeReports = {
227
- ppt_full_e2e_blackbox: readJson('.sneakoscope/reports/ppt-full-e2e-blackbox.json', null),
228
- flagship_proof_graph_v3: readJson('.sneakoscope/reports/flagship-proof-graph-v3.json', null),
229
- flagship_proof_graph_v4: readJson('.sneakoscope/reports/flagship-proof-graph-v4.json', null),
230
- runtime_truth_matrix: readJson(`.sneakoscope/reports/runtime-truth-matrix-${RELEASE_VERSION}.json`, null),
231
- real_codex_dynamic_smoke: readJson(`.sneakoscope/reports/agent-real-codex-dynamic-smoke-${RELEASE_VERSION}.json`, null),
232
- codex_0_136_compat: readJson('.sneakoscope/reports/codex-0.136-compat.json', null),
233
- codex_0_134_official_compat: readJson('.sneakoscope/reports/codex-0-134-official-compat.json', null),
234
- codex_0_134_runner_truth: readJson('.sneakoscope/reports/codex-0-134-runner-truth.json', null),
235
- mcp_0_134_modernization: readJson('.sneakoscope/reports/mcp-0-134-modernization.json', null),
236
- mcp_readonly_runtime_scheduler: readJson('.sneakoscope/reports/mcp-readonly-runtime-scheduler.json', null),
237
- appshots_thread_attachment_discovery: readJson('.sneakoscope/reports/appshots-thread-attachment-discovery.json', null),
238
- agent_parallel_write_kernel: readJson('.sneakoscope/reports/agent-parallel-write-kernel.json', null),
239
- agent_parallel_write_blackbox: readJson('.sneakoscope/reports/agent-parallel-write-blackbox.json', null),
240
- team_parallel_write_blackbox: readJson('.sneakoscope/reports/team-parallel-write-blackbox.json', null),
241
- dfix_parallel_write_blackbox: readJson('.sneakoscope/reports/dfix-parallel-write-blackbox.json', null),
242
- agent_patch_envelope_extraction: readJson('.sneakoscope/reports/agent-patch-envelope-extraction.json', null),
243
- agent_patch_queue_runtime: readJson('.sneakoscope/reports/agent-patch-queue-runtime.json', null),
244
- agent_strategy_to_lease_wiring: readJson('.sneakoscope/reports/agent-strategy-to-lease-wiring.json', null),
245
- agent_patch_swarm_runtime: readJson('.sneakoscope/reports/agent-patch-swarm-runtime.json', null),
246
- agent_patch_swarm_runtime_truth: readJson('.sneakoscope/reports/agent-patch-swarm-runtime-truth.json', null),
247
- agent_patch_transaction_journal: readJson('.sneakoscope/reports/agent-patch-transaction-journal.json', null),
248
- agent_patch_conflict_rebase: readJson('.sneakoscope/reports/agent-patch-conflict-rebase.json', null),
249
- agent_strategy_to_patch_strict: readJson('.sneakoscope/reports/agent-strategy-to-patch-strict.json', null),
250
- agent_rollback_command: readJson('.sneakoscope/reports/agent-rollback-command.json', null),
251
- agent_native_cli_session_swarm: readJson('.sneakoscope/reports/agent-native-cli-session-swarm.json', null),
252
- agent_native_cli_session_swarm_10: readJson('.sneakoscope/reports/agent-native-cli-session-swarm-10.json', null),
253
- agent_native_cli_session_swarm_20: readJson('.sneakoscope/reports/agent-native-cli-session-swarm-20.json', null),
254
- agent_no_subagent_scaling: readJson('.sneakoscope/reports/agent-no-subagent-scaling.json', null),
255
- agent_native_cli_session_proof: readJson('.sneakoscope/reports/agent-native-cli-session-proof.json', null),
256
- agent_worker_backend_router: readJson('.sneakoscope/reports/agent-worker-backend-router.json', null),
257
- agent_codex_child_overlap: readJson('.sneakoscope/reports/agent-codex-child-overlap.json', null),
258
- agent_model_authored_patch_envelope: readJson('.sneakoscope/reports/agent-model-authored-patch-envelope.json', null),
259
- zellij_pane_proof: readJson('.sneakoscope/reports/zellij-pane-proof.json', null),
260
- zellij_screen_proof: readJson('.sneakoscope/reports/zellij-screen-proof.json', null),
261
- zellij_lane_renderer: readJson('.sneakoscope/reports/zellij-lane-renderer.json', null),
262
- mad_sks_zellij_launch: readJson('.sneakoscope/reports/mad-sks-zellij-launch.json', null),
263
- agent_zellij_runtime: readJson('.sneakoscope/reports/agent-zellij-runtime.json', null),
264
- real_codex_parallel_workers: readJson('.sneakoscope/reports/agent-real-codex-parallel-workers.json', null),
265
- agent_fast_mode_default: readJson('.sneakoscope/reports/agent-fast-mode-default.json', null),
266
- agent_fast_mode_worker_propagation: readJson('.sneakoscope/reports/agent-fast-mode-worker-propagation.json', null),
267
- codex_fast_mode_profile_propagation: readJson('.sneakoscope/reports/codex-fast-mode-profile-propagation.json', null),
268
- mad_sks_fast_mode_propagation: readJson('.sneakoscope/reports/mad-sks-fast-mode-propagation.json', null),
269
- real_codex_patch_envelope_smoke: readJson('.sneakoscope/reports/agent-real-codex-patch-envelope-smoke.json', null),
270
- agent_patch_verification_dag: readJson('.sneakoscope/reports/agent-patch-verification-dag.json', null),
271
- agent_patch_rollback_dag: readJson('.sneakoscope/reports/agent-patch-rollback-dag.json', null),
272
- agent_patch_proof_runtime: readJson('.sneakoscope/reports/agent-patch-proof-runtime.json', null),
273
- agent_patch_swarm_route_blackbox: readJson('.sneakoscope/reports/agent-patch-swarm-route-blackbox.json', null),
274
- team_patch_swarm_route_blackbox: readJson('.sneakoscope/reports/team-patch-swarm-route-blackbox.json', null),
275
- dfix_patch_swarm_route_blackbox: readJson('.sneakoscope/reports/dfix-patch-swarm-route-blackbox.json', null),
276
- agent_patch_proof: readJson('.sneakoscope/reports/agent-patch-proof.json', null),
277
- agent_patch_rollback: readJson('.sneakoscope/reports/agent-patch-rollback.json', null),
278
- retention_cleanup_safety: readJson('.sneakoscope/reports/retention-cleanup-safety.json', null)
279
- };
280
- const runtimeChecks = {
281
- ppt_full_e2e_blackbox: runtimeReports.ppt_full_e2e_blackbox?.ok === true
282
- && ['verified', 'verified_partial'].includes(String(runtimeReports.ppt_full_e2e_blackbox?.proof_status || ''))
283
- && runtimeReports.ppt_full_e2e_blackbox?.trust_ok === true
284
- && !['blocked', 'failed', 'not_verified'].includes(String(runtimeReports.ppt_full_e2e_blackbox?.trust_status || '')),
285
- flagship_proof_graph_v3: runtimeReports.flagship_proof_graph_v3?.ok === true,
286
- flagship_proof_graph_v4: runtimeReports.flagship_proof_graph_v4?.ok === true,
287
- runtime_truth_matrix: runtimeReports.runtime_truth_matrix?.ok === true
288
- && Array.isArray(runtimeReports.runtime_truth_matrix?.rows)
289
- && runtimeReports.runtime_truth_matrix.rows.every((row) => row.required_mode !== true || !['blocked', 'real_required_missing', 'integration_optional'].includes(String(row.proof_level || ''))),
290
- real_codex_dynamic_smoke: !runtimeReports.real_codex_dynamic_smoke
291
- || ['proven', 'fixture_instrumented_real', 'integration_optional'].includes(String(runtimeReports.real_codex_dynamic_smoke?.proof_level || runtimeReports.real_codex_dynamic_smoke?.status || '')),
292
- real_codex_patch_envelope_smoke: !runtimeReports.real_codex_patch_envelope_smoke
293
- || ['proven', 'fixture_instrumented_real', 'integration_optional'].includes(String(runtimeReports.real_codex_patch_envelope_smoke?.proof_level || runtimeReports.real_codex_patch_envelope_smoke?.status || '')),
294
- real_codex_parallel_workers: !runtimeReports.real_codex_parallel_workers
295
- || ['proven', 'fixture_instrumented_real', 'integration_optional'].includes(String(runtimeReports.real_codex_parallel_workers?.proof_level || runtimeReports.real_codex_parallel_workers?.status || '')),
296
- retention_cleanup_safety: runtimeReports.retention_cleanup_safety?.ok === true
297
- };
298
- const remainingP0 = [];
299
- if (pkg.version !== RELEASE_VERSION)
300
- remainingP0.push(`package_version_not_${RELEASE_VERSION}`);
301
- for (const [name, ok] of Object.entries({
302
- runtime_no_src_mjs: checks.runtime_no_src_mjs,
303
- runtime_ts_source_of_truth: checks.runtime_ts_source_of_truth,
304
- architecture_guard: checks.architecture_guard,
305
- runtime_dist_parity: checks.runtime_dist_parity,
306
- route_proof_artifact_structure: checks.route_proof_artifact_structure,
307
- agent_codex_app_cockpit: checks.agent_codex_app_cockpit,
308
- agent_janitor: checks.agent_janitor,
309
- agent_multi_project_isolation: checks.agent_multi_project_isolation,
310
- verification_parallel_engine: checks.verification_parallel_engine,
311
- release_metadata: checks.release_metadata,
312
- release_readiness: checks.release_readiness,
313
- xai_mcp_capability: checks.xai_mcp_capability,
314
- source_intelligence_policy: checks.source_intelligence_policy,
315
- source_intelligence_all_modes: checks.source_intelligence_all_modes,
316
- codex_web_adapter: checks.codex_web_adapter,
317
- goal_mode_official_default: checks.goal_mode_official_default,
318
- agent_main_no_scout: checks.agent_main_no_scout,
319
- agent_worker_scout_limited: checks.agent_worker_scout_limited,
320
- agent_background_terminals: checks.agent_background_terminals,
321
- agent_zellij_runtime: checks.agent_zellij_runtime,
322
- agent_task_graph_expansion: checks.agent_task_graph_expansion,
323
- agent_follow_up_work_schema: checks.agent_follow_up_work_schema,
324
- agent_dynamic_pool_route_blackbox: checks.agent_dynamic_pool_route_blackbox,
325
- agent_backfill_route_blackbox: checks.agent_backfill_route_blackbox,
326
- agent_cli_options_to_task_graph: checks.agent_cli_options_to_task_graph,
327
- agent_route_truth_backfill: checks.agent_route_truth_backfill,
328
- team_backfill_route_blackbox: checks.team_backfill_route_blackbox,
329
- team_actual_route_backfill: checks.team_actual_route_backfill,
330
- research_backfill_route_blackbox: checks.research_backfill_route_blackbox,
331
- research_actual_route_backfill: checks.research_actual_route_backfill,
332
- qa_backfill_route_blackbox: checks.qa_backfill_route_blackbox,
333
- qa_actual_route_backfill: checks.qa_actual_route_backfill,
334
- zellij_layout_valid: checks.zellij_layout_valid,
335
- zellij_lane_renderer_parallel: checks.zellij_lane_renderer_parallel,
336
- zellij_pane_proof_parallel: checks.zellij_pane_proof_parallel,
337
- zellij_screen_proof_parallel: checks.zellij_screen_proof_parallel,
338
- agent_proof_contract_reconciled: checks.agent_proof_contract_reconciled,
339
- agent_scheduler_proof_hardening: checks.agent_scheduler_proof_hardening,
340
- agent_dynamic_pool: checks.agent_dynamic_pool,
341
- agent_backfill_replenishment: checks.agent_backfill_replenishment,
342
- agent_scheduler_proof: checks.agent_scheduler_proof,
343
- agent_session_generation: checks.agent_session_generation,
344
- agent_terminal_generations: checks.agent_terminal_generations,
345
- agent_zellij_runtime_parallel: checks.agent_zellij_runtime_parallel,
346
- zellij_pane_lifecycle: checks.zellij_pane_lifecycle,
347
- zellij_physical_proof: checks.zellij_physical_proof,
348
- agent_cleanup_executor: checks.agent_cleanup_executor,
349
- agent_cleanup_executor_v2: checks.agent_cleanup_executor_v2,
350
- agent_cleanup_command_ux: checks.agent_cleanup_command_ux,
351
- retention_cleanup_safety: checks.retention_cleanup_safety && runtimeChecks.retention_cleanup_safety,
352
- agent_intelligent_work_graph: checks.agent_intelligent_work_graph,
353
- agent_ast_aware_work_graph: checks.agent_ast_aware_work_graph,
354
- proof_fake_vs_real_policy: checks.proof_fake_vs_real_policy,
355
- proof_fake_real_policy_v2: checks.proof_fake_real_policy_v2,
356
- release_runtime_truth_matrix: checks.release_runtime_truth_matrix && runtimeChecks.runtime_truth_matrix,
357
- codex_0136_compat: checks.codex_0136_compat && (!runtimeReports.codex_0_136_compat || runtimeReports.codex_0_136_compat.ok === true),
358
- codex_0134_compat: checks.codex_0134_compat && runtimeReports.codex_0_134_official_compat?.ok === true,
359
- codex_0134_official_compat: checks.codex_0134_official_compat && runtimeReports.codex_0_134_official_compat?.ok === true,
360
- codex_profile_primary: checks.codex_profile_primary,
361
- codex_managed_proxy_env: checks.codex_managed_proxy_env,
362
- codex_0134_runner_truth: checks.codex_0134_runner_truth && (!runtimeReports.codex_0_134_runner_truth || runtimeReports.codex_0_134_runner_truth.ok === true),
363
- real_codex_patch_envelope_smoke: checks.real_codex_patch_envelope_smoke && runtimeChecks.real_codex_patch_envelope_smoke,
364
- mcp_0134_modernization: checks.mcp_0134_modernization && runtimeReports.mcp_0_134_modernization?.ok === true,
365
- mcp_readonly_runtime_scheduler: checks.mcp_readonly_runtime_scheduler && (!runtimeReports.mcp_readonly_runtime_scheduler || runtimeReports.mcp_readonly_runtime_scheduler.ok === true),
366
- appshots_thread_attachment_discovery: checks.appshots_thread_attachment_discovery && (!runtimeReports.appshots_thread_attachment_discovery || runtimeReports.appshots_thread_attachment_discovery.ok === true),
367
- source_intelligence_codex_history_search: checks.source_intelligence_codex_history_search,
368
- agent_parallel_write_kernel: checks.agent_parallel_write_kernel && runtimeReports.agent_parallel_write_kernel?.ok === true,
369
- agent_parallel_write_blackbox: checks.agent_parallel_write_blackbox && runtimeReports.agent_parallel_write_blackbox?.ok === true,
370
- team_parallel_write_blackbox: checks.team_parallel_write_blackbox && runtimeReports.team_parallel_write_blackbox?.ok === true,
371
- dfix_parallel_write_blackbox: checks.dfix_parallel_write_blackbox && runtimeReports.dfix_parallel_write_blackbox?.ok === true,
372
- agent_patch_envelope_extraction: checks.agent_patch_envelope_extraction && runtimeReports.agent_patch_envelope_extraction?.ok === true,
373
- agent_patch_queue_runtime: checks.agent_patch_queue_runtime && runtimeReports.agent_patch_queue_runtime?.ok === true,
374
- agent_strategy_to_lease_wiring: checks.agent_strategy_to_lease_wiring && runtimeReports.agent_strategy_to_lease_wiring?.ok === true,
375
- agent_patch_swarm_runtime: checks.agent_patch_swarm_runtime && runtimeReports.agent_patch_swarm_runtime?.ok === true,
376
- agent_patch_swarm_runtime_truth: checks.agent_patch_swarm_runtime_truth && runtimeReports.agent_patch_swarm_runtime_truth?.ok === true,
377
- agent_patch_transaction_journal: checks.agent_patch_transaction_journal && runtimeReports.agent_patch_transaction_journal?.ok === true,
378
- agent_patch_conflict_rebase: checks.agent_patch_conflict_rebase && runtimeReports.agent_patch_conflict_rebase?.ok === true,
379
- agent_strategy_to_patch_strict: checks.agent_strategy_to_patch_strict && runtimeReports.agent_strategy_to_patch_strict?.ok === true,
380
- agent_rollback_command: checks.agent_rollback_command && runtimeReports.agent_rollback_command?.ok === true,
381
- agent_native_cli_session_swarm: checks.agent_native_cli_session_swarm && runtimeReports.agent_native_cli_session_swarm?.ok === true,
382
- agent_native_cli_session_swarm_10: checks.agent_native_cli_session_swarm_10 && runtimeReports.agent_native_cli_session_swarm_10?.ok === true,
383
- agent_native_cli_session_swarm_20: checks.agent_native_cli_session_swarm_20 && runtimeReports.agent_native_cli_session_swarm_20?.ok === true,
384
- agent_no_subagent_scaling: checks.agent_no_subagent_scaling && runtimeReports.agent_no_subagent_scaling?.ok === true,
385
- agent_native_cli_session_proof: checks.agent_native_cli_session_proof && runtimeReports.agent_native_cli_session_proof?.ok === true,
386
- agent_worker_backend_router: checks.agent_worker_backend_router && runtimeReports.agent_worker_backend_router?.ok === true,
387
- agent_codex_child_overlap: checks.agent_codex_child_overlap && runtimeReports.agent_codex_child_overlap?.ok === true,
388
- agent_model_authored_patch_envelope: checks.agent_model_authored_patch_envelope && runtimeReports.agent_model_authored_patch_envelope?.ok === true,
389
- zellij_pane_proof: checks.zellij_pane_proof && runtimeReports.zellij_pane_proof?.ok === true,
390
- zellij_screen_proof: checks.zellij_screen_proof && runtimeReports.zellij_screen_proof?.ok === true,
391
- zellij_lane_renderer: checks.zellij_lane_renderer && runtimeReports.zellij_lane_renderer?.ok === true,
392
- mad_sks_zellij_launch: checks.mad_sks_zellij_launch && runtimeReports.mad_sks_zellij_launch?.ok === true,
393
- agent_fast_mode_default: checks.agent_fast_mode_default && runtimeReports.agent_fast_mode_default?.ok === true,
394
- agent_fast_mode_worker_propagation: checks.agent_fast_mode_worker_propagation && runtimeReports.agent_fast_mode_worker_propagation?.ok === true,
395
- codex_fast_mode_profile_propagation: checks.codex_fast_mode_profile_propagation && runtimeReports.codex_fast_mode_profile_propagation?.ok === true,
396
- mad_sks_fast_mode_propagation: checks.mad_sks_fast_mode_propagation && runtimeReports.mad_sks_fast_mode_propagation?.ok === true,
397
- agent_patch_verification_dag: checks.agent_patch_verification_dag && runtimeReports.agent_patch_verification_dag?.ok === true,
398
- agent_patch_rollback_dag: checks.agent_patch_rollback_dag && runtimeReports.agent_patch_rollback_dag?.ok === true,
399
- agent_patch_proof_runtime: checks.agent_patch_proof_runtime && runtimeReports.agent_patch_proof_runtime?.ok === true,
400
- agent_patch_swarm_route_blackbox: checks.agent_patch_swarm_route_blackbox && runtimeReports.agent_patch_swarm_route_blackbox?.ok === true,
401
- team_patch_swarm_route_blackbox: checks.team_patch_swarm_route_blackbox && runtimeReports.team_patch_swarm_route_blackbox?.ok === true,
402
- dfix_patch_swarm_route_blackbox: checks.dfix_patch_swarm_route_blackbox && runtimeReports.dfix_patch_swarm_route_blackbox?.ok === true,
403
- agent_patch_proof: checks.agent_patch_proof && runtimeReports.agent_patch_proof?.ok === true,
404
- agent_patch_rollback: checks.agent_patch_rollback && runtimeReports.agent_patch_rollback?.ok === true,
405
- release_gate_existence_audit: checks.release_gate_existence_audit,
406
- route_blackbox_realism: checks.route_blackbox_realism,
407
- agent_dynamic_cockpit: checks.agent_dynamic_cockpit,
408
- agent_source_intelligence_propagation: checks.agent_source_intelligence_propagation,
409
- agent_goal_mode_propagation: checks.agent_goal_mode_propagation,
410
- agent_visual_consistency: checks.agent_visual_consistency,
411
- release_parallel_full_coverage: checks.release_parallel_full_coverage,
412
- priority_full_closure: checks.priority_full_closure
413
- }))
414
- if (!ok)
415
- remainingP0.push(`${name}_gate_missing`);
416
- if (docs.status !== 0)
417
- remainingP0.push('docs_truthfulness_failed');
418
- if (officialDocs.status !== 0)
419
- remainingP0.push('official_docs_compat_failed');
420
- if (releaseMetadata.status !== 0)
421
- remainingP0.push('release_metadata_failed');
422
- if (sideEffectRuntime.status !== 0)
423
- remainingP0.push('side_effect_runtime_report_failed');
424
- if (releaseProvenance.status !== 0)
425
- remainingP0.push('release_provenance_failed');
426
- if (imagegenCore.status !== 0)
427
- remainingP0.push('imagegen_core_capability_failed');
428
- const stamp = readJson('.sneakoscope/reports/release-check-stamp.json', null);
429
- const stampVerify = spawnSync(process.execPath, ['dist/scripts/release-check-stamp.js', 'verify'], {
430
- cwd: root,
431
- encoding: 'utf8',
432
- env: { ...process.env, CI: 'true' },
433
- timeout: 30_000
434
- });
435
- const currentStamp = stampVerify.status === 0 && stamp?.package_version === RELEASE_VERSION ? stamp : null;
436
- if (stampVerify.status !== 0 && !dynamicReleaseMode)
437
- remainingP0.push('release_check_stamp_stale_or_missing');
438
- const report = {
439
- schema: 'sks.release-readiness.v1',
440
- generated_at: new Date().toISOString(),
441
- scope: {
442
- release_version: RELEASE_VERSION,
443
- gate: `${RELEASE_VERSION} route-truth dynamic scheduler closure DAG`,
444
- ok_means: `no remaining ${RELEASE_VERSION} dynamic scheduler, task graph, follow-up, Zellij lane, route blackbox, source, or Goal propagation gaps`,
445
- not_in_1_18_parallel_gate: `reported for historical, live, or broader gates that are not part of the ${RELEASE_VERSION} closure DAG`
446
- },
447
- package: {
448
- name: pkg.name,
449
- version: pkg.version
450
- },
451
- hook_strict_subset: {
452
- status: checks.hook_strict_subset ? 'present' : 'missing'
453
- },
454
- codex_lb_setup_truthfulness: {
455
- status: checks.codex_lb_persistence_truth ? 'present' : 'missing',
456
- persistence_modes: ['durable_env_file', 'durable_keychain', 'durable_launchctl', 'shell_profile', 'process_only_ephemeral']
457
- },
458
- computer_use_evidence_mode_support: {
459
- status: checks.computer_use_live_evidence ? 'present' : 'missing',
460
- modes: ['probe_only', 'live_capture_attempted', 'live_capture_success', 'live_capture_blocked']
461
- },
462
- imagegen_core: {
463
- status: imagegenCore.status === 0 ? 'pass' : 'fail',
464
- model: 'gpt-image-2',
465
- required_for_full_visual_verification: true,
466
- preferred_surface: 'Codex App $imagegen',
467
- codex_app_builtin_required: true,
468
- real_output_verified_by_capability_check: false,
469
- capability_detection_is_not_output_proof: true,
470
- fallback_surface: 'Explicit OpenAI Images API gpt-image-2 fallback (non-Codex evidence)',
471
- api_fallback_satisfies_codex_app_evidence: false,
472
- stdout: trimOutput(imagegenCore.stdout)
473
- },
474
- codex_0_136: {
475
- status: checks.codex_0136_compat
476
- && (!runtimeReports.codex_0_136_compat || runtimeReports.codex_0_136_compat.ok === true) ? 'present' : 'missing',
477
- baseline: 'rust-v0.136.0',
478
- compat_gate: checks.codex_0136_compat,
479
- compat_report_ok: runtimeReports.codex_0_136_compat ? runtimeReports.codex_0_136_compat.ok === true : null,
480
- session_archive: runtimeReports.codex_0_136_compat?.session_archive_supported ?? null,
481
- app_server_stdio: runtimeReports.codex_0_136_compat?.app_server_stdio_supported ?? null,
482
- remote_api_key_registration: runtimeReports.codex_0_136_compat?.remote_api_key_registration_supported ?? null,
483
- command_safety_hardening: runtimeReports.codex_0_136_compat?.command_safety_hardening_supported ?? null,
484
- native_image_generation_extension: runtimeReports.codex_0_136_compat?.native_image_generation_extension_supported ?? null
485
- },
486
- codex_0_133: {
487
- status: checks.codex_0133_compat ? 'present' : 'missing',
488
- baseline: 'rust-v0.133.0',
489
- output_schema_resume: checks.codex_output_schema_fixture ? 'present' : 'missing'
490
- },
491
- codex_0_134: {
492
- status: checks.codex_0134_compat
493
- && checks.codex_0134_official_compat
494
- && runtimeReports.codex_0_134_official_compat?.ok === true
495
- && checks.codex_profile_primary
496
- && checks.codex_managed_proxy_env
497
- && checks.codex_0134_runner_truth
498
- && checks.source_intelligence_codex_history_search ? 'present' : 'missing',
499
- baseline: 'rust-v0.134.0',
500
- official_compat: checks.codex_0134_official_compat,
501
- official_compat_report_ok: runtimeReports.codex_0_134_official_compat ? runtimeReports.codex_0_134_official_compat.ok === true : null,
502
- profile_primary: checks.codex_profile_primary,
503
- managed_proxy_env: checks.codex_managed_proxy_env,
504
- runner_truth: checks.codex_0134_runner_truth,
505
- runner_truth_report_ok: runtimeReports.codex_0_134_runner_truth ? runtimeReports.codex_0_134_runner_truth.ok === true : null,
506
- real_patch_envelope_smoke: checks.real_codex_patch_envelope_smoke,
507
- real_patch_envelope_smoke_report_ok: runtimeReports.real_codex_patch_envelope_smoke ? runtimeReports.real_codex_patch_envelope_smoke.ok === true : null,
508
- real_patch_envelope_smoke_proof_level: runtimeReports.real_codex_patch_envelope_smoke?.proof_level || null,
509
- local_history_search: checks.source_intelligence_codex_history_search
510
- },
511
- real_codex_patch_envelope_smoke_1_18_11: {
512
- status: checks.real_codex_patch_envelope_smoke && runtimeChecks.real_codex_patch_envelope_smoke ? 'present' : 'missing',
513
- gate: 'agent:real-codex-patch-envelope-smoke',
514
- report: '.sneakoscope/reports/agent-real-codex-patch-envelope-smoke.json',
515
- proof_level: runtimeReports.real_codex_patch_envelope_smoke?.proof_level || null,
516
- required: runtimeReports.real_codex_patch_envelope_smoke?.required === true,
517
- next_action: runtimeReports.real_codex_patch_envelope_smoke?.proof_level === 'integration_optional'
518
- ? 'Run SKS_TEST_REAL_CODEX_PATCHES=1 npm run agent:real-codex-patch-envelope-smoke for live Codex patch evidence; add SKS_REQUIRE_REAL_CODEX_PATCHES=1 when release policy requires it.'
519
- : null
520
- },
521
- mcp_0_134: {
522
- status: checks.mcp_0134_modernization
523
- && runtimeReports.mcp_0_134_modernization?.ok === true
524
- && checks.mcp_readonly_runtime_scheduler ? 'present' : 'missing',
525
- modernization_gate: checks.mcp_0134_modernization,
526
- modernization_report_ok: runtimeReports.mcp_0_134_modernization ? runtimeReports.mcp_0_134_modernization.ok === true : null,
527
- readonly_runtime_scheduler: checks.mcp_readonly_runtime_scheduler,
528
- readonly_runtime_scheduler_report_ok: runtimeReports.mcp_readonly_runtime_scheduler ? runtimeReports.mcp_readonly_runtime_scheduler.ok === true : null
529
- },
530
- parallel_write_kernel_1_18_9: {
531
- status: checks.agent_parallel_write_kernel
532
- && checks.agent_parallel_write_blackbox
533
- && checks.team_parallel_write_blackbox
534
- && checks.dfix_parallel_write_blackbox
535
- && checks.agent_patch_proof
536
- && checks.agent_patch_rollback
537
- && runtimeReports.agent_parallel_write_kernel?.ok === true
538
- && runtimeReports.agent_parallel_write_blackbox?.ok === true
539
- && runtimeReports.team_parallel_write_blackbox?.ok === true
540
- && runtimeReports.dfix_parallel_write_blackbox?.ok === true
541
- && runtimeReports.agent_patch_proof?.ok === true
542
- && runtimeReports.agent_patch_rollback?.ok === true ? 'present' : 'missing',
543
- agent_parallel_write_kernel: checks.agent_parallel_write_kernel,
544
- agent_parallel_write_blackbox: checks.agent_parallel_write_blackbox,
545
- team_parallel_write_blackbox: checks.team_parallel_write_blackbox,
546
- dfix_parallel_write_blackbox: checks.dfix_parallel_write_blackbox,
547
- agent_patch_proof: checks.agent_patch_proof,
548
- agent_patch_rollback: checks.agent_patch_rollback,
549
- kernel_report_ok: runtimeReports.agent_parallel_write_kernel ? runtimeReports.agent_parallel_write_kernel.ok === true : null,
550
- agent_blackbox_report_ok: runtimeReports.agent_parallel_write_blackbox ? runtimeReports.agent_parallel_write_blackbox.ok === true : null,
551
- team_blackbox_report_ok: runtimeReports.team_parallel_write_blackbox ? runtimeReports.team_parallel_write_blackbox.ok === true : null,
552
- dfix_blackbox_report_ok: runtimeReports.dfix_parallel_write_blackbox ? runtimeReports.dfix_parallel_write_blackbox.ok === true : null,
553
- proof_report_ok: runtimeReports.agent_patch_proof ? runtimeReports.agent_patch_proof.ok === true : null,
554
- rollback_report_ok: runtimeReports.agent_patch_rollback ? runtimeReports.agent_patch_rollback.ok === true : null
555
- },
556
- patch_swarm_runtime_1_18_9: {
557
- status: checks.agent_patch_envelope_extraction
558
- && checks.agent_patch_queue_runtime
559
- && checks.agent_strategy_to_lease_wiring
560
- && checks.agent_patch_swarm_runtime
561
- && checks.agent_patch_swarm_runtime_truth
562
- && checks.agent_patch_transaction_journal
563
- && checks.agent_patch_conflict_rebase
564
- && checks.agent_strategy_to_patch_strict
565
- && checks.agent_rollback_command
566
- && checks.agent_patch_verification_dag
567
- && checks.agent_patch_rollback_dag
568
- && checks.agent_patch_proof_runtime
569
- && checks.agent_patch_swarm_route_blackbox
570
- && checks.team_patch_swarm_route_blackbox
571
- && checks.dfix_patch_swarm_route_blackbox
572
- && runtimeReports.agent_patch_envelope_extraction?.ok === true
573
- && runtimeReports.agent_patch_queue_runtime?.ok === true
574
- && runtimeReports.agent_strategy_to_lease_wiring?.ok === true
575
- && runtimeReports.agent_patch_swarm_runtime?.ok === true
576
- && runtimeReports.agent_patch_swarm_runtime_truth?.ok === true
577
- && runtimeReports.agent_patch_transaction_journal?.ok === true
578
- && runtimeReports.agent_patch_conflict_rebase?.ok === true
579
- && runtimeReports.agent_strategy_to_patch_strict?.ok === true
580
- && runtimeReports.agent_rollback_command?.ok === true
581
- && runtimeReports.agent_patch_verification_dag?.ok === true
582
- && runtimeReports.agent_patch_rollback_dag?.ok === true
583
- && runtimeReports.agent_patch_proof_runtime?.ok === true
584
- && runtimeReports.agent_patch_swarm_route_blackbox?.ok === true
585
- && runtimeReports.team_patch_swarm_route_blackbox?.ok === true
586
- && runtimeReports.dfix_patch_swarm_route_blackbox?.ok === true ? 'present' : 'missing',
587
- envelope_extraction_report_ok: runtimeReports.agent_patch_envelope_extraction ? runtimeReports.agent_patch_envelope_extraction.ok === true : null,
588
- queue_runtime_report_ok: runtimeReports.agent_patch_queue_runtime ? runtimeReports.agent_patch_queue_runtime.ok === true : null,
589
- strategy_to_lease_report_ok: runtimeReports.agent_strategy_to_lease_wiring ? runtimeReports.agent_strategy_to_lease_wiring.ok === true : null,
590
- swarm_runtime_report_ok: runtimeReports.agent_patch_swarm_runtime ? runtimeReports.agent_patch_swarm_runtime.ok === true : null,
591
- swarm_runtime_truth_report_ok: runtimeReports.agent_patch_swarm_runtime_truth ? runtimeReports.agent_patch_swarm_runtime_truth.ok === true : null,
592
- transaction_journal_report_ok: runtimeReports.agent_patch_transaction_journal ? runtimeReports.agent_patch_transaction_journal.ok === true : null,
593
- conflict_rebase_report_ok: runtimeReports.agent_patch_conflict_rebase ? runtimeReports.agent_patch_conflict_rebase.ok === true : null,
594
- strategy_to_patch_strict_report_ok: runtimeReports.agent_strategy_to_patch_strict ? runtimeReports.agent_strategy_to_patch_strict.ok === true : null,
595
- rollback_command_report_ok: runtimeReports.agent_rollback_command ? runtimeReports.agent_rollback_command.ok === true : null,
596
- verification_dag_report_ok: runtimeReports.agent_patch_verification_dag ? runtimeReports.agent_patch_verification_dag.ok === true : null,
597
- rollback_dag_report_ok: runtimeReports.agent_patch_rollback_dag ? runtimeReports.agent_patch_rollback_dag.ok === true : null,
598
- proof_runtime_report_ok: runtimeReports.agent_patch_proof_runtime ? runtimeReports.agent_patch_proof_runtime.ok === true : null,
599
- agent_route_blackbox_ok: runtimeReports.agent_patch_swarm_route_blackbox ? runtimeReports.agent_patch_swarm_route_blackbox.ok === true : null,
600
- team_route_blackbox_ok: runtimeReports.team_patch_swarm_route_blackbox ? runtimeReports.team_patch_swarm_route_blackbox.ok === true : null,
601
- dfix_route_blackbox_ok: runtimeReports.dfix_patch_swarm_route_blackbox ? runtimeReports.dfix_patch_swarm_route_blackbox.ok === true : null
602
- },
603
- native_cli_session_swarm_1_18_10: {
604
- status: checks.agent_native_cli_session_swarm
605
- && checks.agent_native_cli_session_swarm_10
606
- && checks.agent_native_cli_session_swarm_20
607
- && checks.agent_no_subagent_scaling
608
- && checks.agent_native_cli_session_proof
609
- && runtimeReports.agent_native_cli_session_swarm?.ok === true
610
- && runtimeReports.agent_native_cli_session_swarm_10?.ok === true
611
- && runtimeReports.agent_native_cli_session_swarm_20?.ok === true
612
- && runtimeReports.agent_no_subagent_scaling?.ok === true
613
- && runtimeReports.agent_native_cli_session_proof?.ok === true ? 'present' : 'missing',
614
- swarm_5_report_ok: runtimeReports.agent_native_cli_session_swarm ? runtimeReports.agent_native_cli_session_swarm.ok === true : null,
615
- swarm_10_report_ok: runtimeReports.agent_native_cli_session_swarm_10 ? runtimeReports.agent_native_cli_session_swarm_10.ok === true : null,
616
- swarm_20_report_ok: runtimeReports.agent_native_cli_session_swarm_20 ? runtimeReports.agent_native_cli_session_swarm_20.ok === true : null,
617
- no_subagent_scaling_report_ok: runtimeReports.agent_no_subagent_scaling ? runtimeReports.agent_no_subagent_scaling.ok === true : null,
618
- native_cli_session_proof_report_ok: runtimeReports.agent_native_cli_session_proof ? runtimeReports.agent_native_cli_session_proof.ok === true : null,
619
- max_observed_10: runtimeReports.agent_native_cli_session_swarm_10?.native_cli_session_proof?.max_observed_worker_process_count || null,
620
- max_observed_20: runtimeReports.agent_native_cli_session_swarm_20?.native_cli_session_proof?.max_observed_worker_process_count || null
621
- },
622
- real_codex_parallel_workers_1_18_11: {
623
- status: checks.agent_worker_backend_router
624
- && checks.agent_codex_child_overlap
625
- && checks.agent_model_authored_patch_envelope
626
- && checks.zellij_pane_proof
627
- && checks.zellij_screen_proof
628
- && checks.zellij_lane_renderer
629
- && checks.mad_sks_zellij_launch
630
- && runtimeReports.agent_worker_backend_router?.ok === true
631
- && runtimeReports.agent_codex_child_overlap?.ok === true
632
- && runtimeReports.agent_model_authored_patch_envelope?.ok === true
633
- && runtimeReports.zellij_pane_proof?.ok === true
634
- && runtimeReports.zellij_screen_proof?.ok === true
635
- && runtimeReports.zellij_lane_renderer?.ok === true
636
- && runtimeReports.mad_sks_zellij_launch?.ok === true ? 'present' : 'missing',
637
- worker_backend_router: checks.agent_worker_backend_router,
638
- codex_child_overlap: checks.agent_codex_child_overlap,
639
- model_authored_patch_envelope: checks.agent_model_authored_patch_envelope,
640
- zellij_pane_proof: checks.zellij_pane_proof,
641
- zellij_screen_proof: checks.zellij_screen_proof,
642
- zellij_lane_renderer: checks.zellij_lane_renderer,
643
- mad_zellij_launch: checks.mad_sks_zellij_launch,
644
- real_codex_parallel_optional: runtimeReports.real_codex_parallel_workers?.status || null,
645
- real_codex_parallel_proof_level: runtimeReports.real_codex_parallel_workers?.proof_level || null
646
- },
647
- fast_mode_default_1_18_10: {
648
- status: checks.agent_fast_mode_default
649
- && checks.agent_fast_mode_worker_propagation
650
- && checks.codex_fast_mode_profile_propagation
651
- && checks.mad_sks_fast_mode_propagation
652
- && runtimeReports.agent_fast_mode_default?.ok === true
653
- && runtimeReports.agent_fast_mode_worker_propagation?.ok === true
654
- && runtimeReports.codex_fast_mode_profile_propagation?.ok === true
655
- && runtimeReports.mad_sks_fast_mode_propagation?.ok === true ? 'present' : 'missing',
656
- default_report_ok: runtimeReports.agent_fast_mode_default ? runtimeReports.agent_fast_mode_default.ok === true : null,
657
- worker_propagation_report_ok: runtimeReports.agent_fast_mode_worker_propagation ? runtimeReports.agent_fast_mode_worker_propagation.ok === true : null,
658
- codex_profile_report_ok: runtimeReports.codex_fast_mode_profile_propagation ? runtimeReports.codex_fast_mode_profile_propagation.ok === true : null,
659
- mad_sks_report_ok: runtimeReports.mad_sks_fast_mode_propagation ? runtimeReports.mad_sks_fast_mode_propagation.ok === true : null
660
- },
661
- mad_sks_actual_executor_closure: {
662
- status: checks.mad_sks_actual_executor
663
- && checks.mad_sks_file_write_executor
664
- && checks.mad_sks_shell_executor
665
- && checks.mad_sks_package_executor
666
- && checks.mad_sks_service_executor
667
- && checks.mad_sks_db_executor
668
- && checks.mad_sks_rollback_apply
669
- && checks.mad_sks_live_guard_smoke
670
- && checks.mad_sks_executor_proof_graph
671
- && checks.flagship_proof_graph_v4
672
- && runtimeChecks.flagship_proof_graph_v4 ? 'present' : 'missing',
673
- gates: {
674
- actual_executor_blackbox: checks.mad_sks_actual_executor,
675
- file_write_executor: checks.mad_sks_file_write_executor,
676
- shell_executor: checks.mad_sks_shell_executor,
677
- package_executor: checks.mad_sks_package_executor,
678
- service_executor: checks.mad_sks_service_executor,
679
- db_executor: checks.mad_sks_db_executor,
680
- rollback_apply: checks.mad_sks_rollback_apply,
681
- live_guard_smoke: checks.mad_sks_live_guard_smoke,
682
- executor_proof_graph: checks.mad_sks_executor_proof_graph,
683
- flagship_proof_graph_v4: checks.flagship_proof_graph_v4,
684
- flagship_proof_graph_v4_report_ok: runtimeChecks.flagship_proof_graph_v4
685
- }
686
- },
687
- image_ux_review: {
688
- status: checks.imagegen_capability && checks.gpt_image_2_request_validator && checks.ux_review_run_wires_imagegen && checks.ux_review_extract_wires_real_extractor && checks.ux_review_patch_diff_recheck && checks.ux_review_imagegen_blackbox && checks.ux_review_real_loop_fixture && checks.ux_review_generate_callouts_fixture && checks.ux_review_extract_real_callouts_fixture && checks.ux_review_patch_handoff_fixture && checks.ux_review_recapture_recheck_fixture && checks.ux_review_no_text_fallback && checks.ux_review_no_fake_callouts && checks.ux_review_image_voxel_relations ? 'present' : 'missing',
689
- gates: {
690
- image_fidelity: checks.image_fidelity_check,
691
- imagegen_capability: checks.imagegen_capability,
692
- gpt_image_2_request_validator: checks.gpt_image_2_request_validator,
693
- run_wires_imagegen: checks.ux_review_run_wires_imagegen,
694
- extract_wires_real_extractor: checks.ux_review_extract_wires_real_extractor,
695
- patch_diff_recheck: checks.ux_review_patch_diff_recheck,
696
- imagegen_blackbox: checks.ux_review_imagegen_blackbox,
697
- real_loop_fixture: checks.ux_review_real_loop_fixture,
698
- generate_callouts_fixture: checks.ux_review_generate_callouts_fixture,
699
- extract_real_callouts_fixture: checks.ux_review_extract_real_callouts_fixture,
700
- patch_handoff_fixture: checks.ux_review_patch_handoff_fixture,
701
- recapture_recheck_fixture: checks.ux_review_recapture_recheck_fixture,
702
- no_text_fallback: checks.ux_review_no_text_fallback,
703
- no_fake_callouts: checks.ux_review_no_fake_callouts,
704
- image_voxel_relations: checks.ux_review_image_voxel_relations
705
- }
706
- },
707
- ppt_imagegen_review: {
708
- status: checks.ppt_imagegen_review_fixture && checks.ppt_real_export_adapter && checks.ppt_real_imagegen_wiring && checks.ppt_reexport_rereview && checks.ppt_imagegen_blackbox && checks.ux_ppt_structured_extraction && checks.ppt_slide_export_fixture && checks.ppt_no_text_fallback && checks.ppt_no_mock_as_real && checks.ppt_issue_extraction_fixture && checks.ppt_image_voxel_relations && checks.ppt_proof_trust_fixture ? 'present' : 'missing',
709
- gates: {
710
- imagegen_review_fixture: checks.ppt_imagegen_review_fixture,
711
- real_export_adapter: checks.ppt_real_export_adapter,
712
- real_imagegen_wiring: checks.ppt_real_imagegen_wiring,
713
- reexport_rereview: checks.ppt_reexport_rereview,
714
- imagegen_blackbox: checks.ppt_imagegen_blackbox,
715
- structured_extraction: checks.ux_ppt_structured_extraction,
716
- slide_export_fixture: checks.ppt_slide_export_fixture,
717
- no_text_fallback: checks.ppt_no_text_fallback,
718
- no_mock_as_real: checks.ppt_no_mock_as_real,
719
- issue_extraction_fixture: checks.ppt_issue_extraction_fixture,
720
- image_voxel_relations: checks.ppt_image_voxel_relations,
721
- proof_trust_fixture: checks.ppt_proof_trust_fixture
722
- }
723
- },
724
- dfix: {
725
- status: checks.dfix_fixture && checks.dfix_fast_kernel && checks.dfix_blackbox_fast && checks.dfix_performance && checks.dfix_patch_handoff && checks.dfix_verification_recommendation && checks.dfix_verification ? 'present' : 'missing',
726
- gates: {
727
- fixture: checks.dfix_fixture,
728
- fast_kernel: checks.dfix_fast_kernel,
729
- blackbox_fast: checks.dfix_blackbox_fast,
730
- performance: checks.dfix_performance,
731
- patch_handoff: checks.dfix_patch_handoff,
732
- verification_recommendation: checks.dfix_verification_recommendation,
733
- verification: checks.dfix_verification
734
- }
735
- },
736
- hook_trust_warning_zero: {
737
- status: checks.hooks_latest_schema_check && checks.hooks_trust_state_check && checks.hooks_trust_warning_zero && checks.hooks_subagent_events_check && checks.hooks_no_unsupported_handlers && checks.hooks_actual_parity_check && checks.hooks_actual_parity_v2 && checks.hooks_official_hash_parity && checks.hooks_official_hash_oracle && checks.hooks_managed_install_fixture && checks.hooks_runtime_replay_warning_zero && checks.hooks_runtime_replay_warning_zero_v2 ? 'present' : 'missing',
738
- latest_schema: checks.hooks_latest_schema_check,
739
- trust_state: checks.hooks_trust_state_check,
740
- warning_zero: checks.hooks_trust_warning_zero,
741
- subagent_events: checks.hooks_subagent_events_check,
742
- no_unsupported_handlers: checks.hooks_no_unsupported_handlers,
743
- actual_parity_check: checks.hooks_actual_parity_check,
744
- actual_parity_v2: checks.hooks_actual_parity_v2,
745
- official_hash_parity: checks.hooks_official_hash_parity,
746
- official_hash_oracle: checks.hooks_official_hash_oracle,
747
- managed_install_fixture: checks.hooks_managed_install_fixture,
748
- runtime_replay_warning_zero: checks.hooks_runtime_replay_warning_zero,
749
- runtime_replay_warning_zero_v2: checks.hooks_runtime_replay_warning_zero_v2
750
- },
751
- extreme_stabilization_1_14_1: {
752
- status: checks.hooks_official_hash_oracle && checks.hooks_actual_parity_v2 && checks.hooks_runtime_replay_warning_zero_v2 && checks.ppt_full_e2e_blackbox && runtimeChecks.ppt_full_e2e_blackbox && checks.ppt_full_e2e_artifact_graph && checks.codex_0133_official_compat && checks.flagship_proof_graph_v3 && runtimeChecks.flagship_proof_graph_v3 ? 'present' : 'missing',
753
- hooks_official_hash_oracle: checks.hooks_official_hash_oracle,
754
- hooks_actual_parity_v2: checks.hooks_actual_parity_v2,
755
- hooks_runtime_replay_warning_zero_v2: checks.hooks_runtime_replay_warning_zero_v2,
756
- ppt_full_e2e_blackbox: checks.ppt_full_e2e_blackbox,
757
- ppt_full_e2e_blackbox_report_ok: runtimeChecks.ppt_full_e2e_blackbox,
758
- ppt_full_e2e_artifact_graph: checks.ppt_full_e2e_artifact_graph,
759
- codex_0_133_official_compat: checks.codex_0133_official_compat,
760
- flagship_proof_graph_v3: checks.flagship_proof_graph_v3,
761
- flagship_proof_graph_v3_report_ok: runtimeChecks.flagship_proof_graph_v3
762
- },
763
- mad_sks_1_16_0: {
764
- status: checks.flagship_proof_graph_v4 && runtimeChecks.flagship_proof_graph_v4 ? 'present' : 'missing',
765
- flagship_proof_graph_v4: checks.flagship_proof_graph_v4,
766
- flagship_proof_graph_v4_report_ok: runtimeChecks.flagship_proof_graph_v4
767
- },
768
- source_intelligence_1_18: {
769
- status: checks.xai_mcp_capability
770
- && checks.source_intelligence_policy
771
- && checks.source_intelligence_all_modes
772
- && checks.codex_web_adapter ? 'present' : 'missing',
773
- mode_default: 'context7_codex_web',
774
- xai_when_available: checks.xai_mcp_capability,
775
- xai_missing_fallback: checks.source_intelligence_all_modes,
776
- codex_web_adapter: checks.codex_web_adapter
777
- },
778
- agent_terminal_zellij_1_18: {
779
- status: checks.agent_main_no_scout
780
- && checks.agent_worker_scout_limited
781
- && checks.agent_background_terminals
782
- && checks.agent_zellij_runtime
783
- && checks.agent_visual_consistency ? 'present' : 'missing',
784
- main_no_scout: checks.agent_main_no_scout,
785
- worker_scout_limited: checks.agent_worker_scout_limited,
786
- background_terminals: checks.agent_background_terminals,
787
- zellij_runtime: checks.agent_zellij_runtime,
788
- codex_app_visual_consistency: checks.agent_visual_consistency
789
- },
790
- runtime_truth_1_18_8: {
791
- status: checks.zellij_pane_lifecycle
792
- && checks.zellij_physical_proof
793
- && checks.real_codex_dynamic_smoke_v2
794
- && checks.agent_cleanup_executor_v2
795
- && checks.agent_cleanup_command_ux
796
- && checks.retention_cleanup_safety
797
- && runtimeChecks.retention_cleanup_safety
798
- && checks.agent_ast_aware_work_graph
799
- && checks.proof_fake_real_policy_v2
800
- && checks.release_runtime_truth_matrix
801
- && runtimeChecks.runtime_truth_matrix ? 'present' : 'missing',
802
- zellij_pane_lifecycle: checks.zellij_pane_lifecycle,
803
- zellij_physical_proof: checks.zellij_physical_proof,
804
- real_codex_dynamic_smoke_v2: checks.real_codex_dynamic_smoke_v2,
805
- real_codex_dynamic_smoke_report_ok: runtimeChecks.real_codex_dynamic_smoke,
806
- cleanup_executor_v2: checks.agent_cleanup_executor_v2,
807
- cleanup_command_ux: checks.agent_cleanup_command_ux,
808
- retention_cleanup_safety: checks.retention_cleanup_safety,
809
- retention_cleanup_safety_report_ok: runtimeChecks.retention_cleanup_safety,
810
- retention_cleanup_safety_report: '.sneakoscope/reports/retention-cleanup-safety.json',
811
- ast_aware_work_graph: checks.agent_ast_aware_work_graph,
812
- fake_real_policy_v2: checks.proof_fake_real_policy_v2,
813
- runtime_truth_matrix: checks.release_runtime_truth_matrix,
814
- runtime_truth_matrix_report_ok: runtimeChecks.runtime_truth_matrix,
815
- proof_levels: runtimeReports.runtime_truth_matrix?.proof_levels || [],
816
- subsystem_rows: runtimeReports.runtime_truth_matrix?.rows || []
817
- },
818
- dynamic_agent_pool_1_18_3: {
819
- status: checks.agent_dynamic_pool
820
- && checks.agent_task_graph_expansion
821
- && checks.agent_follow_up_work_schema
822
- && checks.agent_dynamic_pool_route_blackbox
823
- && checks.agent_backfill_route_blackbox
824
- && checks.agent_cli_options_to_task_graph
825
- && checks.agent_route_truth_backfill
826
- && checks.team_backfill_route_blackbox
827
- && checks.team_actual_route_backfill
828
- && checks.research_backfill_route_blackbox
829
- && checks.research_actual_route_backfill
830
- && checks.qa_backfill_route_blackbox
831
- && checks.qa_actual_route_backfill
832
- && checks.zellij_layout_valid
833
- && checks.zellij_lane_renderer_parallel
834
- && checks.zellij_pane_proof_parallel
835
- && checks.zellij_screen_proof_parallel
836
- && checks.agent_proof_contract_reconciled
837
- && checks.agent_scheduler_proof_hardening
838
- && checks.agent_backfill_replenishment
839
- && checks.agent_scheduler_proof
840
- && checks.agent_session_generation
841
- && checks.agent_terminal_generations
842
- && checks.agent_zellij_runtime_parallel
843
- && checks.agent_dynamic_cockpit
844
- && checks.agent_source_intelligence_propagation
845
- && checks.agent_goal_mode_propagation ? 'present' : 'missing',
846
- task_graph_expansion: checks.agent_task_graph_expansion,
847
- follow_up_work_schema: checks.agent_follow_up_work_schema,
848
- dynamic_pool_route_blackbox: checks.agent_dynamic_pool_route_blackbox,
849
- backfill_route_blackbox: checks.agent_backfill_route_blackbox,
850
- cli_options_to_task_graph: checks.agent_cli_options_to_task_graph,
851
- route_truth_backfill: checks.agent_route_truth_backfill,
852
- team_backfill_route_blackbox: checks.team_backfill_route_blackbox,
853
- team_actual_route_backfill: checks.team_actual_route_backfill,
854
- research_backfill_route_blackbox: checks.research_backfill_route_blackbox,
855
- research_actual_route_backfill: checks.research_actual_route_backfill,
856
- qa_backfill_route_blackbox: checks.qa_backfill_route_blackbox,
857
- qa_actual_route_backfill: checks.qa_actual_route_backfill,
858
- zellij_layout_valid: checks.zellij_layout_valid,
859
- zellij_lane_renderer: checks.zellij_lane_renderer_parallel,
860
- zellij_pane_proof: checks.zellij_pane_proof_parallel,
861
- zellij_screen_proof: checks.zellij_screen_proof_parallel,
862
- proof_contract_reconciled: checks.agent_proof_contract_reconciled,
863
- scheduler_proof_hardening: checks.agent_scheduler_proof_hardening,
864
- dynamic_pool: checks.agent_dynamic_pool,
865
- backfill_replenishment: checks.agent_backfill_replenishment,
866
- scheduler_proof: checks.agent_scheduler_proof,
867
- session_generation: checks.agent_session_generation,
868
- terminal_generations: checks.agent_terminal_generations,
869
- zellij_runtime_parallel: checks.agent_zellij_runtime_parallel,
870
- dynamic_cockpit: checks.agent_dynamic_cockpit,
871
- source_intelligence_propagation: checks.agent_source_intelligence_propagation,
872
- goal_mode_propagation: checks.agent_goal_mode_propagation
873
- },
874
- dynamic_agent_pool_1_18: null,
875
- goal_mode_1_18: {
876
- status: checks.goal_mode_official_default ? 'present' : 'missing',
877
- official_default_gate: checks.goal_mode_official_default
878
- },
879
- release_full_coverage_1_18: {
880
- status: checks.release_parallel_full_coverage && checks.priority_full_closure ? 'present' : 'missing',
881
- release_parallel_full_coverage: checks.release_parallel_full_coverage,
882
- priority_full_closure: checks.priority_full_closure,
883
- priorities: ['P0', 'P1', 'P2', 'P3', 'P4', 'P5', 'P6']
884
- },
885
- release_native_agent_backend: {
886
- status: checks.release_native_agent_backend && checks.legacy_multiagent_removed ? 'present' : 'missing',
887
- backend: 'native_multi_session_agent_kernel',
888
- legacy_multiagent_surface: checks.legacy_multiagent_removed ? 'removed' : 'missing_removal_gate'
889
- },
890
- all_feature_completion: {
891
- status: checks.all_features_completion && checks.all_features_deep_completion && checks.evidence_flagship_coverage ? 'present' : 'missing',
892
- report_path: `.sneakoscope/reports/all-feature-completion-${RELEASE_VERSION}.json`
893
- },
894
- json_schema_recursive: {
895
- status: checks.json_schema_recursive_check ? 'present' : 'missing'
896
- },
897
- official_docs_compatibility: {
898
- status: officialDocs.status === 0 ? 'pass' : (checks.official_docs_compat ? 'fail' : 'not_in_1_18_parallel_gate'),
899
- report_path: `.sneakoscope/reports/official-docs-compat-${RELEASE_VERSION}.json`,
900
- stdout: trimOutput(officialDocs.stdout)
901
- },
902
- update_check: {
903
- status: checks.update_check_function_only ? 'function_only' : 'missing',
904
- route_required: false,
905
- pipeline_required: false
906
- },
907
- memory_summary_rebuild: {
908
- status: checks.memory_summary_rebuild_check ? 'present' : 'missing',
909
- schema_version: 2
910
- },
911
- loop_blocker_stop: {
912
- status: checks.loop_blocker_check ? 'present' : 'missing',
913
- repeated_blocker_threshold: 2
914
- },
915
- docs_truthfulness: {
916
- status: docs.status === 0 ? 'pass' : 'fail',
917
- stdout: trimOutput(docs.stdout)
918
- },
919
- release_metadata: {
920
- status: releaseMetadata.status === 0 ? 'pass' : 'fail',
921
- stdout: trimOutput(releaseMetadata.stdout)
922
- },
923
- side_effect_runtime: {
924
- status: sideEffectRuntime.status === 0 ? 'pass' : 'fail',
925
- report: readJson('.sneakoscope/reports/side-effect-runtime-report.json', null),
926
- stdout: trimOutput(sideEffectRuntime.stdout),
927
- stderr: trimOutput(sideEffectRuntime.stderr)
928
- },
929
- provenance: {
930
- status: releaseProvenance.status === 0 ? 'pass' : 'fail',
931
- report: readJson('.sneakoscope/reports/release-provenance.json', null),
932
- stdout: trimOutput(releaseProvenance.stdout),
933
- stderr: trimOutput(releaseProvenance.stderr)
934
- },
935
- release_gate_last_pass_stamp: currentStamp ? {
936
- package_version: currentStamp.package_version || null,
937
- generated_at: currentStamp.generated_at || null,
938
- source_digest: currentStamp.source_digest || null
939
- } : null,
940
- release_gate_stamp_verification: {
941
- status: stampVerify.status === 0 ? 'pass' : dynamicReleaseMode ? 'dynamic_deferred' : 'fail',
942
- dynamic_release_mode: dynamicReleaseMode,
943
- stdout: trimOutput(stampVerify.stdout),
944
- stderr: trimOutput(stampVerify.stderr)
945
- },
946
- stale_release_gate_last_pass_stamp: stamp && !currentStamp ? {
947
- package_version: stamp.package_version || null,
948
- generated_at: stamp.generated_at || null,
949
- ignored: true
950
- } : null,
951
- remaining_p0_gaps: remainingP0,
952
- ok: remainingP0.length === 0
953
- };
954
- for (const key of [
955
- 'hook_strict_subset',
956
- 'codex_lb_setup_truthfulness',
957
- 'computer_use_evidence_mode_support',
958
- 'imagegen_core',
959
- 'codex_0_136',
960
- 'codex_0_134',
961
- 'codex_0_133',
962
- 'mcp_0_134',
963
- 'parallel_write_kernel_1_18_9',
964
- 'patch_swarm_runtime_1_18_9',
965
- 'native_cli_session_swarm_1_18_10',
966
- 'real_codex_patch_envelope_smoke_1_18_11',
967
- 'real_codex_parallel_workers_1_18_11',
968
- 'fast_mode_default_1_18_10',
969
- 'mad_sks_actual_executor_closure',
970
- 'image_ux_review',
971
- 'ppt_imagegen_review',
972
- 'dfix',
973
- 'hook_trust_warning_zero',
974
- 'extreme_stabilization_1_14_1',
975
- 'mad_sks_1_16_0',
976
- 'source_intelligence_1_18',
977
- 'agent_terminal_zellij_1_18',
978
- 'runtime_truth_1_18_8',
979
- 'dynamic_agent_pool_1_18_3',
980
- 'goal_mode_1_18',
981
- 'release_full_coverage_1_18',
982
- 'release_native_agent_backend',
983
- 'all_feature_completion',
984
- 'json_schema_recursive',
985
- 'memory_summary_rebuild',
986
- 'loop_blocker_stop'
987
- ]) {
988
- if (report[key]?.status === 'missing')
989
- report[key].status = key.endsWith('_1_18') ? 'missing' : 'not_in_1_18_parallel_gate';
990
- }
991
- report.dynamic_agent_pool_1_18 = report.dynamic_agent_pool_1_18_3;
992
- fs.mkdirSync(reportDir, { recursive: true });
993
- fs.writeFileSync(jsonPath, `${JSON.stringify(report, null, 2)}\n`);
994
- fs.writeFileSync(mdPath, renderMarkdown(report));
995
- console.log(JSON.stringify(report, null, 2));
996
- if (!report.ok)
997
- process.exitCode = 1;
998
- function readJson(rel, fallback) {
999
- try {
1000
- return JSON.parse(fs.readFileSync(path.join(root, rel), 'utf8'));
1001
- }
1002
- catch (err) {
1003
- if (arguments.length > 1)
1004
- return fallback;
1005
- throw err;
1006
- }
1007
- }
1008
- function scriptContains(name, needle) {
1009
- if (name === 'release:check:parallel') {
1010
- return String(pkg.scripts?.[name] || '').includes(needle) || releaseParallelCheckSource.includes(needle);
1011
- }
1012
- if (name === 'release:check') {
1013
- return String(pkg.scripts?.[name] || '').includes(needle) || releaseParallelCheckSource.includes(needle) || releaseGateIds.has(needle);
1014
- }
1015
- if (name === 'release:real-check') {
1016
- return String(pkg.scripts?.[name] || '').includes(needle) || releaseRealCheckSource.includes(needle);
1017
- }
1018
- return String(pkg.scripts?.[name] || '').includes(needle);
1019
- }
1020
- function stripComments(text) {
1021
- return String(text || '')
1022
- .replace(/\/\*[\s\S]*?\*\//g, '')
1023
- .replace(/(^|[^:])\/\/.*$/gm, '$1');
1024
- }
1025
- function readText(rel, fallback = '') {
1026
- try {
1027
- return fs.readFileSync(path.join(root, rel), 'utf8');
1028
- }
1029
- catch {
1030
- return fallback;
1031
- }
1032
- }
1033
- function fileContains(rel, needle) {
1034
- try {
1035
- return fs.readFileSync(path.join(root, rel), 'utf8').includes(needle);
1036
- }
1037
- catch {
1038
- return false;
1039
- }
1040
- }
1041
- function runNodeScript(rel) {
1042
- return spawnSync(process.execPath, [rel], {
1043
- cwd: root,
1044
- encoding: 'utf8',
1045
- env: { ...process.env, CI: 'true' },
1046
- timeout: 90_000,
1047
- maxBuffer: 2 * 1024 * 1024
1048
- });
1049
- }
1050
- function runNodeScriptWithOkReportCache(rel, reportRel, freshnessInputs = []) {
1051
- const cached = readFreshOkReport(reportRel, freshnessInputs);
1052
- if (cached) {
1053
- return {
1054
- status: 0,
1055
- stdout: JSON.stringify({
1056
- ok: true,
1057
- cached: true,
1058
- report: reportRel,
1059
- generated_at: cached.generated_at || null
1060
- }),
1061
- stderr: ''
1062
- };
1063
- }
1064
- return runNodeScript(rel);
1065
- }
1066
- function readFreshOkReport(reportRel, freshnessInputs = []) {
1067
- const reportPath = path.join(root, reportRel);
1068
- let report;
1069
- try {
1070
- report = JSON.parse(fs.readFileSync(reportPath, 'utf8'));
1071
- }
1072
- catch {
1073
- return null;
1074
- }
1075
- if (report?.ok !== true)
1076
- return null;
1077
- let reportStat;
1078
- try {
1079
- reportStat = fs.statSync(reportPath);
1080
- }
1081
- catch {
1082
- return null;
1083
- }
1084
- for (const input of freshnessInputs) {
1085
- try {
1086
- if (fs.statSync(path.join(root, input)).mtimeMs > reportStat.mtimeMs)
1087
- return null;
1088
- }
1089
- catch {
1090
- return null;
1091
- }
1092
- }
1093
- return report;
1094
- }
1095
- function trimOutput(text) {
1096
- return String(text || '').slice(0, 4000);
1097
- }
1098
- function renderMarkdown(report) {
1099
- return `# SKS ${RELEASE_VERSION} Release Readiness
1100
-
1101
- - Schema: \`${report.schema}\`
1102
- - Package: \`${report.package.name}@${report.package.version}\`
1103
- - Scope: \`${report.scope.gate}\`; \`ok: true\` means ${report.scope.ok_means}.
1104
- - Hook strict subset: \`${report.hook_strict_subset.status}\`
1105
- - codex-lb persistence truth: \`${report.codex_lb_setup_truthfulness.status}\`
1106
- - Computer Use evidence modes: \`${report.computer_use_evidence_mode_support.status}\`
1107
- - Imagegen core gpt-image-2 readiness: \`${report.imagegen_core.status}\` (Codex App $imagegen required; capability detection is not output proof)
1108
- - Codex 0.136 compatibility: \`${report.codex_0_136.status}\`
1109
- - Codex 0.134 compatibility: \`${report.codex_0_134.status}\`
1110
- - Real Codex patch envelope smoke ${RELEASE_VERSION}: \`${report.real_codex_patch_envelope_smoke_1_18_11.status}\` (${report.real_codex_patch_envelope_smoke_1_18_11.proof_level || 'not_reported'})
1111
- - Real Codex parallel workers ${RELEASE_VERSION}: \`${report.real_codex_parallel_workers_1_18_11.status}\` (${report.real_codex_parallel_workers_1_18_11.real_codex_parallel_proof_level || 'not_reported'})
1112
- - Codex 0.133 compatibility: \`${report.codex_0_133.status}\`
1113
- - MCP 0.134 modernization: \`${report.mcp_0_134.status}\`
1114
- - Parallel write kernel ${RELEASE_VERSION}: \`${report.parallel_write_kernel_1_18_9.status}\`
1115
- - Patch swarm runtime ${RELEASE_VERSION}: \`${report.patch_swarm_runtime_1_18_9.status}\`
1116
- - Native CLI Session Swarm ${RELEASE_VERSION}: \`${report.native_cli_session_swarm_1_18_10.status}\`
1117
- - Fast mode default ${RELEASE_VERSION}: \`${report.fast_mode_default_1_18_10.status}\`
1118
- - MAD-SKS actual executor closure: \`${report.mad_sks_actual_executor_closure.status}\`
1119
- - Release native agent backend: \`${report.release_native_agent_backend.status}\`
1120
- - UX-Review real callout loop gates: \`${report.image_ux_review.status}\`
1121
- - PPT imagegen review gates: \`${report.ppt_imagegen_review.status}\`
1122
- - DFix gates: \`${report.dfix.status}\`
1123
- - Hook trust warning-zero: \`${report.hook_trust_warning_zero.status}\`
1124
- - Source Intelligence 1.18: \`${report.source_intelligence_1_18.status}\`
1125
- - Agent terminal/Zellij 1.18: \`${report.agent_terminal_zellij_1_18.status}\`
1126
- - Runtime truth ${RELEASE_VERSION}: \`${report.runtime_truth_1_18_8.status}\`
1127
- - Dynamic agent pool ${RELEASE_VERSION}: \`${report.dynamic_agent_pool_1_18_3.status}\`
1128
- - Goal mode 1.18: \`${report.goal_mode_1_18.status}\`
1129
- - Release full coverage 1.18: \`${report.release_full_coverage_1_18.status}\`
1130
- - All-feature completion: \`${report.all_feature_completion.status}\`
1131
- - Recursive JSON schema check: \`${report.json_schema_recursive.status}\`
1132
- - Official docs compatibility: \`${report.official_docs_compatibility.status}\`
1133
- - Update check mode: \`${report.update_check.status}\`
1134
- - Memory summary rebuild: \`${report.memory_summary_rebuild.status}\`
1135
- - Loop blocker stop: \`${report.loop_blocker_stop.status}\`
1136
- - Docs truthfulness: \`${report.docs_truthfulness.status}\`
1137
- - Release metadata: \`${report.release_metadata.status}\`
1138
- - Side-effect runtime: \`${report.side_effect_runtime.status}\` (${report.side_effect_runtime.report?.unexpected_applied_mutations ?? 'not_reported'} unexpected applied mutations)
1139
- - Provenance: \`${report.provenance.status}\` (reviewed_ref=${report.provenance.report?.reviewed_ref || 'not_reported'}, main=${report.provenance.report?.main_version || 'unavailable'}, npm=${report.provenance.report?.npm_version || 'unavailable'}, tag=${report.provenance.report?.tag_status?.exists ? 'present' : 'missing'})
1140
- - Priority closure: P0 through P9 are tracked in the ${RELEASE_VERSION} readiness surface.
1141
- - Remaining ${RELEASE_VERSION} P0 DAG gaps: ${report.remaining_p0_gaps.length ? report.remaining_p0_gaps.join(', ') : 'None'}
1142
-
1143
- \`not_in_1_18_parallel_gate\` is an explicit non-P0 status for historical, live, or broader gates not run by the ${RELEASE_VERSION} parallel DAG. Computer Use live evidence, UX-Review screenshots, and PPT generated review images remain opt-in/local-only. codex-lb process-only setup is reported as \`process_only_ephemeral\`, not durable persistence. UX-Review/PPT cannot pass from text-only critique or mock-as-real fixtures.
1144
- `;
1145
- }
1146
- //# sourceMappingURL=release-readiness-report.js.map