sneakoscope 1.21.4 → 1.21.6
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 +85 -112
- 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/build-manifest.json +19 -9
- package/dist/cli/command-registry.d.ts +4 -0
- package/dist/cli/command-registry.js +2 -0
- package/dist/cli/install-helpers.js +8 -1
- package/dist/cli/xai-command.d.ts +9 -0
- package/dist/cli/xai-command.js +175 -0
- package/dist/commands/doctor.js +17 -3
- package/dist/commands/image-ux-review.d.ts +16 -0
- package/dist/commands/mad-sks.d.ts +7 -0
- package/dist/commands/ppt.d.ts +14 -0
- package/dist/commands/zellij.js +74 -2
- package/dist/core/agents/agent-orchestrator.d.ts +14 -0
- package/dist/core/agents/agent-proof-evidence.d.ts +7 -0
- package/dist/core/agents/agent-proof-evidence.js +20 -0
- package/dist/core/agents/agent-roster.js +28 -18
- package/dist/core/agents/agent-runner-zellij.js +21 -1
- package/dist/core/agents/agent-trust-report.d.ts +7 -0
- package/dist/core/agents/agent-trust-report.js +12 -0
- package/dist/core/agents/route-collaboration-ledger.d.ts +14 -0
- package/dist/core/agents/zellij-lane-supervisor.d.ts +25 -0
- package/dist/core/agents/zellij-lane-supervisor.js +187 -28
- package/dist/core/auto-review.js +2 -2
- package/dist/core/codex/codex-0-136-compat.d.ts +83 -0
- package/dist/core/codex/codex-0-136-compat.js +230 -0
- package/dist/core/codex/official-goal-mode.d.ts +3 -0
- package/dist/core/codex/official-goal-mode.js +9 -2
- package/dist/core/codex-app.d.ts +11 -0
- package/dist/core/codex-app.js +5 -7
- package/dist/core/codex-compat/codex-compat-report.d.ts +162 -2
- package/dist/core/codex-compat/codex-compat-report.js +73 -5
- package/dist/core/codex-compat/codex-version-policy.d.ts +3 -3
- package/dist/core/codex-compat/codex-version-policy.js +3 -3
- package/dist/core/commands/image-ux-review-command.d.ts +16 -0
- package/dist/core/commands/image-ux-review-command.js +4 -3
- package/dist/core/commands/mad-sks-command.d.ts +46 -0
- package/dist/core/commands/mad-sks-command.js +177 -2
- package/dist/core/commands/ppt-command.d.ts +14 -0
- package/dist/core/commands/team-command.d.ts +1 -0
- package/dist/core/commands/team-command.js +17 -10
- package/dist/core/doctor/global-sks-install-cleanup.d.ts +46 -0
- package/dist/core/doctor/global-sks-install-cleanup.js +251 -0
- package/dist/core/feature-fixtures.js +1 -0
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +3 -2
- package/dist/core/hooks-runtime.js +75 -14
- package/dist/core/image-ux-review/imagegen-adapter.js +15 -4
- package/dist/core/image-ux-review.d.ts +3 -0
- package/dist/core/image-ux-review.js +27 -19
- package/dist/core/perf-bench.d.ts +1 -0
- package/dist/core/pipeline-internals/runtime-core.d.ts +2 -0
- package/dist/core/pipeline-internals/runtime-core.js +19 -4
- package/dist/core/pipeline-internals/runtime-gates.js +8 -1
- package/dist/core/proof/auto-finalize.js +4 -2
- package/dist/core/proof/runtime-truth-matrix.d.ts +1 -1
- package/dist/core/proof/runtime-truth-matrix.js +4 -1
- package/dist/core/release/gate-manifest.js +5 -1
- package/dist/core/release-parallel-full-coverage.js +1 -0
- package/dist/core/routes.d.ts +2 -1
- package/dist/core/routes.js +51 -10
- package/dist/core/safety/mutation-guard.d.ts +2 -0
- package/dist/core/safety/mutation-guard.js +6 -1
- package/dist/core/safety/ssot-guard.d.ts +42 -0
- package/dist/core/safety/ssot-guard.js +173 -0
- package/dist/core/update-check.d.ts +18 -0
- package/dist/core/update-check.js +111 -4
- package/dist/core/verification/verification-worker-pool.js +13 -8
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-clipboard-config.js +14 -5
- package/dist/core/zellij/zellij-lane-renderer.d.ts +31 -0
- package/dist/core/zellij/zellij-lane-renderer.js +312 -8
- package/dist/core/zellij/zellij-lane-runtime.d.ts +107 -0
- package/dist/core/zellij/zellij-lane-runtime.js +191 -0
- package/dist/core/zellij/zellij-launcher.d.ts +21 -0
- package/dist/core/zellij/zellij-layout-builder.d.ts +13 -0
- package/dist/core/zellij/zellij-layout-builder.js +30 -5
- package/dist/core/zellij/zellij-pane-proof.d.ts +7 -0
- package/dist/core/zellij/zellij-pane-proof.js +12 -0
- package/dist/scripts/release-parallel-check.js +2 -0
- package/package.json +7 -4
package/README.md
CHANGED
|
@@ -16,7 +16,16 @@ Set up this agent project with Sneakoscope Codex. Use [[mandarange/Sneakoscope-C
|
|
|
16
16
|
|
|
17
17
|
## Current Release
|
|
18
18
|
|
|
19
|
-
SKS **1.21.
|
|
19
|
+
SKS **1.21.6** promotes OpenAI Codex CLI `rust-v0.136.0` as the current compatibility baseline. The release matrix tracks 0.136 session archive/unarchive, app-server `--stdio`, resumed-turn/status behavior, `CODEX_API_KEY` remote registration, short-lived remote-control tokens, elevated Windows sandbox setup, feature-gated image-generation extension support, ChatGPT auth refresh handling, command-safety hardening, sandbox cleanup, Bedrock region fallback, and rmcp 1.7.0 compatibility.
|
|
20
|
+
|
|
21
|
+
This release also tightens the day-to-day operator path:
|
|
22
|
+
|
|
23
|
+
- Zellij lane panes now surface the native worker session they are following, including per-slot worker status and stdout/stderr/heartbeat tails.
|
|
24
|
+
- Native terminal drag-copy is the default in SKS-launched Zellij sessions; hover-pane mouse routing is opt-in with `SKS_ZELLIJ_MOUSE_MODE=1`.
|
|
25
|
+
- Update prompts compare npm latest against an effective installed version that includes source, PATH, and global npm package metadata, so completed global updates stop being re-offered.
|
|
26
|
+
- `sks doctor --fix` can remove duplicate global `sks`/`sneakoscope` npm installs while exempting the Sneakoscope source checkout.
|
|
27
|
+
|
|
28
|
+
It carries forward the 0.135-era routing/readiness fixes: mixed frustration plus explicit implementation prompts still route to `$Team`, bare `context7 mcp` no longer implies `$DB`, Git Actions readiness uses the `codex remote-control` command/version capability, and repeated substantive prompts prepare fresh Team/Research-style native sessions. Zellij lane, Naruto, terminal scrollback, MAD cockpit, Goal bridge, and Fast profile fixes remain in place.
|
|
20
29
|
|
|
21
30
|
SKS **1.20.4** is a targeted `sks --mad` / codex-lb Zellij usability patch: when a background MAD Zellij session launches successfully, SKS now prints the exact `Attach with: ZELLIJ_SOCKET_DIR=... zellij attach ...` command so operators can enter the fresh session without manually reconstructing the socket namespace.
|
|
22
31
|
|
|
@@ -30,65 +39,44 @@ SKS **1.20.1** introduces the **SKS Core Skill Engine** — a SkillOpt-style sel
|
|
|
30
39
|
|
|
31
40
|
It carries forward the 1.19.x hardening unchanged: legacy 1.18.x/1.19.x→1.20.1 **zero-break upgrade** (user `model`/`service_tier`/`model_reasoning_effort` and user-disabled Codex App flags never overwritten; existing skill cards preserved), the **migration transaction journal** (`.sneakoscope/reports/migration-1.20.1-journal.jsonl`), **Zellij launch-command truth** + real-session **heartbeat-timeout blocker** + the redesigned **Zellij lane UI**, **packlist/publish-performance** gates, a **postinstall safe-side-effects** gate, and the **TS source-of-truth / Rust optional-accelerator** boundary (publish never compiles Rust). `sks zellij status`/`repair` inspects the Zellij runtime without auto-installing anything.
|
|
32
41
|
|
|
42
|
+
Core release checks:
|
|
43
|
+
|
|
33
44
|
```bash
|
|
34
|
-
|
|
35
|
-
sks mad-sks permissions --json
|
|
36
|
-
sks mad-sks proof --json
|
|
37
|
-
sks mad-sks rollback-apply --rollback-plan <path> --yes --json
|
|
38
|
-
sks features complete --json
|
|
39
|
-
sks agent status latest --json
|
|
40
|
-
sks agent run "release review" --agents 8 --work-items 16 --concurrency 4 --mock --json
|
|
41
|
-
npm run source-intelligence:all-modes
|
|
42
|
-
npm run agent:background-terminals
|
|
45
|
+
npm run codex:0.136-compat
|
|
43
46
|
npm run zellij:lane-renderer
|
|
44
|
-
npm run zellij
|
|
45
|
-
npm run zellij:screen-proof
|
|
46
|
-
npm run agent:cleanup-executor
|
|
47
|
-
npm run agent:cleanup-executor-v2
|
|
48
|
-
npm run retention:cleanup-safety
|
|
49
|
-
npm run agent:intelligent-work-graph
|
|
50
|
-
npm run agent:ast-aware-work-graph
|
|
51
|
-
npm run proof:fake-vs-real-policy
|
|
52
|
-
npm run proof:fake-real-policy-v2
|
|
53
|
-
npm run release:runtime-truth-matrix
|
|
54
|
-
npm run codex:0.134-official-compat
|
|
55
|
-
npm run codex:profile-primary
|
|
56
|
-
npm run codex:managed-proxy-env
|
|
57
|
-
npm run strategy:adhd-orchestrating-gate
|
|
58
|
-
npm run strategy:parallel-modification-plan
|
|
59
|
-
npm run appshots:evidence
|
|
60
|
-
npm run appshots:source-intelligence
|
|
61
|
-
npm run appshots:thread-attachment-discovery
|
|
62
|
-
npm run mcp:0.134-modernization
|
|
63
|
-
npm run mcp:readonly-runtime-scheduler
|
|
64
|
-
npm run codex:0.134-runner-truth
|
|
65
|
-
npm run source-intelligence:codex-history-search
|
|
66
|
-
npm run agent:parallel-write-kernel
|
|
67
|
-
npm run agent:patch-swarm-runtime-truth
|
|
68
|
-
npm run agent:patch-transaction-journal
|
|
69
|
-
npm run agent:patch-conflict-rebase
|
|
70
|
-
npm run agent:strategy-to-patch-strict
|
|
71
|
-
npm run agent:rollback-command
|
|
72
|
-
npm run agent:native-cli-session-swarm
|
|
73
|
-
npm run agent:native-cli-session-swarm-10
|
|
74
|
-
npm run agent:native-cli-session-swarm-20
|
|
75
|
-
npm run agent:no-subagent-scaling
|
|
76
|
-
npm run agent:native-cli-session-proof
|
|
77
|
-
npm run agent:fast-mode-default
|
|
78
|
-
npm run agent:fast-mode-worker-propagation
|
|
79
|
-
npm run codex:fast-mode-profile-propagation
|
|
80
|
-
npm run mad-sks:fast-mode-propagation
|
|
81
|
-
SKS_TEST_REAL_CODEX_PATCHES=1 npm run agent:real-codex-patch-envelope-smoke
|
|
82
|
-
npm run release:gate-existence-audit
|
|
83
|
-
npm run route:blackbox-realism
|
|
84
|
-
npm run release:real-check
|
|
85
|
-
npm run agent:backfill-route-blackbox
|
|
86
|
-
npm run team:actual-route-backfill
|
|
47
|
+
npm run mad-sks:zellij-launch
|
|
87
48
|
npm run release:readiness
|
|
49
|
+
npm run release:check
|
|
88
50
|
```
|
|
89
51
|
|
|
90
52
|
Detailed release history lives in [CHANGELOG.md](CHANGELOG.md); every version-facing change should be recorded there before release. Current release gate status lives in [docs/release-readiness.md](docs/release-readiness.md).
|
|
91
53
|
|
|
54
|
+
## Parallelism, UX, And Integrations
|
|
55
|
+
|
|
56
|
+
- **Extreme parallel fan-out (`$Naruto` / native agents).** Each clone is a separate CLI worker that spends almost all of its wall-clock awaiting the Codex API, so live concurrency scales by **memory and the provider rate limit, not CPU cores** — a capable host can run up to 100 workers in parallel. The 429/rate-limit backoff is handled by the centralized responses retry policy. Tune it with `SKS_NARUTO_MAX_CONCURRENCY` (hard cap, 1–100), `SKS_NARUTO_GB_PER_WORKER` (memory budget per worker), and `SKS_NARUTO_MIN_CONCURRENCY` (low-free-memory floor).
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
sks naruto run "refactor the data layer" --clones 100 --json
|
|
60
|
+
SKS_NARUTO_MAX_CONCURRENCY=48 sks naruto run "sweep the test suite" --clones 48
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
- **Zellij scrollback and copy.** SKS launches Codex panes with `--no-alt-screen`, so the terminal keeps the conversation transcript in scrollback. Zellij `mouse_mode` is off by default so normal mouse-drag text selection works for copy. Set `SKS_ZELLIJ_MOUSE_MODE=1` only when you prefer Zellij hover-pane wheel routing; in that mode some terminals require Shift-drag for native selection.
|
|
64
|
+
|
|
65
|
+
- **Live MAD / Naruto cockpit lanes.** `sks --mad` starts a same-mission native agent swarm and opens the right-pane cockpit against that ledger. Lane panes follow per-slot worker artifacts such as `worker.stdout.log`, `worker.stderr.log`, and `worker-heartbeat.jsonl`, so fan-out work shows as live worker status instead of a static "Workers idle" panel. Tune MAD fan-out with `--mad-agents`, `--mad-swarm-work-items`, and `--mad-swarm-backend`; use `--no-mad-swarm` only when you intentionally want the old UI-only launch. Each Zellij lane has per-slot SKS state, a nonblocking JSONL command bus, dynamic pane-id reconciliation from `zellij action list-panes --json --all`, and `nice`/dispatch-throttle metadata. If a lane's own mission ledger is idle, the renderer can mirror the most-recent active agent mission; disable that follow behavior with `SKS_LANE_FOLLOW_ACTIVE_MISSION=0`.
|
|
66
|
+
|
|
67
|
+
- **Image generation under codex-lb.** `gpt-image-2` routes through the same Codex `/responses` backend the load balancer already proxies, so `$imagegen` works when you are authenticated only through codex-lb (no direct `OPENAI_API_KEY`). The official Codex App `$imagegen` surface stays primary; the codex-lb/OpenAI API path is the fallback. Opt out with `SKS_IMAGEGEN_ALLOW_CODEX_LB_API_FALLBACK=0`.
|
|
68
|
+
|
|
69
|
+
- **xAI / Grok search.** Wire xAI Live Search into source intelligence as an MCP provider:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
sks xai check
|
|
73
|
+
sks xai setup --scope project --command "npx" --arg "-y" --arg "<your-grok-search-mcp>"
|
|
74
|
+
export XAI_API_KEY=xai-...
|
|
75
|
+
sks xai docs
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- **Quieter update prompts.** The "update available" choice is shown once per conversation and then stays quiet for a short window (default 8 min, `SKS_UPDATE_OFFER_THROTTLE_MS`) instead of repeating on every prompt. The check compares npm latest against source metadata, PATH `sks --version`, and the global npm package, so a completed `npm i -g sneakoscope` clears stale pending/accepted offers.
|
|
79
|
+
|
|
92
80
|
## Retention And Cleanup
|
|
93
81
|
|
|
94
82
|
SKS keeps durable learning context separate from disposable route work files. Durable context includes `.sneakoscope/memory/**`, shared TriWiki records, `.sneakoscope/wiki/context-pack.json`, wrongness memory, image voxels, avoidance rules, route Completion Proof, trust reports, evidence indexes, reflections, and agent proof summaries. These files are treated as the long-term learning and audit chain.
|
|
@@ -190,9 +178,9 @@ sks rust smoke --json
|
|
|
190
178
|
2. Image Voxel TriWiki anchors and relations for every visual route
|
|
191
179
|
3. Route contracts, evidence indexes, wrongness memory, trust reports, Codex App, codex-lb, hooks, Rust fallback parity, DB, route modularity, and generated fixtures verified by release gates
|
|
192
180
|
|
|
193
|
-
## Install
|
|
181
|
+
## Install
|
|
194
182
|
|
|
195
|
-
Recommended
|
|
183
|
+
Recommended path:
|
|
196
184
|
|
|
197
185
|
```sh
|
|
198
186
|
npm i -g sneakoscope
|
|
@@ -200,22 +188,32 @@ sks root
|
|
|
200
188
|
sks doctor
|
|
201
189
|
```
|
|
202
190
|
|
|
203
|
-
|
|
191
|
+
The global npm install refreshes the `sks` command shim, generated Codex App `$` skills, and the SKS bootstrap surface together. If a project marker is present, postinstall bootstraps that project; otherwise SKS uses the per-user global runtime root. `sks root` shows the active root.
|
|
204
192
|
|
|
205
|
-
|
|
193
|
+
One-shot run without keeping a global install:
|
|
206
194
|
|
|
207
195
|
```sh
|
|
208
196
|
npx -y -p sneakoscope sks root
|
|
209
197
|
```
|
|
210
198
|
|
|
211
|
-
|
|
199
|
+
Project-pinned install:
|
|
212
200
|
|
|
213
201
|
```sh
|
|
214
202
|
npm i -D sneakoscope
|
|
215
203
|
npx sks setup --install-scope project
|
|
216
204
|
```
|
|
217
205
|
|
|
218
|
-
|
|
206
|
+
Source checkout for developing Sneakoscope itself:
|
|
207
|
+
|
|
208
|
+
```sh
|
|
209
|
+
git clone https://github.com/mandarange/Sneakoscope-Codex.git
|
|
210
|
+
cd Sneakoscope-Codex
|
|
211
|
+
npm install
|
|
212
|
+
npm install -g .
|
|
213
|
+
sks --version
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Install health checks:
|
|
219
217
|
|
|
220
218
|
```sh
|
|
221
219
|
sks deps check
|
|
@@ -257,56 +255,10 @@ brew install zellij
|
|
|
257
255
|
|
|
258
256
|
The default `sks` runtime checks npm for newer `sneakoscope` and `@openai/codex` versions before opening the interactive runtime. `npm i -g sneakoscope` runs a safe bootstrap/readiness pass; use `sks bootstrap --yes`, `sks deps check --yes`, or `sks --mad --yes` to install or repair Codex CLI/Zellij when Homebrew is available. `sks --mad` requires Zellij for interactive MAD/lane UI and prints the session, gate, attach command, blockers, and labeled Zellij stderr/stdout details needed to act.
|
|
259
257
|
|
|
260
|
-
## Installation
|
|
261
|
-
|
|
262
|
-
### Global Install
|
|
263
|
-
|
|
264
|
-
Use this recommended path when you want `sks` available from any repo:
|
|
265
|
-
|
|
266
|
-
```sh
|
|
267
|
-
npm i -g sneakoscope
|
|
268
|
-
sks root
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
`sks` commands work even when no project root is present. Project-aware commands use the nearest `.sneakoscope`, `.dcodex`, or `.git` root; if none exists, SKS uses a per-user global runtime root. Global npm install/upgrade automatically bootstraps the current project when a project marker is present, otherwise it bootstraps the global runtime root. Run `sks bootstrap` manually only when you intentionally want to initialize or repair the current project after install.
|
|
272
|
-
|
|
273
258
|
Project setup writes shared `.gitignore` entries for generated SKS files: `.sneakoscope/`, `.codex/`, `.agents/`, and managed `AGENTS.md`. Setup, doctor repair, and npm postinstall refreshes also compare the previous SKS generated-file manifest with the current package templates and prune stale SKS-generated legacy skills or agent files while preserving user-owned custom skills. Use `sks setup --local-only` when you want those excludes kept only in `.git/info/exclude`.
|
|
274
259
|
|
|
275
260
|
During npm postinstall, SKS installs generated Codex App skills and tries `skills add MohtashamMurshid/getdesign` when the `skills` CLI is available. Design work still flows through one authority: `design.md`.
|
|
276
261
|
|
|
277
|
-
### One-Shot Install
|
|
278
|
-
|
|
279
|
-
Use this when you do not want to keep a global install:
|
|
280
|
-
|
|
281
|
-
```sh
|
|
282
|
-
npx -y -p sneakoscope sks bootstrap
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
`npx` fetches the package into npm's cache and runs the binary for that command. This is useful for first-time setup or CI-style verification.
|
|
286
|
-
|
|
287
|
-
### Project Install
|
|
288
|
-
|
|
289
|
-
Use this when a repo should pin Sneakoscope as a development dependency:
|
|
290
|
-
|
|
291
|
-
```sh
|
|
292
|
-
npm i -D sneakoscope
|
|
293
|
-
npx sks setup --install-scope project
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
Project installs are useful when a team wants a repeatable harness version checked through `package-lock.json`.
|
|
297
|
-
|
|
298
|
-
### Source Checkout
|
|
299
|
-
|
|
300
|
-
Use this when developing Sneakoscope itself:
|
|
301
|
-
|
|
302
|
-
```sh
|
|
303
|
-
git clone https://github.com/mandarange/Sneakoscope-Codex.git
|
|
304
|
-
cd Sneakoscope-Codex
|
|
305
|
-
npm install
|
|
306
|
-
npm install -g .
|
|
307
|
-
sks --version
|
|
308
|
-
```
|
|
309
|
-
|
|
310
262
|
## Terminal CLI Usage
|
|
311
263
|
|
|
312
264
|
Use terminal commands when you want to inspect, set up, verify, or start a CLI-first workspace.
|
|
@@ -401,9 +353,9 @@ sks --mad
|
|
|
401
353
|
sks --mad --allow-package-install --allow-service-control --allow-network --yes
|
|
402
354
|
```
|
|
403
355
|
|
|
404
|
-
This syncs existing codex-lb provider auth, creates/uses the `sks-mad-high` high-power maintenance profile, opens the MAD-SKS permission gate for that Zellij run, and launches a Codex CLI layout. Bare `sks --mad` grants target-project file and shell scope only; add explicit `--allow-*` flags for packages, services, network, Computer Use, browser use, generated assets, file permissions, DB writes, or other high-risk scopes. MAD-SKS is not a DB-only unlock: it is explicit user authorization to widen approved target-project scopes. Catastrophic database wipe/all-row/project-management safeguards remain active, and the pipeline contract still forbids unrequested fallback implementation code.
|
|
356
|
+
This syncs existing codex-lb provider auth, creates/uses the `sks-mad-high` high-power maintenance profile, opens the MAD-SKS permission gate for that Zellij run, starts a same-mission read-only native agent swarm, and launches a Codex CLI layout whose right-side lanes read that MAD ledger. Bare `sks --mad` grants target-project file and shell scope only; add explicit `--allow-*` flags for packages, services, network, Computer Use, browser use, generated assets, file permissions, DB writes, or other high-risk scopes. MAD-SKS is not a DB-only unlock: it is explicit user authorization to widen approved target-project scopes. Catastrophic database wipe/all-row/project-management safeguards remain active, and the pipeline contract still forbids unrequested fallback implementation code.
|
|
405
357
|
|
|
406
|
-
Before launching, SKS checks npm for a newer `sneakoscope`; answer `y` to update or `n` to continue. Use `--yes` to approve missing dependency installs automatically.
|
|
358
|
+
Before launching, SKS checks npm for a newer `sneakoscope`; answer `y` to update or `n` to continue. Use `--yes` to approve missing dependency installs automatically. Tune MAD swarm startup with `--mad-agents <n>`, `--mad-swarm-work-items <n>`, and `--mad-swarm-backend <backend>`; `--no-mad-swarm` keeps only the cockpit UI if you need a temporary fallback.
|
|
407
359
|
|
|
408
360
|
### Team Missions
|
|
409
361
|
|
|
@@ -533,7 +485,7 @@ For headless remotely controllable Codex App/server sessions on Codex CLI 0.130.
|
|
|
533
485
|
sks codex-app remote-control -- --help
|
|
534
486
|
```
|
|
535
487
|
|
|
536
|
-
`sks codex-app check` reports whether the installed Codex CLI is new enough, whether the required app flags are visible, whether Fast/speed-selector config is unlocked, whether Codex App Git Actions can use Commit, Push, Commit and Push, and PR flows, whether the Codex Chrome Extension path is ready for web/browser/webapp verification, and whether installed OpenAI default plugins such as Browser, Chrome, Computer Use, Documents, Presentations, Spreadsheets, and LaTeX are enabled. `sks codex-app chrome-extension --json` is the rapid preflight for web QA/UX/browser routes. When codex-lb is configured, SKS keeps it selected as the top-level Codex App provider while still preserving required app flags and plugin settings. Codex CLI 0.130.0+ app-server/remote-control threads can pick up config changes live; older CLI/TUI sessions should still be restarted after `.codex/config.toml` or MCP/plugin changes.
|
|
488
|
+
`sks codex-app check` reports whether the installed Codex CLI is new enough, whether the required app flags are visible, whether Fast/speed-selector config is unlocked, whether Codex App Git Actions can use Commit, Push, Commit and Push, and PR flows, whether the Codex Chrome Extension path is ready for web/browser/webapp verification, and whether installed OpenAI default plugins such as Browser, Chrome, Computer Use, Documents, Presentations, Spreadsheets, and LaTeX are enabled. `sks-fast-high` intentionally does not pin `sandbox_mode`, so the Codex App/IDE permissions selector owns Full Access vs workspace-write while SKS supplies the model, Fast service tier, approval, and reasoning defaults. `sks codex-app chrome-extension --json` is the rapid preflight for web QA/UX/browser routes. When codex-lb is configured, SKS keeps it selected as the top-level Codex App provider while still preserving required app flags and plugin settings. Codex CLI 0.130.0+ app-server/remote-control threads can pick up config changes live; older CLI/TUI sessions should still be restarted after `.codex/config.toml` or MCP/plugin changes.
|
|
537
489
|
|
|
538
490
|
For web-related verification, SKS follows the official Codex Chrome Extension setup path first: https://developers.openai.com/codex/app/chrome-extension. `$QA-LOOP`, `$UX-Review`, `$Image-UX-Review`, browser smoke, authenticated web checks, localhost checks, and web visual review must halt quickly if that extension is missing or disabled. Only after the user says the extension setup is complete should the pipeline resume. Codex Computer Use is for native Mac/non-web targets only; it must not be used as browser/web-app verification evidence.
|
|
539
491
|
|
|
@@ -661,13 +613,25 @@ By default, SKS favors inspection, local files, branch-safe changes, explicit co
|
|
|
661
613
|
### `sks` points to an old version
|
|
662
614
|
|
|
663
615
|
```sh
|
|
664
|
-
which sks
|
|
616
|
+
which -a sks
|
|
665
617
|
sks --version
|
|
666
618
|
node ./dist/bin/sks.js --version
|
|
619
|
+
npm ls -g sneakoscope --depth=0
|
|
667
620
|
npm install -g .
|
|
621
|
+
sks doctor --fix
|
|
668
622
|
```
|
|
669
623
|
|
|
670
|
-
If
|
|
624
|
+
If PATH or npm has duplicate global installs, `sks doctor --fix` keeps one global npm install and removes duplicate global `sneakoscope` installs. The Sneakoscope source checkout is exempt so local development files are not removed.
|
|
625
|
+
|
|
626
|
+
### SKS keeps asking to update after a global update
|
|
627
|
+
|
|
628
|
+
```sh
|
|
629
|
+
sks update-check --json
|
|
630
|
+
npm ls -g sneakoscope --depth=0
|
|
631
|
+
sks doctor --fix
|
|
632
|
+
```
|
|
633
|
+
|
|
634
|
+
Update prompts compare npm latest against the effective installed version from source metadata, PATH `sks --version`, and global npm package metadata. If a global update succeeded but an old shim remains earlier on PATH, `sks doctor --fix` can remove duplicate global installs and refresh the managed setup.
|
|
671
635
|
|
|
672
636
|
### Zellij is missing
|
|
673
637
|
|
|
@@ -678,6 +642,15 @@ npm run zellij:capability
|
|
|
678
642
|
|
|
679
643
|
Install Zellij from [zellij.dev](https://zellij.dev/documentation/installation.html), then run `npm run zellij:capability` or `sks doctor --json`. Without Zellij, non-interactive checks can continue, but `sks --mad` and interactive lane UI report `mad_ready: false`.
|
|
680
644
|
|
|
645
|
+
### Zellij copy or right lanes feel wrong
|
|
646
|
+
|
|
647
|
+
```sh
|
|
648
|
+
sks team open-zellij latest
|
|
649
|
+
sks zellij status
|
|
650
|
+
```
|
|
651
|
+
|
|
652
|
+
Normal mouse-drag copy is the default because SKS launches Zellij with `mouse_mode=false`. Conversation scrollback is still preserved by Codex `--no-alt-screen`. If you prefer Zellij hover-pane wheel routing, launch with `SKS_ZELLIJ_MOUSE_MODE=1`; use Shift-drag if your terminal then captures selection differently. Right lanes are renderer panes that follow SKS worker artifacts, so live native-agent output is shown from per-slot `worker.stdout.log`, `worker.stderr.log`, and `worker-heartbeat.jsonl`.
|
|
653
|
+
|
|
681
654
|
### Codex App tools are missing
|
|
682
655
|
|
|
683
656
|
```sh
|
|
@@ -694,7 +667,7 @@ sks doctor --fix
|
|
|
694
667
|
sks codex-app check
|
|
695
668
|
```
|
|
696
669
|
|
|
697
|
-
`sks codex-app check` now prints `Git Actions`. It should be `ok` for Codex App Commit, Push, Commit and Push, and PR buttons to bypass SKS route gates. If it is blocked, repair config with `sks doctor --fix`; if the blocker mentions remote-control, update Codex CLI to `0.130.0` or newer and restart older app-server/TUI sessions.
|
|
670
|
+
`sks codex-app check` now prints `Git Actions`. It should be `ok` for Codex App Commit, Push, Commit and Push, and PR buttons to bypass SKS route gates. Recent Codex builds expose remote control through the `codex remote-control` command rather than a `remote_control` feature flag, so SKS checks the command/version capability directly. If it is blocked, repair config with `sks doctor --fix`; if the blocker mentions remote-control, update Codex CLI to `0.130.0` or newer and restart older app-server/TUI sessions.
|
|
698
671
|
|
|
699
672
|
### Codex App UI looks stale after codex-lb changes
|
|
700
673
|
|
|
@@ -737,7 +710,7 @@ npm run release:check
|
|
|
737
710
|
npm run publish:dry
|
|
738
711
|
```
|
|
739
712
|
|
|
740
|
-
`release:check` runs the current 1.
|
|
713
|
+
`release:check` runs the current 1.21.x release-closure DAG, writes a source digest stamp under `.sneakoscope/reports/`, then refreshes release readiness so publish commands can verify the same stamp. The DAG preserves the 1.18 baseline gates and adds Codex 0.136 compatibility, inherited Codex 0.135/0.134 runner truth, patch swarm runtime truth, transaction journaling, serial conflict rebase, strict strategy-to-patch proof, rollback command proof, Native CLI Session Swarm 5/10/20-process proof, Real Worker Backend Router proof, Codex child overlap proof, model-authored patch-envelope separation, Zellij layout/pane/screen/socket-dir proof, no-subagent-scaling proof, Fast mode default/worker/Codex/MAD propagation proof, Appshots attachment provenance, MCP runtime overlap evidence, task graph expansion, schema-bound follow-up work, actual Agent/Team/Research/QA route blackboxes, scheduler proof hardening, Source Intelligence propagation, and Goal mode propagation checks. Broader live gates remain explicit scripts such as `release:real-check`; real Codex patch smoke, real Codex parallel worker proof, and real Zellij proof are optional unless their `SKS_REQUIRE_REAL_*` or `SKS_REQUIRE_ZELLIJ=1` environment variables are set. Generate the human-readable registry with `sks features inventory --write-docs`. Plain `npm publish` uses the `latest` dist-tag. npm's `prepublishOnly` verifies the fresh release stamp instead of rerunning the full gate, and `prepack` only rebuilds `dist`; publish no longer repeats the expensive release suite during packaging. `npm run publish:dry` remains the explicit dry-run helper.
|
|
741
714
|
|
|
742
715
|
Version bumps are manual. Run `sks versioning bump` only when preparing release metadata; SKS will not create `.git/hooks/pre-commit` or auto-bump during ordinary commits.
|
|
743
716
|
|
|
@@ -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 1.21.
|
|
7
|
+
Some("--version") => println!("sks-rs 1.21.6"),
|
|
8
8
|
Some("compact-info") => {
|
|
9
9
|
let mut input = String::new();
|
|
10
10
|
let _ = io::stdin().read_to_string(&mut input);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build-stamp.v1",
|
|
3
3
|
"package_name": "sneakoscope",
|
|
4
|
-
"package_version": "1.21.
|
|
5
|
-
"source_digest": "
|
|
6
|
-
"source_file_count":
|
|
7
|
-
"built_at_source_time":
|
|
4
|
+
"package_version": "1.21.6",
|
|
5
|
+
"source_digest": "3577af7555600bd9748b9c3252bf18a727db23c92740e7a06dc778b467aa1495",
|
|
6
|
+
"source_file_count": 1771,
|
|
7
|
+
"built_at_source_time": 1780391165608
|
|
8
8
|
}
|
package/dist/bin/sks.js
CHANGED
package/dist/build-manifest.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "sks.dist-build.v2",
|
|
3
|
-
"version": "1.21.
|
|
4
|
-
"package_version": "1.21.
|
|
3
|
+
"version": "1.21.6",
|
|
4
|
+
"package_version": "1.21.6",
|
|
5
5
|
"typescript": true,
|
|
6
6
|
"mjs_runtime_files": 0,
|
|
7
|
-
"compiled_file_count":
|
|
8
|
-
"compiled_js_count":
|
|
9
|
-
"compiled_dts_count":
|
|
10
|
-
"source_digest": "
|
|
11
|
-
"source_file_count":
|
|
12
|
-
"source_files_hash": "
|
|
13
|
-
"source_list_hash": "
|
|
7
|
+
"compiled_file_count": 1032,
|
|
8
|
+
"compiled_js_count": 516,
|
|
9
|
+
"compiled_dts_count": 516,
|
|
10
|
+
"source_digest": "3577af7555600bd9748b9c3252bf18a727db23c92740e7a06dc778b467aa1495",
|
|
11
|
+
"source_file_count": 1771,
|
|
12
|
+
"source_files_hash": "1f79c92a7165654f5ae190c1719e7e8ec89337ed8f265c7a68242ef613848f19",
|
|
13
|
+
"source_list_hash": "1f79c92a7165654f5ae190c1719e7e8ec89337ed8f265c7a68242ef613848f19",
|
|
14
14
|
"src_mjs_runtime_files": 0,
|
|
15
15
|
"dist_stamp_schema": "sks.dist-build-stamp.v1",
|
|
16
16
|
"files": [
|
|
@@ -42,6 +42,8 @@
|
|
|
42
42
|
"cli/recallpulse-command.js",
|
|
43
43
|
"cli/router.d.ts",
|
|
44
44
|
"cli/router.js",
|
|
45
|
+
"cli/xai-command.d.ts",
|
|
46
|
+
"cli/xai-command.js",
|
|
45
47
|
"commands/aliases.d.ts",
|
|
46
48
|
"commands/aliases.js",
|
|
47
49
|
"commands/all-features.d.ts",
|
|
@@ -402,6 +404,8 @@
|
|
|
402
404
|
"core/codex/codex-0-134-compat.js",
|
|
403
405
|
"core/codex/codex-0-135-compat.d.ts",
|
|
404
406
|
"core/codex/codex-0-135-compat.js",
|
|
407
|
+
"core/codex/codex-0-136-compat.d.ts",
|
|
408
|
+
"core/codex/codex-0-136-compat.js",
|
|
405
409
|
"core/codex/codex-cli-syntax-builder.d.ts",
|
|
406
410
|
"core/codex/codex-cli-syntax-builder.js",
|
|
407
411
|
"core/codex/codex-config-eperm-repair.d.ts",
|
|
@@ -538,6 +542,8 @@
|
|
|
538
542
|
"core/doctor/codex-doctor-bridge.js",
|
|
539
543
|
"core/doctor/doctor-readiness-matrix.d.ts",
|
|
540
544
|
"core/doctor/doctor-readiness-matrix.js",
|
|
545
|
+
"core/doctor/global-sks-install-cleanup.d.ts",
|
|
546
|
+
"core/doctor/global-sks-install-cleanup.js",
|
|
541
547
|
"core/doctor/macos-tcc-diagnostic.d.ts",
|
|
542
548
|
"core/doctor/macos-tcc-diagnostic.js",
|
|
543
549
|
"core/dogfood-loop.d.ts",
|
|
@@ -863,6 +869,8 @@
|
|
|
863
869
|
"core/safety/requested-scope-contract.js",
|
|
864
870
|
"core/safety/side-effect-runtime-report.d.ts",
|
|
865
871
|
"core/safety/side-effect-runtime-report.js",
|
|
872
|
+
"core/safety/ssot-guard.d.ts",
|
|
873
|
+
"core/safety/ssot-guard.js",
|
|
866
874
|
"core/secret-redaction.d.ts",
|
|
867
875
|
"core/secret-redaction.js",
|
|
868
876
|
"core/session/project-namespace.d.ts",
|
|
@@ -1027,6 +1035,8 @@
|
|
|
1027
1035
|
"core/zellij/zellij-command.js",
|
|
1028
1036
|
"core/zellij/zellij-lane-renderer.d.ts",
|
|
1029
1037
|
"core/zellij/zellij-lane-renderer.js",
|
|
1038
|
+
"core/zellij/zellij-lane-runtime.d.ts",
|
|
1039
|
+
"core/zellij/zellij-lane-runtime.js",
|
|
1030
1040
|
"core/zellij/zellij-launcher.d.ts",
|
|
1031
1041
|
"core/zellij/zellij-launcher.js",
|
|
1032
1042
|
"core/zellij/zellij-layout-builder.d.ts",
|
|
@@ -76,6 +76,8 @@ export declare const COMMANDS: {
|
|
|
76
76
|
'computer-use': CommandEntry;
|
|
77
77
|
cu: CommandEntry;
|
|
78
78
|
context7: CommandEntry;
|
|
79
|
+
xai: CommandEntry;
|
|
80
|
+
grok: CommandEntry;
|
|
79
81
|
recallpulse: CommandEntry;
|
|
80
82
|
pipeline: CommandEntry;
|
|
81
83
|
guard: CommandEntry;
|
|
@@ -165,6 +167,8 @@ export declare const TYPED_COMMANDS: {
|
|
|
165
167
|
'computer-use': CommandEntry;
|
|
166
168
|
cu: CommandEntry;
|
|
167
169
|
context7: CommandEntry;
|
|
170
|
+
xai: CommandEntry;
|
|
171
|
+
grok: CommandEntry;
|
|
168
172
|
recallpulse: CommandEntry;
|
|
169
173
|
pipeline: CommandEntry;
|
|
170
174
|
guard: CommandEntry;
|
|
@@ -129,6 +129,8 @@ export const COMMANDS = {
|
|
|
129
129
|
'computer-use': 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')),
|
|
130
130
|
cu: entry('beta', 'Alias for native Computer Use', 'dist/core/commands/computer-use-command.js', commandArgsCommand(() => import('../core/commands/computer-use-command.js'), 'computerUseCommand', 'dist/core/commands/computer-use-command.js')),
|
|
131
131
|
context7: entry('beta', 'Context7 checks and docs', 'dist/cli/context7-command.js', subcommand(() => import('./context7-command.js'), 'context7Command', 'dist/cli/context7-command.js', 'check')),
|
|
132
|
+
xai: entry('beta', 'Set up and check xAI/Grok search MCP integration', 'dist/cli/xai-command.js', subcommand(() => import('./xai-command.js'), 'xaiCommand', 'dist/cli/xai-command.js', 'check')),
|
|
133
|
+
grok: entry('beta', 'Alias for xAI/Grok search setup', 'dist/cli/xai-command.js', subcommand(() => import('./xai-command.js'), 'xaiCommand', 'dist/cli/xai-command.js', 'check')),
|
|
132
134
|
recallpulse: entry('labs', 'RecallPulse evidence route', 'dist/commands/recallpulse.js', directCommand(() => import('../commands/recallpulse.js'), 'dist/commands/recallpulse.js')),
|
|
133
135
|
pipeline: entry('beta', 'Inspect pipeline missions', 'dist/commands/pipeline.js', directCommand(() => import('../commands/pipeline.js'), 'dist/commands/pipeline.js')),
|
|
134
136
|
guard: entry('beta', 'Check harness guard', 'dist/commands/guard.js', directCommand(() => import('../commands/guard.js'), 'dist/commands/guard.js')),
|
|
@@ -63,6 +63,10 @@ export async function postinstall({ bootstrap, args = [] }) {
|
|
|
63
63
|
console.log(`Context7 MCP: skipped (${context7Install.reason}).`);
|
|
64
64
|
else if (context7Install.status === 'failed')
|
|
65
65
|
console.log(`Context7 MCP: auto setup failed. Run \`sks context7 setup --scope global\` or \`sks setup\`. ${context7Install.error || ''}`.trim());
|
|
66
|
+
// xAI/Grok web search is an optional source-intelligence provider. It needs a
|
|
67
|
+
// user-chosen MCP server + XAI_API_KEY, so we never auto-configure it — just make
|
|
68
|
+
// it discoverable (the integration the operator otherwise can't find at install).
|
|
69
|
+
console.log('xAI/Grok search (optional): add Grok Live Search with `sks xai setup` (then `export XAI_API_KEY=...`); see `sks xai docs`.');
|
|
66
70
|
const fastModeRepair = await ensureGlobalCodexFastModeDuringInstall();
|
|
67
71
|
if (fastModeRepair.status === 'updated')
|
|
68
72
|
console.log(`Codex App Fast mode: updated ${fastModeRepair.config_path}${fastModeRepair.backup_path ? ` (backup ${fastModeRepair.backup_path})` : ''}.`);
|
|
@@ -1544,7 +1548,10 @@ function normalizeCodexFastModeUiConfigOnce(text = '', opts = {}) {
|
|
|
1544
1548
|
next = upsertTomlTableKey(next, 'profiles.sks-fast-high', 'model = "gpt-5.5"');
|
|
1545
1549
|
next = upsertTomlTableKey(next, 'profiles.sks-fast-high', 'service_tier = "fast"');
|
|
1546
1550
|
next = upsertTomlTableKey(next, 'profiles.sks-fast-high', 'approval_policy = "on-request"');
|
|
1547
|
-
|
|
1551
|
+
// Do not force a sandbox from the Codex App fast profile. The App/IDE
|
|
1552
|
+
// permissions selector owns full-access vs workspace-write; this profile only
|
|
1553
|
+
// supplies SKS's model, speed, approval, and reasoning defaults.
|
|
1554
|
+
next = removeTomlTableKey(next, 'profiles.sks-fast-high', 'sandbox_mode');
|
|
1548
1555
|
next = upsertTomlTableKey(next, 'profiles.sks-fast-high', 'model_reasoning_effort = "high"');
|
|
1549
1556
|
// Plugin auto-enable is OPT-IN only. Force-writing `[plugins."name@marketplace"] enabled =
|
|
1550
1557
|
// true` for marketplace plugins the App may not have installed (different build/channel)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function xaiCommand(sub?: string, args?: string[]): Promise<void>;
|
|
2
|
+
export declare function xaiMcpToml(opts: {
|
|
3
|
+
name: string;
|
|
4
|
+
url?: string | null;
|
|
5
|
+
command?: string | null;
|
|
6
|
+
commandArgs?: string[];
|
|
7
|
+
envKey?: string;
|
|
8
|
+
}): string;
|
|
9
|
+
//# sourceMappingURL=xai-command.d.ts.map
|