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.
Files changed (53) hide show
  1. package/README.md +28 -3
  2. package/crates/sks-core/Cargo.lock +1 -1
  3. package/crates/sks-core/Cargo.toml +1 -1
  4. package/crates/sks-core/src/main.rs +1 -1
  5. package/dist/bin/sks.js +1 -1
  6. package/dist/cli/command-registry.js +6 -13
  7. package/dist/commands/doctor.js +29 -2
  8. package/dist/commands/proof.js +8 -0
  9. package/dist/core/agents/agent-cleanup-executor.js +75 -1
  10. package/dist/core/agents/agent-command-surface.js +29 -4
  11. package/dist/core/agents/agent-orchestrator.js +25 -6
  12. package/dist/core/agents/native-cli-session-swarm.js +1 -1
  13. package/dist/core/build/build-once-runner.js +62 -0
  14. package/dist/core/codex/codex-config-readability.js +52 -38
  15. package/dist/core/commands/check-command.js +130 -0
  16. package/dist/core/commands/daemon-command.js +14 -0
  17. package/dist/core/commands/local-model-command.js +1 -1
  18. package/dist/core/commands/mad-sks-command.js +18 -1
  19. package/dist/core/commands/naruto-command.js +14 -5
  20. package/dist/core/commands/release-command.js +52 -0
  21. package/dist/core/commands/task-command.js +15 -0
  22. package/dist/core/commands/triwiki-command.js +38 -0
  23. package/dist/core/daemon/sksd-client.js +9 -0
  24. package/dist/core/daemon/sksd.js +55 -0
  25. package/dist/core/doctor/doctor-codex-startup-repair.js +3 -2
  26. package/dist/core/doctor/doctor-dirty-planner.js +30 -0
  27. package/dist/core/doctor/doctor-transaction.js +13 -0
  28. package/dist/core/feature-fixtures.js +1 -0
  29. package/dist/core/fsx.js +1 -1
  30. package/dist/core/init.js +7 -1
  31. package/dist/core/probes/probe-memoization.js +42 -0
  32. package/dist/core/release/extreme-parallel-scheduler.js +33 -0
  33. package/dist/core/release/gate-pack-manifest.js +118 -0
  34. package/dist/core/release/gate-pack-runner.js +113 -0
  35. package/dist/core/release/release-gate-cache-v2.js +73 -16
  36. package/dist/core/release/release-gate-dag.js +81 -2
  37. package/dist/core/release/resource-class-budget.js +22 -0
  38. package/dist/core/release/sla-scheduler.js +22 -0
  39. package/dist/core/routes.js +5 -0
  40. package/dist/core/triwiki/triwiki-affected-graph.js +56 -0
  41. package/dist/core/triwiki/triwiki-cache-key.js +221 -0
  42. package/dist/core/triwiki/triwiki-gate-impact-map.js +79 -0
  43. package/dist/core/triwiki/triwiki-module-card.js +37 -0
  44. package/dist/core/triwiki/triwiki-proof-bank.js +132 -0
  45. package/dist/core/triwiki/triwiki-proof-card.js +42 -0
  46. package/dist/core/triwiki/triwiki-sla-certificate.js +30 -0
  47. package/dist/core/version.js +1 -1
  48. package/dist/core/zellij/zellij-worker-pane-manager.js +3 -2
  49. package/dist/scripts/fixtures/fake-codex-config-loader.js +12 -1
  50. package/dist/scripts/release-4000-required-gates.js +36 -0
  51. package/dist/scripts/release-gate-dag-runner.js +18 -0
  52. package/dist/scripts/release-speed-summary.js +9 -0
  53. 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": "3.1.13",
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": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && node ./dist/scripts/ensure-bin-executable.js && node ./dist/scripts/build-dist.js",
51
- "dev:sks": "npm run build --silent && node ./dist/bin/sks.js",
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:research": "npm run build --silent && node ./dist/scripts/release-gate-dag-runner.js --preset research",
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",