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.
- package/README.md +3 -1
- package/crates/sks-core/Cargo.lock +1 -1
- package/crates/sks-core/Cargo.toml +1 -1
- package/dist/bin/fast-inline.js +5 -0
- package/dist/bin/sks-dispatch.js +2 -0
- package/dist/cli/install-helpers.js +41 -6
- package/dist/commands/codex-app.js +8 -3
- package/dist/commands/codex-lb.js +37 -12
- package/dist/config/skills-manifest.json +57 -57
- package/dist/core/agents/agent-effort-policy.js +46 -33
- package/dist/core/agents/agent-orchestrator.js +1 -1
- package/dist/core/agents/agent-proof-evidence.js +16 -2
- package/dist/core/agents/agent-roster.js +2 -2
- package/dist/core/agents/native-cli-session-swarm.js +18 -1
- package/dist/core/agents/native-worker-backend-router.js +179 -108
- package/dist/core/agents/parallel-write-fixture.js +15 -10
- package/dist/core/agents/runtime-proof-summary.js +21 -3
- package/dist/core/codex-app/codex-app-restart.js +38 -8
- package/dist/core/codex-app/sks-menubar.js +92 -37
- package/dist/core/codex-app.js +26 -4
- package/dist/core/codex-control/codex-model-metadata.js +8 -4
- package/dist/core/codex-lb/codex-lb-env.js +78 -0
- package/dist/core/commands/basic-cli.js +15 -0
- package/dist/core/commands/naruto-command.js +37 -9
- package/dist/core/naruto/naruto-write-e2e.js +3 -4
- package/dist/core/provider/model-router.js +64 -3
- package/dist/core/release/package-size-budget.js +2 -0
- package/dist/core/routes/constants.js +1 -1
- package/dist/core/routes/model-mode-router.js +3 -0
- package/dist/core/routes.js +7 -9
- package/dist/core/update/update-migration-state.js +1 -1
- package/dist/core/update/update-notice.js +23 -0
- package/dist/core/update-check.js +46 -10
- package/dist/core/version.js +1 -1
- package/dist/scripts/codex-app-provider-model-ui-check.js +17 -2
- package/dist/scripts/doctor-fix-proves-codex-read-check.js +1 -1
- package/dist/scripts/gate-policy-audit-check.js +2 -2
- package/dist/scripts/legacy-upgrade-matrix-check.js +1 -1
- package/dist/scripts/lib/native-cli-session-swarm-check-lib.js +2 -1
- package/dist/scripts/naruto-shadow-clone-swarm-check.js +88 -50
- package/dist/scripts/npm-publish-performance-check.js +2 -1
- package/dist/scripts/packlist-performance-check.js +5 -2
- package/dist/scripts/release-dag-full-coverage-check.js +7 -7
- package/dist/scripts/release-gate-existence-audit.js +8 -9
- package/dist/scripts/scheduler-batch-dispatch-check.js +1 -1
- package/dist/scripts/sizecheck.js +7 -2
- package/dist/scripts/sks-menubar-install-check.js +7 -0
- package/dist/scripts/update-default-command-check.js +4 -2
- 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:
|
|
19
|
-
'
|
|
20
|
-
'release:dag-
|
|
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-
|
|
22
|
+
'release:gate-selection-comprehensive',
|
|
23
23
|
'policy:gate-audit',
|
|
24
|
-
'runtime:
|
|
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 <=
|
|
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:
|
|
21
|
-
'
|
|
22
|
-
'runtime:
|
|
23
|
-
'
|
|
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-
|
|
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 <=
|
|
46
|
-
const PACKAGE_SCRIPT_BUDGET =
|
|
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 >=
|
|
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 ||
|
|
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('
|
|
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
|
-
'
|
|
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.
|
|
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",
|