sneakoscope 5.7.0 → 5.8.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 +1 -1
  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 +1 -2
  7. package/dist/cli/{insane-search-command.js → super-search-command.js} +96 -55
  8. package/dist/cli/xai-command.js +7 -7
  9. package/dist/config/skills-manifest.json +63 -70
  10. package/dist/core/agents/agent-codex-cockpit.js +3 -3
  11. package/dist/core/agents/agent-orchestrator.js +20 -2
  12. package/dist/core/agents/agent-wrongness.js +1 -1
  13. package/dist/core/agents/native-cli-session-swarm.js +14 -1
  14. package/dist/core/agents/parallel-runtime-proof.js +82 -8
  15. package/dist/core/commands/gc-command.js +12 -6
  16. package/dist/core/commands/run-command.js +20 -18
  17. package/dist/core/feature-fixtures.js +15 -8
  18. package/dist/core/fsx.js +1 -1
  19. package/dist/core/init/skills.js +1 -2
  20. package/dist/core/mission.js +41 -15
  21. package/dist/core/release-parallel-full-coverage.js +1 -1
  22. package/dist/core/retention.js +1 -1
  23. package/dist/core/routes/constants.js +2 -2
  24. package/dist/core/routes.js +150 -52
  25. package/dist/core/source-intelligence/source-intelligence-policy.js +5 -5
  26. package/dist/core/source-intelligence/source-intelligence-proof.js +8 -8
  27. package/dist/core/source-intelligence/source-intelligence-runner.js +16 -16
  28. package/dist/core/strategy/strategy-gate.js +2 -1
  29. package/dist/core/super-search/runtime-helpers.js +289 -0
  30. package/dist/core/super-search/runtime.js +259 -0
  31. package/dist/core/super-search/source-records.js +96 -0
  32. package/dist/core/super-search/types.js +3 -0
  33. package/dist/core/trust-kernel/trust-report.js +3 -3
  34. package/dist/core/verification/real-evidence-policy.js +55 -0
  35. package/dist/core/version.js +1 -1
  36. package/dist/scripts/agent-visual-consistency-check.js +1 -1
  37. package/dist/scripts/check-architecture.js +0 -1
  38. package/dist/scripts/mutation-callsite-coverage-check.js +7 -0
  39. package/dist/scripts/release-metadata-1-19-check.js +2 -2
  40. package/dist/scripts/release-parallel-check.js +2 -2
  41. package/dist/scripts/release-parallel-full-coverage-check.js +1 -1
  42. package/dist/scripts/sks-1-18-gate-lib.js +2 -2
  43. package/dist/scripts/source-intelligence-all-modes-check.js +2 -2
  44. package/dist/scripts/source-intelligence-policy-check.js +1 -1
  45. package/dist/scripts/super-search-name-guard-check.js +98 -0
  46. package/dist/scripts/{ultra-search-provider-interface-check.js → super-search-provider-interface-check.js} +9 -9
  47. package/dist/scripts/trust-fixture-check.js +19 -6
  48. package/package.json +9 -3
  49. package/schemas/agents/parallel-runtime-proof.schema.json +17 -1
  50. package/dist/core/ultra-search/runtime.js +0 -502
  51. package/dist/core/ultra-search/types.js +0 -3
  52. package/dist/scripts/release-readiness-report.js +0 -1262
  53. /package/dist/core/{ultra-search → super-search}/index.js +0 -0
package/README.md CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  Sneakoscope Codex (`sks`) is a Codex CLI and Codex App harness for people who want parallel AI coding without losing proof. It gives Codex a simple front door, a dynamic worker swarm, a local dashboard, TriWiki project memory, and release gates that separate machine evidence from LLM opinion.
16
16
 
17
- Current release: SKS **5.7.0**. New in this release: repaired Codex App menu bar persistence and Fast Mode actions, codex-lb Fast Mode defaults pinned to the required current Codex model, legacy upgrade repair through `sks update` and `sks doctor --fix`, and a safer `npm publish --ignore-scripts` wrapper that runs the release gates before lifecycle-disabled publish. See [CHANGELOG.md](CHANGELOG.md).
17
+ Current release: SKS **5.8.0**. New in this release: intent routing no longer treats every question mark as answer-only, Naruto parallel-write proof now requires real worker/file/timestamp evidence, production gates reject mock-only or source-less success, and the fragmented legacy search surface is replaced by the canonical `sks super-search` / `$Super-Search` path. See [CHANGELOG.md](CHANGELOG.md).
18
18
 
19
19
  ## Install
20
20
 
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "sks-core"
79
- version = "5.7.0"
79
+ version = "5.8.0"
80
80
  dependencies = [
81
81
  "serde_json",
82
82
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sks-core"
3
- version = "5.7.0"
3
+ version = "5.8.0"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
@@ -4,7 +4,7 @@ use std::io::{self, Read, Seek, SeekFrom};
4
4
  fn main() {
5
5
  let mut args = std::env::args().skip(1);
6
6
  match args.next().as_deref() {
7
- Some("--version") => println!("sks-rs 5.7.0"),
7
+ Some("--version") => println!("sks-rs 5.8.0"),
8
8
  Some("compact-info") => {
9
9
  let mut input = String::new();
10
10
  let _ = io::stdin().read_to_string(&mut input);
package/dist/bin/sks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const FAST_PACKAGE_VERSION = '5.7.0';
2
+ const FAST_PACKAGE_VERSION = '5.8.0';
3
3
  const args = process.argv.slice(2);
4
4
  try {
5
5
  if (args[0] === '--agent' && args[1] === 'worker') {
@@ -161,8 +161,7 @@ export const COMMANDS = {
161
161
  'image-ux-review': routeStateMutator(entry('labs', 'Inspect image UX artifacts', 'dist/core/commands/image-ux-review-command.js', commandArgsCommand(() => import('../core/commands/image-ux-review-command.js'), 'imageUxReviewCommand', 'dist/core/commands/image-ux-review-command.js')), ['image-ux-review-gate.json']),
162
162
  'computer-use': routeStateMutator(entry('beta', 'Record native Mac/non-web Computer Use visual evidence', 'dist/core/commands/computer-use-command.js', commandArgsCommand(() => import('../core/commands/computer-use-command.js'), 'computerUseCommand', 'dist/core/commands/computer-use-command.js')), ['computer-use-gate.json']),
163
163
  context7: entry('beta', 'Context7 checks and docs', 'dist/cli/context7-command.js', subcommand(() => import('./context7-command.js'), 'context7Command', 'dist/cli/context7-command.js', 'check')),
164
- 'insane-search': entry('beta', 'Run provider-independent InsaneSearch source intelligence', 'dist/cli/insane-search-command.js', subcommand(() => import('./insane-search-command.js'), 'insaneSearchCommand', 'dist/cli/insane-search-command.js', 'doctor')),
165
- 'ultra-search': entry('beta', 'Compatibility alias for InsaneSearch source intelligence', 'dist/cli/insane-search-command.js', subcommand(() => import('./insane-search-command.js'), 'ultraSearchCommand', 'dist/cli/insane-search-command.js', 'doctor')),
164
+ 'super-search': entry('beta', 'Run Super-Search provider-independent source intelligence', 'dist/cli/super-search-command.js', subcommand(() => import('./super-search-command.js'), 'superSearchCommand', 'dist/cli/super-search-command.js', 'doctor')),
166
165
  xai: entry('beta', 'Deprecated compatibility notice for removed xAI/Grok setup', 'dist/cli/xai-command.js', subcommand(() => import('./xai-command.js'), 'xaiCommand', 'dist/cli/xai-command.js', 'check')),
167
166
  recallpulse: entry('labs', 'RecallPulse evidence route', 'dist/commands/recallpulse.js', directCommand(() => import('../commands/recallpulse.js'), 'dist/commands/recallpulse.js')),
168
167
  pipeline: activeRouteDiagnostic(entry('beta', 'Inspect pipeline missions', 'dist/commands/pipeline.js', directCommand(() => import('../commands/pipeline.js'), 'dist/commands/pipeline.js'))),
@@ -1,9 +1,11 @@
1
1
  import fs from 'node:fs/promises';
2
2
  import os from 'node:os';
3
3
  import path from 'node:path';
4
- import { runUltraSearch } from '../core/ultra-search/index.js';
4
+ import { randomUUID } from 'node:crypto';
5
+ import { runSuperSearch } from '../core/super-search/index.js';
5
6
  import { evaluateLocalGate } from '../core/commands/route-success-helpers.js';
6
- export async function insaneSearchCommand(sub = 'help', args = []) {
7
+ import { evaluateRealEvidencePolicy } from '../core/verification/real-evidence-policy.js';
8
+ export async function superSearchCommand(sub = 'help', args = []) {
7
9
  const action = sub || 'help';
8
10
  if (action === 'run')
9
11
  return runCommand(args);
@@ -19,24 +21,25 @@ export async function insaneSearchCommand(sub = 'help', args = []) {
19
21
  return cacheCommand(args);
20
22
  if (action === 'bench')
21
23
  return benchCommand(args);
22
- if (action === 'migrate-xai')
23
- return migrateXaiCommand(args);
24
24
  return helpCommand();
25
25
  }
26
- export const ultraSearchCommand = insaneSearchCommand;
27
26
  async function runCommand(args) {
28
27
  const json = args.includes('--json');
29
28
  const mode = readOption(args, '--mode');
30
- const query = positional(args).join(' ').trim();
29
+ const rawQuery = positional(args).join(' ').trim();
30
+ const query = rawQuery || (mode === 'url_acquisition' ? 'fetch' : '');
31
31
  if (!query)
32
- throw new Error('Usage: sks insane-search run "<query>" [--mode fast|balanced|deep|exhaustive|x_search|url_acquisition] [--json]');
32
+ throw new Error('Usage: sks super-search run "<query>" [--mode fast|balanced|deep|exhaustive] [--json]');
33
+ if (mode && !['fast', 'balanced', 'deep', 'exhaustive', 'x_search', 'url_acquisition'].includes(mode)) {
34
+ throw new Error('Unsupported Super-Search mode: ' + mode);
35
+ }
33
36
  const missionDir = await mkMissionDir();
34
- const result = await runUltraSearch({
37
+ const result = await runSuperSearch({
35
38
  missionDir,
36
39
  query,
37
40
  ...(mode ? { mode } : {})
38
41
  });
39
- const gate = await evaluateUltraSearchGate(missionDir);
42
+ const gate = await evaluateSuperSearchGate(missionDir);
40
43
  const finalResult = {
41
44
  ...result,
42
45
  ok: result.ok === true && gate.ok === true,
@@ -46,7 +49,7 @@ async function runCommand(args) {
46
49
  if (json)
47
50
  console.log(JSON.stringify(finalResult, null, 2));
48
51
  else {
49
- console.log(`InsaneSearch ${finalResult.ok ? 'completed' : 'partial/blocked'}: ${result.mode}`);
52
+ console.log(`Super-Search ${finalResult.ok ? 'completed' : 'partial/blocked'}: ${result.mode}`);
50
53
  console.log(`Mission: ${missionDir}`);
51
54
  console.log(`Sources: ${result.sources.length}, verified: ${result.proof.verified_source_count}`);
52
55
  if (finalResult.blockers.length)
@@ -59,7 +62,7 @@ async function runCommand(args) {
59
62
  async function doctorCommand(args) {
60
63
  const json = args.includes('--json');
61
64
  const report = {
62
- schema: 'sks.ultra-search-doctor.v1',
65
+ schema: 'sks.super-search-doctor.v1',
63
66
  ok: true,
64
67
  core_ready: true,
65
68
  xai_required: false,
@@ -75,18 +78,31 @@ async function doctorCommand(args) {
75
78
  if (json)
76
79
  console.log(JSON.stringify(report, null, 2));
77
80
  else
78
- console.log('InsaneSearch doctor: core ready; xAI/Grok is not required.');
81
+ console.log('Super-Search doctor: core ready; xAI/Grok is not required.');
79
82
  return report;
80
83
  }
81
84
  async function inspectCommand(action, args) {
82
85
  const json = args.includes('--json');
83
86
  const mission = positional(args)[0] || 'latest';
84
87
  const target = mission === 'latest' ? await latestMissionDir() : mission;
85
- const file = path.join(target, 'ultra-search', action === 'sources' ? 'source-ledger.json' : action === 'claims' ? 'claim-ledger.json' : 'ultra-search-result.json');
86
- const text = await fs.readFile(file, 'utf8');
87
- const parsed = JSON.parse(text);
88
- const gate = await evaluateUltraSearchGate(target);
89
- const result = { ...parsed, ok: parsed.ok === true && gate.ok === true, gate_evaluation: gate, blockers: [...new Set([...(parsed.blockers || []), ...gate.blockers])] };
88
+ const file = path.join(target, 'super-search', action === 'sources' ? 'source-ledger.json' : action === 'claims' ? 'claim-ledger.json' : 'super-search-result.json');
89
+ const text = await fs.readFile(file, 'utf8').catch(() => null);
90
+ const parsed = text ? JSON.parse(text) : {
91
+ schema: 'sks.super-search-inspect-missing.v1',
92
+ ok: false,
93
+ mission: target,
94
+ blockers: ['super_search_mission_artifact_missing:' + path.relative(process.cwd(), file)]
95
+ };
96
+ const gate = await evaluateSuperSearchGate(target);
97
+ const evidence = await evaluateSuperSearchArtifacts(target);
98
+ const parsedOk = parsed.ok === false ? false : true;
99
+ const result = {
100
+ ...parsed,
101
+ ok: parsedOk && gate.ok === true && evidence.ok === true,
102
+ gate_evaluation: gate,
103
+ real_evidence_policy: evidence,
104
+ blockers: [...new Set([...(parsed.blockers || []), ...gate.blockers, ...evidence.blockers])]
105
+ };
90
106
  if (!result.ok)
91
107
  process.exitCode = 1;
92
108
  if (json)
@@ -97,13 +113,13 @@ async function inspectCommand(action, args) {
97
113
  }
98
114
  async function cacheCommand(args) {
99
115
  const sub = positional(args)[0] || 'status';
100
- const report = { schema: 'sks.ultra-search-cache.v1', ok: true, action: sub, local_only: true };
116
+ const report = { schema: 'sks.super-search-cache.v1', ok: true, action: sub, local_only: true };
101
117
  console.log(JSON.stringify(report, null, 2));
102
118
  return report;
103
119
  }
104
120
  async function benchCommand(args) {
105
121
  const report = {
106
- schema: 'sks.ultra-search-bench.v1',
122
+ schema: 'sks.super-search-bench.v1',
107
123
  ok: false,
108
124
  suite: readOption(args, '--suite') || 'all',
109
125
  status: 'real_benchmark_not_run',
@@ -112,33 +128,16 @@ async function benchCommand(args) {
112
128
  console.log(JSON.stringify(report, null, 2));
113
129
  return report;
114
130
  }
115
- async function migrateXaiCommand(args) {
116
- const apply = args.includes('--apply');
117
- const report = {
118
- schema: apply ? 'sks.ultra-search-xai-migration-result.v1' : 'sks.ultra-search-xai-migration-plan.v1',
119
- ok: true,
120
- applied: false,
121
- managed_candidates: [],
122
- unowned_preserved: true,
123
- note: 'No automatic MCP config deletion is performed without an owned managed marker and explicit --apply.'
124
- };
125
- console.log(JSON.stringify(report, null, 2));
126
- return report;
127
- }
128
131
  function helpCommand() {
129
132
  console.log([
130
133
  'Usage:',
131
- ' sks insane-search doctor [--json]',
132
- ' sks insane-search run "<query>" [--mode fast|balanced|deep|exhaustive]',
133
- ' sks insane-search x "<query>"',
134
- ' sks insane-search fetch "<url>"',
135
- ' sks insane-search status|inspect|sources|claims <mission|latest>',
136
- ' sks insane-search cache status|prune|clear',
137
- ' sks insane-search bench [--suite all|x|web|docs|blocked]',
138
- ' sks insane-search migrate-xai [--apply]',
139
- '',
140
- 'Compatibility:',
141
- ' sks ultra-search ...'
134
+ ' sks super-search doctor [--json]',
135
+ ' sks super-search run "<query>" [--mode fast|balanced|deep|exhaustive] [--json]',
136
+ ' sks super-search x "<query>" [--json]',
137
+ ' sks super-search fetch "<url>" [--json]',
138
+ ' sks super-search status|inspect|sources|claims <mission|latest> [--json]',
139
+ ' sks super-search cache status|prune|clear [--json]',
140
+ ' sks super-search bench [--suite all|x|web|docs|blocked] [--json]'
142
141
  ].join('\n'));
143
142
  return { ok: true, status: 'help' };
144
143
  }
@@ -163,7 +162,7 @@ function positional(args) {
163
162
  return out;
164
163
  }
165
164
  async function mkMissionDir() {
166
- const dir = path.join(process.cwd(), '.sneakoscope', 'missions', `ultra-${Date.now().toString(36)}`);
165
+ const dir = path.join(process.cwd(), '.sneakoscope', 'missions', `super-search-${Date.now().toString(36)}-${randomUUID().slice(0, 8)}`);
167
166
  await fs.mkdir(dir, { recursive: true });
168
167
  return dir;
169
168
  }
@@ -171,25 +170,67 @@ async function latestMissionDir() {
171
170
  const root = path.join(process.cwd(), '.sneakoscope', 'missions');
172
171
  const entries = await fs.readdir(root, { withFileTypes: true }).catch(() => []);
173
172
  const dirs = entries.filter((entry) => entry.isDirectory()).map((entry) => path.join(root, entry.name)).sort();
174
- const latest = dirs.reverse().find(asyncDirLikelyUltra);
173
+ let latest = null;
174
+ for (const dir of dirs.reverse()) {
175
+ if (await hasSuperSearchArtifactDir(dir)) {
176
+ latest = dir;
177
+ break;
178
+ }
179
+ }
175
180
  if (!latest)
176
- return path.join(os.tmpdir(), 'sks-ultra-search-missing');
181
+ return path.join(os.tmpdir(), 'sks-super-search-missing');
177
182
  return latest;
178
183
  }
179
- function asyncDirLikelyUltra(dir) {
180
- return Boolean(dir);
184
+ async function hasSuperSearchArtifactDir(dir) {
185
+ try {
186
+ const stat = await fs.stat(path.join(dir, 'super-search'));
187
+ return stat.isDirectory();
188
+ }
189
+ catch {
190
+ return false;
191
+ }
181
192
  }
182
- async function evaluateUltraSearchGate(missionDir) {
193
+ async function evaluateSuperSearchGate(missionDir) {
183
194
  return evaluateLocalGate({
184
195
  root: process.cwd(),
185
196
  dir: missionDir,
186
- gateFile: path.join('ultra-search', 'ultra-search-gate.json'),
197
+ gateFile: path.join('super-search', 'super-search-gate.json'),
187
198
  requiredArtifacts: [
188
- path.join('ultra-search', 'source-ledger.json'),
189
- path.join('ultra-search', 'claim-ledger.json'),
190
- path.join('ultra-search', 'ultra-search-proof.json'),
191
- path.join('ultra-search', 'ultra-search-result.json')
199
+ path.join('super-search', 'source-ledger.json'),
200
+ path.join('super-search', 'claim-ledger.json'),
201
+ path.join('super-search', 'super-search-proof.json'),
202
+ path.join('super-search', 'super-search-result.json')
192
203
  ]
193
204
  });
194
205
  }
195
- //# sourceMappingURL=insane-search-command.js.map
206
+ async function evaluateSuperSearchArtifacts(missionDir) {
207
+ const artifactDir = path.join(missionDir, 'super-search');
208
+ const [result, sourceLedger, claimLedger, proof] = await Promise.all([
209
+ readJsonFile(path.join(artifactDir, 'super-search-result.json')),
210
+ readJsonFile(path.join(artifactDir, 'source-ledger.json')),
211
+ readJsonFile(path.join(artifactDir, 'claim-ledger.json')),
212
+ readJsonFile(path.join(artifactDir, 'super-search-proof.json'))
213
+ ]);
214
+ const sources = Array.isArray(result?.sources) ? result.sources : Array.isArray(sourceLedger?.sources) ? sourceLedger.sources : [];
215
+ const claims = Array.isArray(result?.claims) ? result.claims : Array.isArray(claimLedger?.claims) ? claimLedger.claims : [];
216
+ const proofData = result?.proof || proof || {};
217
+ return evaluateRealEvidencePolicy({
218
+ productionMode: true,
219
+ mode: result?.mode || proofData?.mode,
220
+ sources,
221
+ claims,
222
+ proof: proofData
223
+ });
224
+ }
225
+ async function readJsonFile(file) {
226
+ const text = await fs.readFile(file, 'utf8').catch(() => null);
227
+ if (!text)
228
+ return null;
229
+ try {
230
+ return JSON.parse(text);
231
+ }
232
+ catch {
233
+ return null;
234
+ }
235
+ }
236
+ //# sourceMappingURL=super-search-command.js.map
@@ -9,19 +9,19 @@ export async function xaiCommand(sub = 'check', args = []) {
9
9
  setup_performed: false,
10
10
  xai_required: false,
11
11
  replacement: {
12
- doctor: 'sks insane-search doctor',
13
- x_search: 'sks insane-search x "<query>"',
14
- migration: 'sks insane-search migrate-xai [--apply]'
12
+ doctor: 'sks super-search doctor',
13
+ x_search: 'sks super-search x "<query>"',
14
+ fetch: 'sks super-search fetch "<url>"'
15
15
  },
16
- blockers: action === 'setup' ? ['xai_setup_removed_use_ultra_search'] : [],
16
+ blockers: action === 'setup' ? ['xai_setup_removed_use_super_search'] : [],
17
17
  warnings: ['sks_xai_is_deprecated_and_does_not_configure_mcp_or_require_XAI_API_KEY']
18
18
  };
19
19
  if (json)
20
20
  console.log(JSON.stringify(result, null, 2));
21
21
  else {
22
- console.log('`sks xai` is deprecated. InsaneSearch no longer requires xAI/Grok or XAI_API_KEY.');
23
- console.log('Use: sks insane-search doctor');
24
- console.log('Use: sks insane-search x "<query>"');
22
+ console.log('`sks xai` is deprecated. Super-Search no longer requires xAI/Grok or XAI_API_KEY.');
23
+ console.log('Use: sks super-search doctor');
24
+ console.log('Use: sks super-search x "<query>"');
25
25
  if (action === 'setup') {
26
26
  console.log('No MCP setup was performed.');
27
27
  process.exitCode = 1;