sneakoscope 4.0.13 → 4.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 (101) hide show
  1. package/README.md +10 -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/bin/sks.js +1 -1
  6. package/dist/cli/global-mode-router.js +2 -1
  7. package/dist/core/commands/mad-sks-command.js +3 -0
  8. package/dist/core/fsx.js +1 -1
  9. package/dist/core/providers/glm/bench/glm-bench-model-lock-proof.js +32 -3
  10. package/dist/core/providers/glm/bench/glm-benchmark-runner.js +29 -5
  11. package/dist/core/providers/glm/bench/glm-benchmark-types.js +1 -1
  12. package/dist/core/providers/glm/naruto/glm-naruto-critical-path.js +51 -0
  13. package/dist/core/providers/glm/naruto/glm-naruto-final-seal.js +9 -2
  14. package/dist/core/providers/glm/naruto/glm-naruto-orchestrator.js +101 -15
  15. package/dist/core/providers/glm/naruto/glm-naruto-parallelism-summary.js +55 -0
  16. package/dist/core/providers/glm/naruto/glm-naruto-requirement-coverage.js +92 -0
  17. package/dist/core/providers/glm/naruto/glm-naruto-requirement-ledger.js +42 -0
  18. package/dist/core/providers/glm/naruto/glm-naruto-stage-scheduler.js +85 -0
  19. package/dist/core/providers/glm/naruto/glm-naruto-task-size-classifier.js +12 -0
  20. package/dist/core/providers/glm/naruto/glm-naruto-trace.js +4 -0
  21. package/dist/core/providers/glm/naruto/glm-naruto-verifier-output.js +5 -0
  22. package/dist/core/providers/glm/naruto/glm-naruto-worker-pool.js +130 -44
  23. package/dist/core/providers/glm/naruto/glm-naruto-worker-runtime.js +6 -2
  24. package/dist/core/routes/model-mode-router.js +44 -0
  25. package/dist/core/version.js +1 -1
  26. package/package.json +24 -1
  27. package/dist/scripts/agent-dynamic-pool-fixture.js +0 -80
  28. package/dist/scripts/agent-native-release-gate.js +0 -274
  29. package/dist/scripts/agent-patch-swarm-gate-lib.js +0 -113
  30. package/dist/scripts/agent-real-codex-patch-envelope-smoke.js +0 -126
  31. package/dist/scripts/agent-route-blackbox-lib.js +0 -132
  32. package/dist/scripts/blackbox-command-import-smoke.js +0 -143
  33. package/dist/scripts/blackbox-global-shim.js +0 -77
  34. package/dist/scripts/blackbox-matrix.js +0 -70
  35. package/dist/scripts/blackbox-npx-one-shot.js +0 -69
  36. package/dist/scripts/blackbox-pack-install.js +0 -174
  37. package/dist/scripts/build-dist.js +0 -64
  38. package/dist/scripts/check-architecture.js +0 -135
  39. package/dist/scripts/check-cli-entrypoint.js +0 -43
  40. package/dist/scripts/check-command-module-budget.js +0 -25
  41. package/dist/scripts/check-dist-runtime.js +0 -100
  42. package/dist/scripts/check-feature-quality.js +0 -53
  43. package/dist/scripts/check-legacy-free.js +0 -66
  44. package/dist/scripts/check-package-boundary.js +0 -108
  45. package/dist/scripts/check-pipeline-budget.js +0 -69
  46. package/dist/scripts/check-pipeline-runtime.js +0 -25
  47. package/dist/scripts/check-publish-tag.js +0 -30
  48. package/dist/scripts/check-route-modularity.js +0 -82
  49. package/dist/scripts/check-runtime-schemas.js +0 -87
  50. package/dist/scripts/check-source-runtime.js +0 -4
  51. package/dist/scripts/check-ts-contracts.js +0 -69
  52. package/dist/scripts/check-ts-suppressions.js +0 -58
  53. package/dist/scripts/clean-dist.js +0 -8
  54. package/dist/scripts/codex-0140-feature-gate-lib.js +0 -14
  55. package/dist/scripts/codex-config-eperm-fixture.js +0 -32
  56. package/dist/scripts/codex-lb-missing-env-regression.js +0 -40
  57. package/dist/scripts/codex-native-runtime-e2e-fixture.js +0 -75
  58. package/dist/scripts/codex-project-config-policy-merge-regression.js +0 -92
  59. package/dist/scripts/core-skill-legacy-promotion-api-audit.js +0 -54
  60. package/dist/scripts/ensure-bin-executable.js +0 -10
  61. package/dist/scripts/fixtures/fake-codex-config-loader.js +0 -51
  62. package/dist/scripts/github-release-body-helper.js +0 -65
  63. package/dist/scripts/gpt-image-2-real-file-smoke.js +0 -448
  64. package/dist/scripts/hooks-no-unsupported-handlers.js +0 -15
  65. package/dist/scripts/hooks-runtime-replay-warning-zero-v2.js +0 -26
  66. package/dist/scripts/hooks-runtime-replay-warning-zero.js +0 -10
  67. package/dist/scripts/hooks-trust-warning-zero.js +0 -14
  68. package/dist/scripts/lib/codex-sdk-gate-lib.js +0 -92
  69. package/dist/scripts/lib/ensure-dist-fresh.js +0 -142
  70. package/dist/scripts/lib/git-worktree-fixture.js +0 -33
  71. package/dist/scripts/lib/mad-sks-actual-executor-check-lib.js +0 -255
  72. package/dist/scripts/lib/native-cli-session-swarm-check-lib.js +0 -79
  73. package/dist/scripts/lib/real-codex-parallel-gate.js +0 -94
  74. package/dist/scripts/lib/real-codex-parallel-proof-fixture.js +0 -55
  75. package/dist/scripts/lib/valid-png-fixture.js +0 -25
  76. package/dist/scripts/mad-sks-live-protected-core-smoke.js +0 -5
  77. package/dist/scripts/naruto-real-local-gpt-final-smoke.js +0 -25
  78. package/dist/scripts/perf-gate.js +0 -39
  79. package/dist/scripts/prepublish-release-check-or-fast.js +0 -121
  80. package/dist/scripts/release-3112-required-gates.js +0 -30
  81. package/dist/scripts/release-3113-required-gates.js +0 -25
  82. package/dist/scripts/release-4000-required-gates.js +0 -36
  83. package/dist/scripts/release-4001-required-gates.js +0 -13
  84. package/dist/scripts/release-4002-required-gates.js +0 -14
  85. package/dist/scripts/release-check-dynamic-execute.js +0 -259
  86. package/dist/scripts/release-check-dynamic.js +0 -107
  87. package/dist/scripts/release-check-stamp.js +0 -261
  88. package/dist/scripts/release-gate-dag-runner.js +0 -56
  89. package/dist/scripts/release-gate-existence-audit.js +0 -111
  90. package/dist/scripts/release-gate-planner.js +0 -34
  91. package/dist/scripts/release-gate-worker.js +0 -10
  92. package/dist/scripts/release-speed-summary.js +0 -67
  93. package/dist/scripts/repo-audit.js +0 -83
  94. package/dist/scripts/rust-smoke.js +0 -5
  95. package/dist/scripts/sizecheck.js +0 -146
  96. package/dist/scripts/sks-1-11-gate-lib.js +0 -78
  97. package/dist/scripts/sks-1-18-gate-lib.js +0 -55
  98. package/dist/scripts/tmux-removal-inventory.js +0 -36
  99. package/dist/scripts/write-build-manifest.js +0 -71
  100. package/dist/scripts/zellij-dashboard-watch.js +0 -41
  101. package/dist/scripts/zellij-right-column-geometry-proof.js +0 -162
@@ -1,71 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import fs from 'node:fs';
4
- import fsp from 'node:fs/promises';
5
- import path from 'node:path';
6
- import crypto from 'node:crypto';
7
- import { fileURLToPath } from 'node:url';
8
- import { writeDistFreshStamp, sourceSnapshot } from './lib/ensure-dist-fresh.js';
9
- const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
10
- const pkg = JSON.parse(fs.readFileSync(path.join(root, 'package.json'), 'utf8'));
11
- const distRoot = path.join(root, 'dist');
12
- const srcRoot = path.join(root, 'src');
13
- if (!fs.existsSync(distRoot)) {
14
- throw new Error('dist directory does not exist; run npm run build first');
15
- }
16
- const files = [];
17
- await collect(distRoot, files);
18
- const sorted = files.sort();
19
- const mjsRuntime = sorted.filter((f) => f.endsWith('.mjs')).length;
20
- const compiledJsCount = sorted.filter((f) => f.endsWith('.js')).length;
21
- const compiledDtsCount = sorted.filter((f) => f.endsWith('.d.ts')).length;
22
- const source = sourceSnapshot();
23
- const distStamp = writeDistFreshStamp();
24
- const srcMjsRuntimeFiles = await collectSrcMjsRuntimeFiles();
25
- await fsp.writeFile(path.join(distRoot, 'build-manifest.json'), `${JSON.stringify({
26
- schema: 'sks.dist-build.v2',
27
- version: pkg.version,
28
- package_version: pkg.version,
29
- typescript: true,
30
- mjs_runtime_files: mjsRuntime,
31
- compiled_file_count: compiledJsCount + compiledDtsCount,
32
- compiled_js_count: compiledJsCount,
33
- compiled_dts_count: compiledDtsCount,
34
- source_digest: source.digest,
35
- source_file_count: source.file_count,
36
- source_files_hash: sha256(source.files.join('\n')),
37
- source_list_hash: sha256(source.files.join('\n')),
38
- src_mjs_runtime_files: srcMjsRuntimeFiles.length,
39
- dist_stamp_schema: distStamp.schema,
40
- files: sorted,
41
- }, null, 2)}\n`);
42
- async function collect(dir, out) {
43
- for (const entry of await fsp.readdir(dir, { withFileTypes: true })) {
44
- const file = path.join(dir, entry.name);
45
- if (entry.isDirectory())
46
- await collect(file, out);
47
- else if (entry.isFile())
48
- out.push(path.relative(distRoot, file).split(path.sep).join('/'));
49
- }
50
- }
51
- async function collectSrcMjsRuntimeFiles() {
52
- const out = [];
53
- await collectSrcMjs(srcRoot, out);
54
- return out.sort();
55
- }
56
- async function collectSrcMjs(dir, out) {
57
- if (!fs.existsSync(dir))
58
- return;
59
- for (const entry of await fsp.readdir(dir, { withFileTypes: true })) {
60
- const file = path.join(dir, entry.name);
61
- if (entry.isDirectory())
62
- await collectSrcMjs(file, out);
63
- else if (entry.isFile() && entry.name.endsWith('.mjs')) {
64
- out.push(path.relative(srcRoot, file).split(path.sep).join('/'));
65
- }
66
- }
67
- }
68
- function sha256(value) {
69
- return crypto.createHash('sha256').update(value).digest('hex');
70
- }
71
- //# sourceMappingURL=write-build-manifest.js.map
@@ -1,41 +0,0 @@
1
- #!/usr/bin/env node
2
- import fs from 'node:fs';
3
- import path from 'node:path';
4
- import { buildZellijDashboardSnapshot, renderZellijDashboardText } from '../core/zellij/zellij-dashboard-renderer.js';
5
- const args = process.argv.slice(2);
6
- const snapshotPath = path.resolve(String(readOption(args, '--snapshot', '') || ''));
7
- const intervalMs = Math.max(250, Number(readOption(args, '--interval-ms', '1000')) || 1000);
8
- const once = args.includes('--once');
9
- if (!snapshotPath) {
10
- console.error('Usage: zellij-dashboard-watch --snapshot <path> [--interval-ms 1000] [--once]');
11
- process.exit(2);
12
- }
13
- render();
14
- if (!once)
15
- setInterval(render, intervalMs);
16
- function render() {
17
- const snapshot = readSnapshot(snapshotPath);
18
- const text = renderZellijDashboardText(snapshot);
19
- process.stdout.write(`\x1b[2J\x1b[H${text}\nUpdated: ${new Date().toISOString()}\n`);
20
- }
21
- function readSnapshot(file) {
22
- try {
23
- const parsed = JSON.parse(fs.readFileSync(file, 'utf8'));
24
- return buildZellijDashboardSnapshot(parsed);
25
- }
26
- catch (err) {
27
- return buildZellijDashboardSnapshot({
28
- mission_id: path.basename(path.dirname(file)) || 'unknown',
29
- mode: 'dashboard-watch',
30
- latest_blockers: [`snapshot_read_failed:${err?.code || err?.message || String(err)}`]
31
- });
32
- }
33
- }
34
- function readOption(list, name, fallback) {
35
- const index = list.indexOf(name);
36
- if (index >= 0 && list[index + 1])
37
- return list[index + 1];
38
- const prefixed = list.find((arg) => arg.startsWith(`${name}=`));
39
- return prefixed ? prefixed.slice(name.length + 1) : fallback;
40
- }
41
- //# sourceMappingURL=zellij-dashboard-watch.js.map
@@ -1,162 +0,0 @@
1
- #!/usr/bin/env node
2
- // @ts-nocheck
3
- import os from 'node:os';
4
- import path from 'node:path';
5
- import { assertGate, emitGate } from './sks-1-18-gate-lib.js';
6
- import { writeTextAtomic } from '../core/fsx.js';
7
- import { checkZellijCapability } from '../core/zellij/zellij-capability.js';
8
- import { runZellij } from '../core/zellij/zellij-command.js';
9
- const requireReal = process.argv.includes('--require-real') || process.env.SKS_REQUIRE_ZELLIJ === '1';
10
- const visiblePaneCap = Number(process.env.SKS_ZELLIJ_GEOMETRY_VISIBLE_CAP || 8);
11
- const report = requireReal ? await realGeometryProof() : syntheticGeometryProof();
12
- assertGate(report.ok, 'right-column geometry proof failed', report);
13
- emitGate('zellij:right-column-geometry-proof', report);
14
- function syntheticGeometryProof() {
15
- const panes = [
16
- { pane_id: 'main', role: 'main', geometry: { x: 0, y: 0, width: 120, height: 60 }, name: 'orchestrator' },
17
- { pane_id: 'w1', role: 'worker', geometry: { x: 121, y: 0, width: 80, height: 15 }, name: 'slot-001' },
18
- { pane_id: 'w2', role: 'worker', geometry: { x: 121, y: 16, width: 80, height: 15 }, name: 'slot-002' }
19
- ];
20
- return buildReport({ synthetic: true, panes, commands: [], listPanes: null, dumpScreen: null, blockers: [] });
21
- }
22
- async function realGeometryProof() {
23
- const root = process.cwd();
24
- const capability = await checkZellijCapability({ root, require: true, writeReport: false });
25
- const sessionName = `sks-geom-${process.pid}-${Date.now()}`;
26
- const tmpDir = await fsTempDir();
27
- const layoutPath = path.join(tmpDir, 'layout.kdl');
28
- const commands = [];
29
- let listPanes = null;
30
- let dumpScreen = null;
31
- const blockers = [...(capability.blockers || [])];
32
- try {
33
- await writeTextAtomic(layoutPath, buildRealGeometryLayout(root));
34
- await runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 2500, optional: true });
35
- const launch = await runZellij(['attach', '--create-background', sessionName, 'options', '--default-layout', layoutPath], { cwd: root, timeoutMs: 5000, optional: false });
36
- commands.push(launch);
37
- if (!launch.ok)
38
- blockers.push(...launch.blockers.map((blocker) => `zellij_geometry_launch_${blocker}`));
39
- await sleep(1000);
40
- listPanes = await runZellij(['--session', sessionName, 'action', 'list-panes', '--json', '--all'], { cwd: root, timeoutMs: 5000, optional: false });
41
- commands.push(listPanes);
42
- if (!listPanes.ok)
43
- blockers.push(...listPanes.blockers.map((blocker) => `zellij_geometry_list_panes_${blocker}`));
44
- dumpScreen = await runZellij(['--session', sessionName, 'action', 'dump-screen'], { cwd: root, timeoutMs: 5000, optional: false });
45
- commands.push(dumpScreen);
46
- if (!dumpScreen.ok)
47
- blockers.push(...dumpScreen.blockers.map((blocker) => `zellij_geometry_dump_screen_${blocker}`));
48
- const panes = parseRealPanes(listPanes.stdout_tail);
49
- return buildReport({ synthetic: false, panes, commands, listPanes, dumpScreen, blockers });
50
- }
51
- finally {
52
- commands.push(await runZellij(['kill-session', sessionName], { cwd: root, timeoutMs: 5000, optional: true }).catch((err) => ({
53
- ok: false,
54
- command: 'zellij',
55
- args: ['kill-session', sessionName],
56
- blockers: [`zellij_geometry_cleanup_exception:${err?.message || String(err)}`],
57
- warnings: []
58
- })));
59
- }
60
- }
61
- function buildReport(input) {
62
- const main = input.panes.find((pane) => pane.role === 'main') || null;
63
- const workers = input.panes.filter((pane) => pane.role === 'worker');
64
- const sameRightX = workers.length > 0 && workers.every((pane) => Math.abs(Number(pane.geometry.x) - Number(workers[0].geometry.x)) <= 2);
65
- const rightOfMain = Boolean(main) && workers.length > 0 && workers.every((pane) => Number(pane.geometry.x) >= Number(main.geometry.x) + Number(main.geometry.width) - 2);
66
- const increasingY = workers.every((pane, index) => index === 0 || Number(pane.geometry.y) > Number(workers[index - 1].geometry.y));
67
- const capOk = workers.length <= visiblePaneCap;
68
- const realEvidenceOk = input.synthetic || (input.listPanes?.ok === true && input.dumpScreen?.ok === true && workers.length >= 2);
69
- const blockers = [
70
- ...input.blockers,
71
- ...(main ? [] : ['zellij_geometry_main_missing']),
72
- ...(workers.length >= 2 ? [] : ['zellij_geometry_workers_missing']),
73
- ...(sameRightX ? [] : ['zellij_geometry_worker_x_mismatch']),
74
- ...(rightOfMain ? [] : ['zellij_geometry_workers_not_right_of_main']),
75
- ...(increasingY ? [] : ['zellij_geometry_workers_not_stacked_down']),
76
- ...(capOk ? [] : ['zellij_geometry_visible_cap_exceeded']),
77
- ...(realEvidenceOk ? [] : ['zellij_geometry_real_evidence_missing'])
78
- ];
79
- return {
80
- schema: 'sks.zellij-right-column-geometry-proof.v1',
81
- ok: blockers.length === 0,
82
- gate: 'zellij:right-column-geometry-proof',
83
- synthetic: input.synthetic,
84
- same_right_x: sameRightX,
85
- right_of_main: rightOfMain,
86
- increasing_y: increasingY,
87
- visible_cap_ok: capOk,
88
- real_list_panes_json_observed: input.synthetic ? false : input.listPanes?.ok === true,
89
- real_dump_screen_observed: input.synthetic ? false : input.dumpScreen?.ok === true,
90
- panes: input.panes,
91
- command_count: input.commands.length,
92
- command_blockers: input.commands.flatMap((row) => row?.blockers || []),
93
- blockers
94
- };
95
- }
96
- function parseRealPanes(text) {
97
- let rows = [];
98
- try {
99
- const parsed = JSON.parse(String(text || '[]'));
100
- rows = Array.isArray(parsed) ? parsed : Array.isArray(parsed?.panes) ? parsed.panes : [];
101
- }
102
- catch {
103
- rows = [];
104
- }
105
- return rows
106
- .filter((row) => row && row.is_plugin !== true && row.exited !== true)
107
- .map((row) => {
108
- const title = String(row.title || row.name || row.pane_name || '');
109
- return {
110
- pane_id: String(row.pane_id ?? row.paneId ?? row.id ?? title),
111
- role: /^slot-\d+/i.test(title) ? 'worker' : title === 'orchestrator' ? 'main' : 'unknown',
112
- geometry: {
113
- x: Number(row.pane_x ?? row.x ?? 0),
114
- y: Number(row.pane_y ?? row.y ?? 0),
115
- width: Number(row.pane_columns ?? row.width ?? 0),
116
- height: Number(row.pane_rows ?? row.height ?? 0)
117
- },
118
- name: title,
119
- pane_command: row.pane_command || row.terminal_command || null
120
- };
121
- })
122
- .filter((row) => row.role === 'main' || row.role === 'worker')
123
- .sort((a, b) => a.role === b.role ? a.geometry.y - b.geometry.y : a.role === 'main' ? -1 : 1);
124
- }
125
- function buildRealGeometryLayout(cwd) {
126
- const hold = 'sleep 30';
127
- return [
128
- 'layout {',
129
- ' default_tab_template {',
130
- ' pane size=1 borderless=true {',
131
- ' plugin location="zellij:tab-bar"',
132
- ' }',
133
- ' children',
134
- ' pane size=2 borderless=true {',
135
- ' plugin location="zellij:status-bar"',
136
- ' }',
137
- ' }',
138
- ` tab name="SKS geometry proof" cwd=${JSON.stringify(cwd)} split_direction="vertical" {`,
139
- ' pane name="orchestrator" command="sh" {',
140
- ` args "-lc" ${JSON.stringify(hold)}`,
141
- ' }',
142
- ' pane name="slot-column" split_direction="horizontal" {',
143
- ' pane name="slot-001" command="sh" {',
144
- ` args "-lc" ${JSON.stringify(hold)}`,
145
- ' }',
146
- ' pane name="slot-002" command="sh" {',
147
- ` args "-lc" ${JSON.stringify(hold)}`,
148
- ' }',
149
- ' }',
150
- ' }',
151
- '}',
152
- ''
153
- ].join('\n');
154
- }
155
- async function fsTempDir() {
156
- const fs = await import('node:fs/promises');
157
- return fs.mkdtemp(path.join(os.tmpdir(), 'sks-zellij-geometry-'));
158
- }
159
- function sleep(ms) {
160
- return new Promise((resolve) => setTimeout(resolve, ms));
161
- }
162
- //# sourceMappingURL=zellij-right-column-geometry-proof.js.map