sneakoscope 2.0.16 → 2.0.17
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 +5 -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/.sks-build-stamp.json +4 -4
- package/dist/bin/sks.js +1 -1
- package/dist/cli/command-registry.js +1 -1
- package/dist/commands/proof.js +21 -0
- package/dist/commands/zellij-slot-pane.js +7 -1
- package/dist/core/agents/agent-orchestrator.js +3 -1
- package/dist/core/agents/agent-scheduler.js +14 -1
- package/dist/core/agents/native-cli-session-swarm.js +11 -7
- package/dist/core/agents/native-cli-worker.js +56 -7
- package/dist/core/agents/parallel-runtime-proof.js +68 -9
- package/dist/core/agents/runtime-proof-summary.js +75 -0
- package/dist/core/commands/naruto-command.js +17 -3
- package/dist/core/commands/team-command.js +6 -311
- package/dist/core/commands/team-legacy-observe-command.js +182 -0
- package/dist/core/db-safety.js +15 -0
- package/dist/core/feature-registry.js +4 -2
- package/dist/core/fsx.js +1 -1
- package/dist/core/hooks-runtime.js +41 -4
- package/dist/core/init.js +1 -0
- package/dist/core/mad-db/mad-db-capability.js +9 -1
- package/dist/core/mad-db/mad-db-result-lifecycle.js +136 -0
- package/dist/core/release/release-gate-affected-selector.js +47 -5
- package/dist/core/release/release-gate-dag.js +5 -1
- package/dist/core/release/release-gate-scheduler.js +2 -1
- package/dist/core/routes.js +3 -1
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-slot-pane-renderer.js +74 -1
- package/dist/core/zellij/zellij-slot-telemetry.js +29 -6
- package/dist/core/zellij/zellij-ui-mode.js +12 -2
- package/dist/scripts/prepublish-release-check-or-fast.js +3 -3
- package/dist/scripts/release-speed-summary.js +22 -2
- package/package.json +14 -3
- package/schemas/agents/parallel-runtime-proof.schema.json +31 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
//
|
|
5
5
|
// Fast path: accept a current release-check stamp.
|
|
6
6
|
// Repair path: if the stamp is missing/stale, run the authoritative full
|
|
7
|
-
// `release:check` once, then require the fast check to pass.
|
|
7
|
+
// `release:check:full` once, then require the fast check to pass.
|
|
8
8
|
//
|
|
9
9
|
// This keeps direct `npm publish` usable without weakening the publish gate:
|
|
10
10
|
// stale stamp repair is the full release gate, not a synthetic stamp write.
|
|
@@ -37,7 +37,7 @@ function runReleaseCheck() {
|
|
|
37
37
|
stdio: 'inherit'
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
|
-
return spawnSync(npmCmd, ['run', 'release:check'], {
|
|
40
|
+
return spawnSync(npmCmd, ['run', 'release:check:full'], {
|
|
41
41
|
cwd: process.cwd(),
|
|
42
42
|
encoding: 'utf8',
|
|
43
43
|
env: process.env,
|
|
@@ -82,7 +82,7 @@ function main() {
|
|
|
82
82
|
console.error('Prepublish release-check auto-repair disabled by SKS_PREPUBLISH_RUN_RELEASE_CHECK_ON_STALE=0.');
|
|
83
83
|
process.exit(first.status || 1);
|
|
84
84
|
}
|
|
85
|
-
console.error('Prepublish release stamp is stale or missing; running full `npm run release:check` before publish.');
|
|
85
|
+
console.error('Prepublish release stamp is stale or missing; running full `npm run release:check:full` before publish.');
|
|
86
86
|
const releaseCheck = runReleaseCheck();
|
|
87
87
|
if (releaseCheck.status !== 0)
|
|
88
88
|
process.exit(releaseCheck.status || 1);
|
|
@@ -9,19 +9,39 @@ 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 mode = summary?.affected_selection?.mode || summary?.selected_preset || (summary?.full === true ? 'full' : 'unknown');
|
|
13
|
+
const affectedMode = mode === 'affected';
|
|
14
|
+
const latestRuntimeProof = latestRuntimeProofSummaryPath();
|
|
12
15
|
console.log(JSON.stringify({
|
|
13
16
|
schema: 'sks.release-speed-summary.v1',
|
|
14
17
|
ok: true,
|
|
15
18
|
report: latest || null,
|
|
16
|
-
mode
|
|
19
|
+
mode,
|
|
20
|
+
affected_mode: affectedMode,
|
|
21
|
+
affected_mode_warning: affectedMode ? 'Affected mode: true. This is not a full publish gate. Run npm run release:check:full before publishing.' : null,
|
|
17
22
|
selected_gates: summary?.selected_gates || 0,
|
|
23
|
+
selected_gate_ids: summary?.selected_gate_ids || [],
|
|
18
24
|
skipped_by_affected: summary?.skipped_by_affected?.length || 0,
|
|
25
|
+
skipped_gate_ids: summary?.skipped_by_affected || [],
|
|
19
26
|
cached: summary?.cached || 0,
|
|
27
|
+
cached_gates: summary?.cached_gates || [],
|
|
20
28
|
executed: summary?.executed_gates?.length || 0,
|
|
29
|
+
executed_gates: summary?.executed_gates || [],
|
|
21
30
|
wall_ms: summary?.wall_ms || 0,
|
|
22
31
|
cpu_time_saved_ms: summary?.cpu_time_saved_ms || 0,
|
|
23
32
|
parallelism_gain: summary?.parallelism_gain || 0,
|
|
24
33
|
max_running: summary?.peak_running || summary?.max_running || 0,
|
|
25
|
-
slowest_gates: summary?.slowest_gates || []
|
|
34
|
+
slowest_gates: summary?.slowest_gates || [],
|
|
35
|
+
proof_file_path: latestRuntimeProof
|
|
26
36
|
}, null, 2));
|
|
37
|
+
function latestRuntimeProofSummaryPath() {
|
|
38
|
+
const missions = path.join(root, '.sneakoscope', 'missions');
|
|
39
|
+
if (!fs.existsSync(missions))
|
|
40
|
+
return null;
|
|
41
|
+
const files = fs.readdirSync(missions)
|
|
42
|
+
.map((name) => path.join(missions, name, 'agents', 'runtime-proof-summary.json'))
|
|
43
|
+
.filter((file) => fs.existsSync(file))
|
|
44
|
+
.sort((a, b) => fs.statSync(b).mtimeMs - fs.statSync(a).mtimeMs);
|
|
45
|
+
return files[0] || null;
|
|
46
|
+
}
|
|
27
47
|
//# sourceMappingURL=release-speed-summary.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sneakoscope",
|
|
3
3
|
"displayName": "ㅅㅋㅅ",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.17",
|
|
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",
|
|
@@ -325,7 +325,7 @@
|
|
|
325
325
|
"publish:dry": "npm run release:metadata && npm run release:version-truth && npm run publish:packlist-performance && npm run release:check:full && node ./dist/scripts/check-publish-tag.js && node ./dist/scripts/release-check-stamp.js verify && npm run release:provenance -- --publish && npm run release:dist-freshness && node ./dist/scripts/release-registry-check.js --require-unpublished && npm --cache /tmp/sks-npm-cache publish --dry-run --ignore-scripts --registry https://registry.npmjs.org/ --access public",
|
|
326
326
|
"publish:npm": "npm --cache /tmp/sks-npm-cache publish --registry https://registry.npmjs.org/ --access public",
|
|
327
327
|
"prepack": "npm run build",
|
|
328
|
-
"prepublishOnly": "npm run release:metadata && npm run release:version-truth && npm run release:dist-freshness && npm run publish:packlist-performance &&
|
|
328
|
+
"prepublishOnly": "npm run release:metadata && npm run release:version-truth && npm run release:dist-freshness && npm run publish:packlist-performance && node ./dist/scripts/prepublish-release-check-or-fast.js && node ./dist/scripts/check-publish-tag.js && node ./dist/scripts/release-check-stamp.js verify && npm run release:provenance -- --publish && node ./dist/scripts/release-registry-check.js --require-unpublished --require-publish-auth",
|
|
329
329
|
"dist:check": "node ./dist/scripts/check-dist-runtime.js",
|
|
330
330
|
"ux-review:run-wires-imagegen": "node ./dist/scripts/ux-review-run-wires-imagegen-check.js",
|
|
331
331
|
"ux-review:extract-wires-real-extractor": "node ./dist/scripts/ux-review-extract-wires-real-extractor-check.js",
|
|
@@ -646,7 +646,18 @@
|
|
|
646
646
|
"naruto:ssot-gate-aliases": "node ./dist/scripts/naruto-ssot-gate-aliases-check.js",
|
|
647
647
|
"naruto:ssot-pipeline-default": "node ./dist/scripts/naruto-ssot-pipeline-default-check.js",
|
|
648
648
|
"team:alias-to-naruto": "node ./dist/scripts/team-alias-to-naruto-check.js",
|
|
649
|
-
"release:speed-summary:report": "node ./dist/scripts/release-speed-summary.js"
|
|
649
|
+
"release:speed-summary:report": "node ./dist/scripts/release-speed-summary.js",
|
|
650
|
+
"parallel:strict-pid-proof": "node ./dist/scripts/parallel-strict-pid-proof-check.js",
|
|
651
|
+
"parallel:missing-pid-rejection": "node ./dist/scripts/parallel-missing-pid-rejection-check.js",
|
|
652
|
+
"scheduler:utilization-integral": "node ./dist/scripts/scheduler-utilization-integral-check.js",
|
|
653
|
+
"scheduler:parallel-proof-consistency": "node ./dist/scripts/scheduler-parallel-proof-consistency-check.js",
|
|
654
|
+
"zellij:slot-telemetry-live-flush": "node ./dist/scripts/zellij-slot-telemetry-live-flush-check.js",
|
|
655
|
+
"zellij:slot-pane-stale-detection": "node ./dist/scripts/zellij-slot-pane-stale-detection-check.js",
|
|
656
|
+
"mad-db:lifecycle-hook-decision": "node ./dist/scripts/mad-db-lifecycle-hook-decision-check.js",
|
|
657
|
+
"mad-db:mcp-result-lifecycle": "node ./dist/scripts/mad-db-mcp-result-lifecycle-check.js",
|
|
658
|
+
"mad-db:operation-lifecycle-blackbox": "node ./dist/scripts/mad-db-operation-lifecycle-blackbox.js",
|
|
659
|
+
"runtime:proof-summary": "node ./dist/scripts/runtime-proof-summary-check.js",
|
|
660
|
+
"runtime:proof-summary-cli": "node ./dist/scripts/runtime-proof-summary-cli-check.js"
|
|
650
661
|
},
|
|
651
662
|
"keywords": [
|
|
652
663
|
"sneakoscope",
|
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
"schema",
|
|
7
7
|
"mission_id",
|
|
8
8
|
"generated_at",
|
|
9
|
+
"proof_mode",
|
|
10
|
+
"require_worker_pids",
|
|
11
|
+
"allow_missing_pids",
|
|
9
12
|
"requested_workers",
|
|
10
13
|
"target_active_slots",
|
|
11
14
|
"max_observed_active_workers",
|
|
@@ -19,6 +22,7 @@
|
|
|
19
22
|
"overlap_windows",
|
|
20
23
|
"visible_panes",
|
|
21
24
|
"headless_workers",
|
|
25
|
+
"utilization_proof_consistency",
|
|
22
26
|
"passed",
|
|
23
27
|
"blockers"
|
|
24
28
|
],
|
|
@@ -26,6 +30,9 @@
|
|
|
26
30
|
"schema": { "const": "sks.parallel-runtime-proof.v1" },
|
|
27
31
|
"mission_id": { "type": "string", "minLength": 1 },
|
|
28
32
|
"generated_at": { "type": "string" },
|
|
33
|
+
"proof_mode": { "enum": ["production", "mock-process", "in-process-fixture"] },
|
|
34
|
+
"require_worker_pids": { "type": "boolean" },
|
|
35
|
+
"allow_missing_pids": { "type": "boolean" },
|
|
29
36
|
"requested_workers": { "type": "integer", "minimum": 1 },
|
|
30
37
|
"target_active_slots": { "type": "integer", "minimum": 1 },
|
|
31
38
|
"max_observed_active_workers": { "type": "integer", "minimum": 0 },
|
|
@@ -41,6 +48,30 @@
|
|
|
41
48
|
"overlap_windows": { "type": "array" },
|
|
42
49
|
"visible_panes": { "type": "integer", "minimum": 0 },
|
|
43
50
|
"headless_workers": { "type": "integer", "minimum": 0 },
|
|
51
|
+
"utilization_proof_consistency": {
|
|
52
|
+
"type": "object",
|
|
53
|
+
"required": [
|
|
54
|
+
"ok",
|
|
55
|
+
"scheduler_max_active",
|
|
56
|
+
"proof_max_active",
|
|
57
|
+
"wall_ms_delta",
|
|
58
|
+
"scheduler_active_slot_time_ms",
|
|
59
|
+
"proof_active_slot_time_ms",
|
|
60
|
+
"active_slot_time_ms_delta",
|
|
61
|
+
"scheduler_observation_delay_tolerance_ms"
|
|
62
|
+
],
|
|
63
|
+
"properties": {
|
|
64
|
+
"ok": { "type": "boolean" },
|
|
65
|
+
"scheduler_max_active": { "type": "integer", "minimum": 0 },
|
|
66
|
+
"proof_max_active": { "type": "integer", "minimum": 0 },
|
|
67
|
+
"wall_ms_delta": { "type": "number", "minimum": 0 },
|
|
68
|
+
"scheduler_active_slot_time_ms": { "type": "number", "minimum": 0 },
|
|
69
|
+
"proof_active_slot_time_ms": { "type": "number", "minimum": 0 },
|
|
70
|
+
"active_slot_time_ms_delta": { "type": "number", "minimum": 0 },
|
|
71
|
+
"scheduler_observation_delay_tolerance_ms": { "type": "number", "minimum": 0 }
|
|
72
|
+
},
|
|
73
|
+
"additionalProperties": true
|
|
74
|
+
},
|
|
44
75
|
"passed": { "type": "boolean" },
|
|
45
76
|
"blockers": { "type": "array", "items": { "type": "string" } }
|
|
46
77
|
},
|