sneakoscope 3.1.13 → 4.0.0
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.
- package/README.md +28 -3
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/crates/sks-core/src/main.rs +1 -1
- package/dist/bin/sks.js +1 -1
- package/dist/cli/command-registry.js +6 -13
- package/dist/commands/doctor.js +29 -2
- package/dist/commands/proof.js +8 -0
- package/dist/core/agents/agent-cleanup-executor.js +75 -1
- package/dist/core/agents/agent-command-surface.js +29 -4
- package/dist/core/agents/agent-orchestrator.js +25 -6
- package/dist/core/agents/native-cli-session-swarm.js +1 -1
- package/dist/core/build/build-once-runner.js +62 -0
- package/dist/core/codex/codex-config-readability.js +52 -38
- package/dist/core/commands/check-command.js +130 -0
- package/dist/core/commands/daemon-command.js +14 -0
- package/dist/core/commands/local-model-command.js +1 -1
- package/dist/core/commands/mad-sks-command.js +18 -1
- package/dist/core/commands/naruto-command.js +14 -5
- package/dist/core/commands/release-command.js +52 -0
- package/dist/core/commands/task-command.js +15 -0
- package/dist/core/commands/triwiki-command.js +38 -0
- package/dist/core/daemon/sksd-client.js +9 -0
- package/dist/core/daemon/sksd.js +55 -0
- package/dist/core/doctor/doctor-codex-startup-repair.js +3 -2
- package/dist/core/doctor/doctor-dirty-planner.js +30 -0
- package/dist/core/doctor/doctor-transaction.js +13 -0
- package/dist/core/feature-fixtures.js +1 -0
- package/dist/core/fsx.js +1 -1
- package/dist/core/init.js +7 -1
- package/dist/core/probes/probe-memoization.js +42 -0
- package/dist/core/release/extreme-parallel-scheduler.js +33 -0
- package/dist/core/release/gate-pack-manifest.js +118 -0
- package/dist/core/release/gate-pack-runner.js +113 -0
- package/dist/core/release/release-gate-cache-v2.js +73 -16
- package/dist/core/release/release-gate-dag.js +81 -2
- package/dist/core/release/resource-class-budget.js +22 -0
- package/dist/core/release/sla-scheduler.js +22 -0
- package/dist/core/routes.js +5 -0
- package/dist/core/triwiki/triwiki-affected-graph.js +56 -0
- package/dist/core/triwiki/triwiki-cache-key.js +221 -0
- package/dist/core/triwiki/triwiki-gate-impact-map.js +79 -0
- package/dist/core/triwiki/triwiki-module-card.js +37 -0
- package/dist/core/triwiki/triwiki-proof-bank.js +132 -0
- package/dist/core/triwiki/triwiki-proof-card.js +42 -0
- package/dist/core/triwiki/triwiki-sla-certificate.js +30 -0
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-worker-pane-manager.js +3 -2
- package/dist/scripts/fixtures/fake-codex-config-loader.js +12 -1
- package/dist/scripts/release-4000-required-gates.js +36 -0
- package/dist/scripts/release-gate-dag-runner.js +18 -0
- package/dist/scripts/release-speed-summary.js +9 -0
- package/package.json +43 -7
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const REQUIRED_4000_RELEASE_IDS = [
|
|
2
|
+
'triwiki:proof-card',
|
|
3
|
+
'triwiki:proof-bank',
|
|
4
|
+
'triwiki:proof-bank-blackbox',
|
|
5
|
+
'triwiki:cache-key',
|
|
6
|
+
'triwiki:module-card',
|
|
7
|
+
'triwiki:gate-impact-map',
|
|
8
|
+
'triwiki:affected-graph',
|
|
9
|
+
'triwiki:affected-graph-blackbox',
|
|
10
|
+
'gate-pack:manifest',
|
|
11
|
+
'gate-pack:runner',
|
|
12
|
+
'gate-pack:runner-blackbox',
|
|
13
|
+
'scheduler:resource-budget',
|
|
14
|
+
'scheduler:extreme-parallel',
|
|
15
|
+
'scheduler:critical-path',
|
|
16
|
+
'pipeline:five-minute-sla',
|
|
17
|
+
'scheduler:extreme-parallel-blackbox',
|
|
18
|
+
'pipeline:five-minute-triwiki-blackbox',
|
|
19
|
+
'build-once:runner',
|
|
20
|
+
'sksd:daemon',
|
|
21
|
+
'sksd:warm-cache-blackbox',
|
|
22
|
+
'probes:memoization',
|
|
23
|
+
'doctor:dirty-plan',
|
|
24
|
+
'doctor:dirty-repair',
|
|
25
|
+
'doctor:dirty-repair-blackbox',
|
|
26
|
+
'legacy:gate-inventory',
|
|
27
|
+
'legacy:gate-purge',
|
|
28
|
+
'orphan:gate-detection',
|
|
29
|
+
'legacy:purge-blackbox',
|
|
30
|
+
'cli:check-tiers',
|
|
31
|
+
'cli:five-minute-task',
|
|
32
|
+
'certificate:sla',
|
|
33
|
+
'sks:400-all-feature-regression'
|
|
34
|
+
];
|
|
35
|
+
export const REQUIRED_4000_REAL_CHECK_IDS = [];
|
|
36
|
+
//# sourceMappingURL=release-4000-required-gates.js.map
|
|
@@ -8,10 +8,13 @@ const presetIndex = args.indexOf('--preset');
|
|
|
8
8
|
const preset = presetIndex >= 0 ? args[presetIndex + 1] : 'release';
|
|
9
9
|
const changedSinceIndex = args.indexOf('--changed-since');
|
|
10
10
|
const changedSince = changedSinceIndex >= 0 ? (args[changedSinceIndex + 1] || null) : null;
|
|
11
|
+
const slaIndex = args.indexOf('--sla');
|
|
12
|
+
const slaMs = slaIndex >= 0 ? parseDurationMs(args[slaIndex + 1] || '') : null;
|
|
11
13
|
const result = await runReleaseGateDag({
|
|
12
14
|
root,
|
|
13
15
|
...(preset === undefined ? {} : { preset }),
|
|
14
16
|
changedSince,
|
|
17
|
+
slaMs,
|
|
15
18
|
full: args.includes('--full'),
|
|
16
19
|
explain: args.includes('--explain'),
|
|
17
20
|
noCache: args.includes('--no-cache'),
|
|
@@ -27,6 +30,7 @@ console.log(`SKS Release DAG
|
|
|
27
30
|
parallelism_gain: ${result.parallelism_gain}
|
|
28
31
|
cpu_time_saved: ${(result.cpu_time_saved_ms / 1000).toFixed(1)}s
|
|
29
32
|
critical_path: ${(result.critical_path_ms / 1000).toFixed(1)}s
|
|
33
|
+
certificate: ${result.completion_certificate.confidence} sla=${(result.completion_certificate.sla_ms / 1000).toFixed(0)}s met=${result.completion_certificate.sla_met}
|
|
30
34
|
report: ${result.report_dir}`);
|
|
31
35
|
if (!result.ok) {
|
|
32
36
|
for (const failure of result.failures) {
|
|
@@ -34,4 +38,18 @@ if (!result.ok) {
|
|
|
34
38
|
}
|
|
35
39
|
process.exit(1);
|
|
36
40
|
}
|
|
41
|
+
function parseDurationMs(value) {
|
|
42
|
+
const match = String(value || '').trim().match(/^(\d+(?:\.\d+)?)(ms|s|m)?$/i);
|
|
43
|
+
if (!match)
|
|
44
|
+
return null;
|
|
45
|
+
const amount = Number(match[1]);
|
|
46
|
+
const unit = (match[2] || 'ms').toLowerCase();
|
|
47
|
+
if (!Number.isFinite(amount) || amount <= 0)
|
|
48
|
+
return null;
|
|
49
|
+
if (unit === 'm')
|
|
50
|
+
return Math.floor(amount * 60_000);
|
|
51
|
+
if (unit === 's')
|
|
52
|
+
return Math.floor(amount * 1000);
|
|
53
|
+
return Math.floor(amount);
|
|
54
|
+
}
|
|
37
55
|
//# sourceMappingURL=release-gate-dag-runner.js.map
|
|
@@ -9,6 +9,9 @@ const runs = fs.existsSync(reports)
|
|
|
9
9
|
: [];
|
|
10
10
|
const latest = runs.sort((a, b) => fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs)[0];
|
|
11
11
|
const summary = latest ? JSON.parse(fs.readFileSync(latest, 'utf8')) : null;
|
|
12
|
+
const certificatePath = latest ? path.join(path.dirname(latest), 'completion-certificate.json') : null;
|
|
13
|
+
const certificate = certificatePath && fs.existsSync(certificatePath) ? JSON.parse(fs.readFileSync(certificatePath, 'utf8')) : summary?.completion_certificate || null;
|
|
14
|
+
const affectedGraphPath = latest ? path.join(path.dirname(latest), 'affected-gate-graph.json') : null;
|
|
12
15
|
const mode = summary?.affected_selection?.mode || summary?.selected_preset || (summary?.full === true ? 'full' : 'unknown');
|
|
13
16
|
const affectedMode = mode === 'affected';
|
|
14
17
|
const latestRuntimeProof = latestRuntimeProofSummaryPath();
|
|
@@ -25,6 +28,12 @@ console.log(JSON.stringify({
|
|
|
25
28
|
skipped_gate_ids: summary?.skipped_by_affected || [],
|
|
26
29
|
cached: summary?.cached || 0,
|
|
27
30
|
cached_gates: summary?.cached_gates || [],
|
|
31
|
+
proof_bank_file: certificate?.proof_bank_file || path.join(root, '.sneakoscope', 'proof-bank', 'gates', 'cache-v2.json'),
|
|
32
|
+
completion_certificate: certificate,
|
|
33
|
+
affected_graph_file: affectedGraphPath && fs.existsSync(affectedGraphPath) ? affectedGraphPath : null,
|
|
34
|
+
reused_proofs: certificate?.reused_proofs || summary?.cached || 0,
|
|
35
|
+
newly_executed_gates: certificate?.newly_executed_gates || summary?.executed_gates?.length || 0,
|
|
36
|
+
five_minute_sla_met: certificate?.sla_met ?? null,
|
|
28
37
|
version_neutralized_inputs: [
|
|
29
38
|
'package.json:version',
|
|
30
39
|
'package-lock.json:root.version',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sneakoscope",
|
|
3
3
|
"displayName": "ㅅㅋㅅ",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "4.0.0",
|
|
5
5
|
"description": "Sneakoscope Codex: fast proof-first Codex trust layer with image-based Voxel TriWiki.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",
|
|
@@ -47,8 +47,11 @@
|
|
|
47
47
|
"node": ">=20.11"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
|
-
"build": "
|
|
51
|
-
"
|
|
50
|
+
"build": "npm run build:clean",
|
|
51
|
+
"build:clean": "node -e \"const fs=require('fs'); fs.rmSync('dist',{recursive:true,force:true}); fs.rmSync('.sneakoscope/cache/tsbuildinfo',{recursive:true,force:true})\" && tsc -p tsconfig.json && node ./dist/scripts/ensure-bin-executable.js && node ./dist/scripts/build-dist.js",
|
|
52
|
+
"build:incremental": "tsc -p tsconfig.json && node ./dist/scripts/ensure-bin-executable.js && node ./dist/scripts/build-dist.js",
|
|
53
|
+
"check": "npm run release:check:confidence",
|
|
54
|
+
"dev:sks": "npm run build:incremental --silent && node ./dist/bin/sks.js",
|
|
52
55
|
"runtime:no-src-mjs": "node ./dist/scripts/runtime-no-src-mjs-check.js",
|
|
53
56
|
"runtime:ts-source-of-truth": "node ./dist/scripts/runtime-ts-source-of-truth-check.js",
|
|
54
57
|
"architecture:guard": "node ./dist/scripts/architecture-guard-check.js",
|
|
@@ -654,10 +657,11 @@
|
|
|
654
657
|
"sks:3110-all-feature-regression": "node ./dist/scripts/sks-3110-all-feature-regression-blackbox.js",
|
|
655
658
|
"release:dag-full-coverage": "node ./dist/scripts/release-dag-full-coverage-check.js",
|
|
656
659
|
"release:cache-glob-hashing": "node ./dist/scripts/release-cache-glob-hashing-check.js",
|
|
657
|
-
"release:check:affected": "npm run build --silent && node ./dist/scripts/release-gate-dag-runner.js --preset affected --changed-since auto",
|
|
660
|
+
"release:check:affected": "npm run build:incremental --silent && node ./dist/scripts/release-gate-dag-runner.js --preset affected --changed-since auto --sla 5m",
|
|
658
661
|
"release:check:full": "npm run build --silent && node ./dist/scripts/release-gate-dag-runner.js --preset release --full && node ./dist/scripts/release-check-stamp.js write",
|
|
659
|
-
"release:check:fast": "npm run build --silent && node ./dist/scripts/release-gate-dag-runner.js --preset fast --changed-since auto",
|
|
660
|
-
"release:check:
|
|
662
|
+
"release:check:fast": "npm run build:incremental --silent && node ./dist/scripts/release-gate-dag-runner.js --preset fast --changed-since auto --sla 5m",
|
|
663
|
+
"release:check:confidence": "npm run build:incremental --silent && node ./dist/scripts/release-gate-dag-runner.js --preset affected --changed-since auto --sla 5m",
|
|
664
|
+
"release:check:research": "npm run build:incremental --silent && node ./dist/scripts/release-gate-dag-runner.js --preset research",
|
|
661
665
|
"zellij:slot-telemetry": "node ./dist/scripts/zellij-slot-telemetry-check.js",
|
|
662
666
|
"agent:slot-telemetry-wiring": "node ./dist/scripts/agent-slot-telemetry-wiring-check.js",
|
|
663
667
|
"zellij:slot-telemetry-renderer": "node ./dist/scripts/zellij-slot-telemetry-renderer-check.js",
|
|
@@ -958,7 +962,39 @@
|
|
|
958
962
|
"doctor:supabase-mcp-repair-blackbox": "node ./dist/scripts/doctor-supabase-mcp-repair-blackbox.js",
|
|
959
963
|
"secret:line-rollback": "node ./dist/scripts/secret-line-rollback-check.js",
|
|
960
964
|
"sks:3112-all-feature-regression": "node ./dist/scripts/sks-3112-all-feature-regression-blackbox.js",
|
|
961
|
-
"sks:3113-all-feature-regression": "node ./dist/scripts/sks-3113-all-feature-regression-blackbox.js"
|
|
965
|
+
"sks:3113-all-feature-regression": "node ./dist/scripts/sks-3113-all-feature-regression-blackbox.js",
|
|
966
|
+
"triwiki:proof-card": "node ./dist/scripts/triwiki-proof-card-check.js",
|
|
967
|
+
"triwiki:proof-bank": "node ./dist/scripts/triwiki-proof-bank-check.js",
|
|
968
|
+
"triwiki:proof-bank-blackbox": "node ./dist/scripts/triwiki-proof-bank-blackbox.js",
|
|
969
|
+
"triwiki:cache-key": "node ./dist/scripts/triwiki-cache-key-check.js",
|
|
970
|
+
"triwiki:module-card": "node ./dist/scripts/triwiki-module-card-check.js",
|
|
971
|
+
"triwiki:gate-impact-map": "node ./dist/scripts/triwiki-gate-impact-map-check.js",
|
|
972
|
+
"triwiki:affected-graph": "node ./dist/scripts/triwiki-affected-graph-check.js",
|
|
973
|
+
"triwiki:affected-graph-blackbox": "node ./dist/scripts/triwiki-affected-graph-blackbox.js",
|
|
974
|
+
"gate-pack:manifest": "node ./dist/scripts/gate-pack-manifest-check.js",
|
|
975
|
+
"gate-pack:runner": "node ./dist/scripts/gate-pack-runner-check.js",
|
|
976
|
+
"gate-pack:runner-blackbox": "node ./dist/scripts/gate-pack-runner-blackbox.js",
|
|
977
|
+
"scheduler:resource-budget": "node ./dist/scripts/scheduler-resource-budget-check.js",
|
|
978
|
+
"scheduler:extreme-parallel": "node ./dist/scripts/scheduler-extreme-parallel-check.js",
|
|
979
|
+
"scheduler:critical-path": "node ./dist/scripts/scheduler-critical-path-check.js",
|
|
980
|
+
"pipeline:five-minute-sla": "node ./dist/scripts/pipeline-five-minute-sla-check.js",
|
|
981
|
+
"scheduler:extreme-parallel-blackbox": "node ./dist/scripts/sks-400-extreme-parallel-blackbox.js",
|
|
982
|
+
"pipeline:five-minute-triwiki-blackbox": "node ./dist/scripts/sks-400-five-minute-blackbox.js",
|
|
983
|
+
"build-once:runner": "node ./dist/scripts/build-once-runner-check.js",
|
|
984
|
+
"sksd:daemon": "node ./dist/scripts/sksd-daemon-check.js",
|
|
985
|
+
"sksd:warm-cache-blackbox": "node ./dist/scripts/sksd-warm-cache-blackbox.js",
|
|
986
|
+
"probes:memoization": "node ./dist/scripts/probe-memoization-check.js",
|
|
987
|
+
"doctor:dirty-plan": "node ./dist/scripts/doctor-dirty-plan-check.js",
|
|
988
|
+
"doctor:dirty-repair": "node ./dist/scripts/doctor-dirty-repair-check.js",
|
|
989
|
+
"doctor:dirty-repair-blackbox": "node ./dist/scripts/doctor-dirty-repair-blackbox.js",
|
|
990
|
+
"legacy:gate-inventory": "node ./dist/scripts/legacy-gate-inventory-check.js",
|
|
991
|
+
"legacy:gate-purge": "node ./dist/scripts/legacy-gate-purge-check.js",
|
|
992
|
+
"orphan:gate-detection": "node ./dist/scripts/orphan-gate-detection-check.js",
|
|
993
|
+
"legacy:purge-blackbox": "node ./dist/scripts/sks-400-legacy-purge-blackbox.js",
|
|
994
|
+
"cli:check-tiers": "node ./dist/scripts/cli-check-tiers-check.js",
|
|
995
|
+
"cli:five-minute-task": "node ./dist/scripts/cli-five-minute-task-check.js",
|
|
996
|
+
"certificate:sla": "node ./dist/scripts/certificate-sla-check.js",
|
|
997
|
+
"sks:400-all-feature-regression": "node ./dist/scripts/sks-400-all-feature-regression-blackbox.js"
|
|
962
998
|
},
|
|
963
999
|
"keywords": [
|
|
964
1000
|
"sneakoscope",
|