sneakoscope 6.0.2 → 6.0.3

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 (49) hide show
  1. package/README.md +3 -1
  2. package/crates/sks-core/Cargo.lock +1 -1
  3. package/crates/sks-core/Cargo.toml +1 -1
  4. package/dist/bin/fast-inline.js +5 -0
  5. package/dist/bin/sks-dispatch.js +2 -0
  6. package/dist/cli/install-helpers.js +41 -6
  7. package/dist/commands/codex-app.js +8 -3
  8. package/dist/commands/codex-lb.js +37 -12
  9. package/dist/config/skills-manifest.json +57 -57
  10. package/dist/core/agents/agent-effort-policy.js +46 -33
  11. package/dist/core/agents/agent-orchestrator.js +1 -1
  12. package/dist/core/agents/agent-proof-evidence.js +16 -2
  13. package/dist/core/agents/agent-roster.js +2 -2
  14. package/dist/core/agents/native-cli-session-swarm.js +18 -1
  15. package/dist/core/agents/native-worker-backend-router.js +179 -108
  16. package/dist/core/agents/parallel-write-fixture.js +15 -10
  17. package/dist/core/agents/runtime-proof-summary.js +21 -3
  18. package/dist/core/codex-app/codex-app-restart.js +38 -8
  19. package/dist/core/codex-app/sks-menubar.js +92 -37
  20. package/dist/core/codex-app.js +26 -4
  21. package/dist/core/codex-control/codex-model-metadata.js +8 -4
  22. package/dist/core/codex-lb/codex-lb-env.js +78 -0
  23. package/dist/core/commands/basic-cli.js +15 -0
  24. package/dist/core/commands/naruto-command.js +37 -9
  25. package/dist/core/naruto/naruto-write-e2e.js +3 -4
  26. package/dist/core/provider/model-router.js +64 -3
  27. package/dist/core/release/package-size-budget.js +2 -0
  28. package/dist/core/routes/constants.js +1 -1
  29. package/dist/core/routes/model-mode-router.js +3 -0
  30. package/dist/core/routes.js +7 -9
  31. package/dist/core/update/update-migration-state.js +1 -1
  32. package/dist/core/update/update-notice.js +23 -0
  33. package/dist/core/update-check.js +46 -10
  34. package/dist/core/version.js +1 -1
  35. package/dist/scripts/codex-app-provider-model-ui-check.js +17 -2
  36. package/dist/scripts/doctor-fix-proves-codex-read-check.js +1 -1
  37. package/dist/scripts/gate-policy-audit-check.js +2 -2
  38. package/dist/scripts/legacy-upgrade-matrix-check.js +1 -1
  39. package/dist/scripts/lib/native-cli-session-swarm-check-lib.js +2 -1
  40. package/dist/scripts/naruto-shadow-clone-swarm-check.js +88 -50
  41. package/dist/scripts/npm-publish-performance-check.js +2 -1
  42. package/dist/scripts/packlist-performance-check.js +5 -2
  43. package/dist/scripts/release-dag-full-coverage-check.js +7 -7
  44. package/dist/scripts/release-gate-existence-audit.js +8 -9
  45. package/dist/scripts/scheduler-batch-dispatch-check.js +1 -1
  46. package/dist/scripts/sizecheck.js +7 -2
  47. package/dist/scripts/sks-menubar-install-check.js +7 -0
  48. package/dist/scripts/update-default-command-check.js +4 -2
  49. package/package.json +3 -16
@@ -14,14 +14,14 @@ const requiredReleasePresetIds = [
14
14
  'qa-loop:comprehensive-verification',
15
15
  'loop-integration-finalizer-check',
16
16
  'naruto:canonical-stop-gate',
17
- 'agent:native-cli-session-swarm',
18
- 'agent:native-cli-session-proof',
19
- 'agent:fast-mode-worker-propagation',
20
- 'release:dag-full-coverage',
17
+ 'agent:native-cli-session-swarm-scaling',
18
+ 'agent:fast-mode-policy',
19
+ 'codex-control:event-stream-ledger',
20
+ 'release:dag-runner',
21
21
  'release:gate-budget',
22
- 'release:gate-planner',
22
+ 'release:gate-selection-comprehensive',
23
23
  'policy:gate-audit',
24
- 'runtime:no-tmux',
24
+ 'runtime:proof-summary',
25
25
  'typecheck'
26
26
  ];
27
27
  const requiredHarnessPresetIds = [
@@ -42,7 +42,7 @@ const schemaComplete = [...releaseManifest.gates, ...harnessManifest.gates].ever
42
42
  const report = {
43
43
  schema: 'sks.release-dag-full-coverage-check.v2',
44
44
  ok: schemaComplete
45
- && releasePreset.length <= 220
45
+ && releasePreset.length <= 200
46
46
  && missingRequiredReleasePreset.length === 0
47
47
  && missingRequiredHarnessPreset.length === 0
48
48
  && duplicateAcrossManifests.length === 0
@@ -16,14 +16,13 @@ const requiredRelease = [
16
16
  'qa-loop:comprehensive-verification',
17
17
  'loop-integration-finalizer-check',
18
18
  'naruto:canonical-stop-gate',
19
- 'agent:native-cli-session-swarm',
20
- 'agent:native-cli-session-proof',
21
- 'agent:fast-mode-worker-propagation',
22
- 'runtime:no-tmux',
23
- 'runtime:no-mjs-scripts',
24
- 'release:dag-full-coverage',
19
+ 'agent:native-cli-session-swarm-scaling',
20
+ 'agent:fast-mode-policy',
21
+ 'codex-control:event-stream-ledger',
22
+ 'runtime:proof-summary',
23
+ 'release:dag-runner',
25
24
  'release:gate-budget',
26
- 'release:gate-planner',
25
+ 'release:gate-selection-comprehensive',
27
26
  'policy:gate-audit',
28
27
  'typecheck'
29
28
  ];
@@ -42,8 +41,8 @@ const releaseCheckTarget = releaseCheck.includes('release:check:affected')
42
41
  ? String(scripts['release:check:affected'] || '')
43
42
  : releaseCheck;
44
43
  assertGate(releaseCheckTarget.includes('release-gate-dag-runner') && /--preset\s+(?:release|affected)/.test(releaseCheckTarget), 'release:check must use the v2 DAG release/affected preset', { release_check: scripts['release:check'], resolved_release_check: releaseCheckTarget });
45
- assertGate(releaseGates.length > 0 && releaseGates.length <= 220, 'release v2 manifest must include 1..220 release gates', { gate_count: releaseGates.length });
46
- const PACKAGE_SCRIPT_BUDGET = 150;
44
+ assertGate(releaseGates.length > 0 && releaseGates.length <= 200, 'release v2 manifest must include 1..200 release gates', { gate_count: releaseGates.length });
45
+ const PACKAGE_SCRIPT_BUDGET = 100;
47
46
  assertGate(Object.keys(scripts).length <= PACKAGE_SCRIPT_BUDGET, 'package script budget exceeded', { script_count: Object.keys(scripts).length, limit: PACKAGE_SCRIPT_BUDGET });
48
47
  for (const id of requiredRelease)
49
48
  assertGate(releaseIds.has(id), `critical release gate missing from release v2 manifest: ${id}`, { id });
@@ -12,6 +12,6 @@ const count = 6;
12
12
  const roster = { agent_count: count, roster: Array.from({ length: count }, (_, i) => ({ id: `a${i + 1}`, persona_id: `p${i + 1}`, role: 'verifier' })) };
13
13
  const partition = { slices: Array.from({ length: count }, (_, i) => ({ id: `w${i + 1}`, description: 'batch', write_paths: [], readonly_paths: [] })) };
14
14
  const result = await runAgentScheduler({ root: ledgerRoot, missionId, rootHash: 'fixture', roster, partition, targetActiveSlots: count, maxActiveSlots: count, launchSession: async ({ generation, agent, workItem }) => ({ schema: 'sks.agent-result.v1', mission_id: missionId, agent_id: agent.id, session_id: generation.session_id, persona_id: agent.persona_id, task_slice_id: workItem.id, status: 'done', backend: 'fake', summary: 'ok', findings: [], proposed_changes: [], changed_files: [], lease_compliance: { ok: true, violations: [] }, artifacts: [], blockers: [], confidence: 'high', handoff_notes: '', unverified: [], writes: [], recursion_guard: { ok: true, violations: [] }, verification: { status: 'passed', checks: [] } }) });
15
- assertGate(result.state.batch_dispatch_count >= 1 && result.state.largest_batch_size >= count, 'scheduler did not dispatch a full launch batch', result.state);
15
+ assertGate(result.state.batch_dispatch_count >= 1 && result.state.largest_batch_size >= result.state.target_active_slots, 'scheduler did not dispatch a full effective launch batch', result.state);
16
16
  emitGate('scheduler:batch-dispatch', result.state);
17
17
  //# sourceMappingURL=scheduler-batch-dispatch-check.js.map
@@ -5,9 +5,10 @@ import fs from 'node:fs';
5
5
  import os from 'node:os';
6
6
  import path from 'node:path';
7
7
  import { fileURLToPath } from 'node:url';
8
+ import { DEFAULT_MAX_PACK_BYTES } from '../core/release/package-size-budget.js';
8
9
  const root = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..');
9
10
  const limits = {
10
- packedBytes: Number(process.env.SKS_MAX_PACK_BYTES || 2410 * 1024),
11
+ packedBytes: Number(process.env.SKS_MAX_PACK_BYTES || DEFAULT_MAX_PACK_BYTES),
11
12
  unpackedBytes: Number(process.env.SKS_MAX_UNPACKED_BYTES || 10 * 1024 * 1024),
12
13
  packFiles: Number(process.env.SKS_MAX_PACK_FILES || 2100),
13
14
  trackedFileBytes: Number(process.env.SKS_MAX_TRACKED_FILE_BYTES || 384 * 1024)
@@ -16,7 +17,11 @@ const trackedFileSizeAllowlist = new Set([
16
17
  // Historical source documentation export; not included in the npm package payload.
17
18
  'docs/sks-local-llm-mode/exports/sks-local-llm-mode-deck.pdf',
18
19
  // Central release DAG manifest; package footprint limits still apply below.
19
- 'release-gates.v2.json'
20
+ 'release-gates.v2.json',
21
+ // Generated Codex App Server protocol schemas; handwritten sources remain
22
+ // subject to the 384 KiB split-review limit.
23
+ 'schemas/codex/app-server-0.142/codex_app_server_protocol.schemas.json',
24
+ 'schemas/codex/app-server-0.142/codex_app_server_protocol.v2.schemas.json'
20
25
  ]);
21
26
  const npmBin = process.platform === 'win32' ? 'npm.cmd' : 'npm';
22
27
  function fail(message, detail = '') {
@@ -126,6 +126,11 @@ const hasActionFallbacks = actionScript.includes('command -v sks')
126
126
  && actionScript.includes('/bin/zsh -lc')
127
127
  && actionScript.includes('exit 127')
128
128
  && actionScript.includes('display notification');
129
+ const pinnedEntryIndex = actionScript.indexOf('run_node_entry "$SKS_ENTRY" "$@"');
130
+ const hasPinnedEntryPriority = pinnedEntryIndex >= 0
131
+ && pinnedEntryIndex < actionScript.indexOf('command -v sks')
132
+ && pinnedEntryIndex < actionScript.indexOf('npm root -g')
133
+ && actionScript.lastIndexOf('run_node_entry "$SKS_ENTRY" "$@"') === pinnedEntryIndex;
129
134
  const hasEntryWarning = result.warnings.includes('sks_entry_project_local');
130
135
  const hasBuildStamp = buildStampExists
131
136
  && result.build_stamp?.package_version === PACKAGE_VERSION
@@ -203,6 +208,7 @@ const darwinOk = cltMissing
203
208
  && hasInteractiveProcessType
204
209
  && hasPackagePlistVersion
205
210
  && hasActionFallbacks
211
+ && hasPinnedEntryPriority
206
212
  && hasEntryWarning
207
213
  && hasBuildStamp
208
214
  && swiftParse.ok === true
@@ -249,6 +255,7 @@ const report = {
249
255
  has_interactive_process_type: hasInteractiveProcessType,
250
256
  has_package_plist_version: hasPackagePlistVersion,
251
257
  has_action_fallbacks: hasActionFallbacks,
258
+ has_pinned_entry_priority: hasPinnedEntryPriority,
252
259
  has_entry_warning: hasEntryWarning,
253
260
  has_build_stamp: hasBuildStamp,
254
261
  swift_parse: swiftParse,
@@ -12,7 +12,9 @@ const routes = fs.readFileSync('src/core/routes.ts', 'utf8');
12
12
  assertGate(registry.includes("subcommand(() => import(basicModule), 'updateCommand', 'dist/core/commands/basic-cli.js', 'now')"), 'bare sks update must default to update now');
13
13
  assertGate(basicCli.includes("export async function updateCommand(sub: any = 'now'"), 'updateCommand default must be now');
14
14
  assertGate(basicCli.includes("action.startsWith('-')") && basicCli.includes('effectiveArgs = [String(sub), ...args]'), 'sks update --json/--dry-run must be treated as update now with flags');
15
- assertGate(update.includes('installSksMenuBar') && update.includes('sks_menubar'), 'update now must refresh the SKS menu bar companion stage');
15
+ assertGate(update.includes("[entrypoint, 'menubar', 'install', '--json']")
16
+ && update.includes('entrypoint: newBinary')
17
+ && update.includes('sks_menubar'), 'update now must refresh the SKS menu bar through the updated package-local entrypoint');
16
18
  assertGate(routes.includes('sks update [check|now]'), 'command catalog must document bare sks update as the default update path');
17
19
  console.log(JSON.stringify({
18
20
  schema: 'sks.update-default-command-check.v1',
@@ -21,7 +23,7 @@ console.log(JSON.stringify({
21
23
  'registry_default_now',
22
24
  'basic_cli_default_now',
23
25
  'flag_first_default_now',
24
- 'update_menubar_stage',
26
+ 'updated_package_local_menubar_stage',
25
27
  'command_catalog_usage'
26
28
  ]
27
29
  }, null, 2));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sneakoscope",
3
3
  "displayName": "ㅅㅋㅅ",
4
- "version": "6.0.2",
4
+ "version": "6.0.3",
5
5
  "description": "Proof-first Codex trust layer for bounded agent workflows, search visibility evidence, and release integrity gates.",
6
6
  "type": "module",
7
7
  "homepage": "https://github.com/mandarange/Sneakoscope-Codex#readme",
@@ -124,11 +124,9 @@
124
124
  "pipeline-budget:check": "node ./dist/scripts/check-pipeline-budget.js",
125
125
  "pipeline-runtime:check": "node ./dist/scripts/check-pipeline-runtime.js",
126
126
  "sizecheck": "node ./dist/scripts/sizecheck.js",
127
- "registry:check": "node ./dist/scripts/release-registry-check.js",
128
127
  "publish-tag:check": "node ./dist/scripts/check-publish-tag.js",
129
128
  "feature:check": "node ./dist/bin/sks.js features check --json",
130
129
  "feature-quality:check": "node ./dist/scripts/check-feature-quality.js --release",
131
- "all-features:selftest": "node ./dist/bin/sks.js all-features selftest --mock --json",
132
130
  "naruto:sim-active-pool-runtime": "node ./dist/scripts/naruto-real-active-pool-runtime-check.js",
133
131
  "core-skill:no-drift": "node ./dist/scripts/core-skill-no-drift-check.js",
134
132
  "skill:dedupe-blackbox": "node ./dist/scripts/project-skill-dedupe-blackbox.js",
@@ -138,6 +136,7 @@
138
136
  "release:check:confidence": "npm run build:incremental --silent && node ./dist/scripts/release-gate-dag-runner.js --preset confidence --changed-since auto --sla 5m && node ./dist/scripts/release-check-stamp.js write",
139
137
  "release:check:full": "npm run build:clean --silent && node ./dist/bin/sks.js doctor --fix --yes --json >/tmp/sks-release-check-full-doctor.json && node ./dist/scripts/release-gate-dag-runner.js --preset release --full && node ./dist/scripts/release-gate-dag-runner.js --preset bench --full && node ./dist/scripts/release-check-stamp.js write",
140
138
  "publish:packlist-performance": "node ./dist/scripts/packlist-performance-check.js",
139
+ "publish:dry-run-performance": "node ./dist/scripts/npm-publish-performance-check.js",
141
140
  "publish:dry": "npm run publish:prep-ignore-scripts && npm publish --dry-run --ignore-scripts --json",
142
141
  "publish:verify-ignore-scripts": "npm run build:clean --silent && npm run typecheck --silent && npm test --silent && npm run release:version-truth --silent && npm run release:dist-freshness --silent && npm run publish:packlist-performance --silent && node ./dist/scripts/package-published-contract-check.js && npm run publish-tag:check --silent && npm pack --dry-run --ignore-scripts --json",
143
142
  "publish:prep-ignore-scripts": "npm run publish:verify-ignore-scripts --silent && node ./dist/scripts/release-registry-check.js --require-unpublished --require-publish-auth",
@@ -149,8 +148,6 @@
149
148
  "competitor:scorecard": "node ./dist/scripts/competitor-scorecard-check.js",
150
149
  "runtime:installed-smoke": "node ./dist/scripts/installed-package-smoke-check.js",
151
150
  "perf:budgets": "node ./dist/scripts/perf-budget-check.js",
152
- "perf:baseline": "node ./dist/scripts/performance-baseline-check.js",
153
- "perf:improvement-report": "node ./dist/scripts/performance-improvement-report-check.js",
154
151
  "runtime:import-budget": "node ./dist/scripts/import-graph-budget-check.js",
155
152
  "fsx:hotpath": "node ./dist/scripts/fsx-hotpath-check.js",
156
153
  "hook:latency-quantum": "node ./dist/scripts/hook-latency-quantum-check.js",
@@ -167,25 +164,15 @@
167
164
  "super-search:live-smoke": "node ./dist/scripts/super-search-live-smoke-check.js",
168
165
  "seo:metadata-sync": "node ./dist/scripts/seo-metadata-sync-check.js",
169
166
  "seo:marketing-truthfulness": "node ./dist/scripts/seo-marketing-truthfulness-check.js",
170
- "release:gate-timing": "node ./dist/scripts/gate-timing-check.js",
171
- "release:runner-efficiency": "node ./dist/scripts/release-runner-efficiency-check.js",
172
167
  "doctor:idempotence": "node ./dist/scripts/doctor-idempotence-check.js",
173
168
  "retention:budget": "node ./dist/scripts/retention-budget-check.js",
174
169
  "retention:dry-run": "node ./dist/scripts/retention-dry-run-check.js",
175
170
  "retention:apply-smoke": "node ./dist/scripts/retention-apply-smoke-check.js",
176
- "retention:long-run-smoke": "node ./dist/scripts/retention-long-run-smoke-check.js",
177
171
  "upgrade:migration-matrix": "node ./dist/scripts/upgrade-migration-matrix-check.js",
178
172
  "recovery:rollback-smoke": "node ./dist/scripts/rollback-recovery-smoke-check.js",
179
- "critical:real-smoke": "node ./dist/scripts/high-risk-contracts-check.js",
180
173
  "ops:diagnostics-bundle": "node ./dist/scripts/ops-diagnostics-bundle-check.js",
181
- "ops:maturity-scorecard": "node ./dist/scripts/ops-maturity-scorecard-check.js",
182
- "command:performance-scorecard": "node ./dist/scripts/command-performance-scorecard-check.js",
183
- "dollar:performance-scorecard": "node ./dist/scripts/dollar-performance-scorecard-check.js",
184
174
  "security:high-risk-contracts": "node ./dist/scripts/high-risk-contracts-check.js",
185
- "route:intent-regression": "node ./dist/scripts/route-intent-regression-check.js",
186
- "release:check:integrity": "npm run build:clean --silent && npm run typecheck --silent && npm test --silent && npm run route:intent-regression --silent && npm run seo:metadata-sync --silent && npm run seo:marketing-truthfulness --silent && npm run perf:budgets --silent && npm run hook:latency-quantum --silent && npm run super-search:offline-contract --silent && npm run super-search:local-http-smoke --silent && npm run naruto:e2e-hermetic-write --silent && npm run security:high-risk-contracts --silent && npm run command:performance-scorecard --silent && npm run dollar:performance-scorecard --silent && npm run doctor:ops-semantics --silent && npm run doctor:idempotence --silent && npm run update:fastpath --silent && npm run upgrade:migration-matrix --silent && npm run recovery:rollback-smoke --silent && npm run retention:budget --silent && npm run retention:dry-run --silent && npm run retention:apply-smoke --silent && npm run retention:long-run-smoke --silent && npm run runtime:installed-smoke --silent && npm run ops:diagnostics-bundle --silent && npm run ops:maturity-scorecard --silent && npm run publish:packlist-performance --silent",
187
- "release:check:quantum": "npm run build:clean --silent && npm run typecheck --silent && npm test --silent && npm run route:intent-regression --silent && npm run perf:budgets --silent && npm run hook:latency-quantum --silent && npm run parallel:production-smoke --silent && npm run super-search:offline-contract --silent && npm run doctor:idempotence --silent && npm run runtime:installed-smoke --silent && npm run retention:budget --silent && npm run competitor:scorecard --silent && npm run release:check:full --silent",
188
- "release:check:dominance": "npm run build:clean --silent && npm run typecheck --silent && npm test --silent && npm run runtime:import-budget --silent && npm run fsx:hotpath --silent && npm run route:intent-regression --silent && npm run perf:budgets --silent && npm run hook:latency-quantum --silent && npm run parallel:production-smoke --silent && npm run naruto:e2e-hermetic --silent && npm run super-search:offline-contract --silent && npm run super-search:local-http-smoke --silent && npm run doctor:fastpath --silent && npm run doctor:idempotence --silent && npm run update:fastpath --silent && npm run runtime:installed-smoke --silent && npm run retention:budget --silent && npm run retention:dry-run --silent && npm run retention:apply-smoke --silent && npm run command:performance-scorecard --silent && npm run dollar:performance-scorecard --silent && npm run security:high-risk-contracts --silent && npm run release:runner-efficiency --silent && npm run perf:improvement-report --silent"
175
+ "route:intent-regression": "node ./dist/scripts/route-intent-regression-check.js"
189
176
  },
190
177
  "keywords": [
191
178
  "sneakoscope",