sneakoscope 4.8.7 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +51 -726
- package/config/bench-baseline.json +7 -0
- 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/bin/install.js +35 -0
- package/dist/bin/sks.js +1 -1
- package/dist/cli/cli-theme.js +51 -0
- package/dist/cli/command-registry.js +15 -4
- package/dist/cli/help-fast.js +18 -8
- package/dist/cli/insane-search-command.js +36 -8
- package/dist/cli/install-helpers.js +32 -0
- package/dist/commands/codex-lb.js +2 -0
- package/dist/commands/doctor.js +94 -9
- package/dist/commands/proof.js +6 -3
- package/dist/config/skills-manifest.json +82 -54
- package/dist/core/agents/agent-conflict-graph.js +5 -0
- package/dist/core/agents/agent-lease.js +5 -0
- package/dist/core/agents/agent-ledger-schemas.js +1 -0
- package/dist/core/agents/agent-lifecycle.js +5 -3
- package/dist/core/agents/agent-orchestrator.js +268 -62
- package/dist/core/agents/agent-output-validator.js +14 -3
- package/dist/core/agents/agent-patch-queue-store.js +95 -2
- package/dist/core/agents/agent-patch-queue.js +6 -3
- package/dist/core/agents/agent-patch-schema.js +13 -0
- package/dist/core/agents/agent-proof-evidence.js +6 -1
- package/dist/core/agents/agent-runner-fake.js +40 -0
- package/dist/core/agents/agent-worker-pipeline.js +36 -2
- package/dist/core/agents/codex-exec-worker-adapter.js +2 -0
- package/dist/core/agents/native-cli-worker.js +0 -1
- package/dist/core/agents/native-worker-backend-router.js +58 -1
- package/dist/core/codex-app/sks-menubar.js +477 -132
- package/dist/core/codex-app.js +1 -0
- package/dist/core/codex-control/codex-sdk-config-policy.js +2 -1
- package/dist/core/codex-control/codex-sdk-env-policy.js +1 -1
- package/dist/core/codex-control/schemas/agent-worker-result.schema.js +12 -3
- package/dist/core/codex-hooks/codex-hook-managed-install.js +5 -0
- package/dist/core/codex-hooks/codex-hook-state-writer.js +70 -11
- package/dist/core/codex-hooks/codex-hook-trust-doctor.js +2 -2
- package/dist/core/codex-lb/codex-lb-env.js +20 -1
- package/dist/core/commands/basic-cli.js +18 -1
- package/dist/core/commands/check-command.js +37 -5
- package/dist/core/commands/computer-use-command.js +62 -7
- package/dist/core/commands/db-command.js +31 -5
- package/dist/core/commands/fast-mode-command.js +3 -0
- package/dist/core/commands/gate-result-contract.js +43 -0
- package/dist/core/commands/gates-command.js +6 -1
- package/dist/core/commands/gc-command.js +29 -2
- package/dist/core/commands/goal-command.js +9 -2
- package/dist/core/commands/gx-command.js +79 -7
- package/dist/core/commands/image-ux-review-command.js +188 -13
- package/dist/core/commands/mad-db-command.js +85 -176
- package/dist/core/commands/mad-sks-command.js +230 -29
- package/dist/core/commands/menubar-command.js +24 -2
- package/dist/core/commands/naruto-command.js +64 -10
- package/dist/core/commands/plan-command.js +76 -0
- package/dist/core/commands/ppt-command.js +159 -24
- package/dist/core/commands/qa-loop-command.js +6 -2
- package/dist/core/commands/release-command.js +55 -2
- package/dist/core/commands/research-command.js +1 -1
- package/dist/core/commands/review-command.js +217 -0
- package/dist/core/commands/route-success-helpers.js +59 -0
- package/dist/core/commands/run-command.js +19 -7
- package/dist/core/commands/seo-command.js +49 -1
- package/dist/core/commands/ui-command.js +161 -0
- package/dist/core/commands/uninstall-command.js +15 -1
- package/dist/core/db-safety.js +2 -2
- package/dist/core/doctor/doctor-dirty-planner.js +51 -7
- package/dist/core/doctor/doctor-transaction.js +8 -0
- package/dist/core/doctor/doctor-zellij-repair.js +1 -0
- package/dist/core/doctor/imagegen-repair.js +161 -0
- package/dist/core/feature-fixture-runner.js +2 -2
- package/dist/core/feature-fixtures.js +58 -37
- package/dist/core/feature-registry.js +102 -2
- package/dist/core/fsx.js +39 -6
- package/dist/core/image-ux-review/imagegen-adapter.js +48 -11
- package/dist/core/image-ux-review.js +16 -0
- package/dist/core/imagegen/imagegen-capability.js +11 -5
- package/dist/core/imagegen/require-imagegen.js +57 -0
- package/dist/core/init/skills.js +10 -5
- package/dist/core/mad-db/mad-db-coordinator.js +94 -18
- package/dist/core/mad-db/mad-db-policy.js +12 -10
- package/dist/core/mad-sks/executors/executor-base.js +8 -2
- package/dist/core/mad-sks/executors/index.js +4 -0
- package/dist/core/mad-sks/executors/sql-plane-executor.js +194 -0
- package/dist/core/naruto/naruto-active-pool.js +15 -4
- package/dist/core/naruto/naruto-real-worker-child.js +11 -1
- package/dist/core/naruto/naruto-role-policy.js +3 -0
- package/dist/core/naruto/naruto-task-hints.js +10 -0
- package/dist/core/naruto/naruto-work-graph.js +8 -2
- package/dist/core/naruto/naruto-work-item.js +6 -0
- package/dist/core/naruto/solution-tournament.js +101 -0
- package/dist/core/permission-gates.js +30 -0
- package/dist/core/pipeline-internals/runtime-core.js +11 -3
- package/dist/core/pipeline-internals/runtime-gates.js +27 -0
- package/dist/core/ppt-review/index.js +6 -1
- package/dist/core/ppt-review/slide-imagegen-review.js +75 -10
- package/dist/core/ppt.js +70 -2
- package/dist/core/proof/auto-finalize.js +70 -11
- package/dist/core/proof/proof-schema.js +2 -0
- package/dist/core/proof/route-adapter.js +5 -1
- package/dist/core/proof/route-finalizer.js +8 -5
- package/dist/core/proof/selftest-proof-fixtures.js +18 -5
- package/dist/core/proof/validation.js +2 -0
- package/dist/core/provider/model-router.js +53 -0
- package/dist/core/release/release-gate-node.js +3 -0
- package/dist/core/release/release-gate-resource-governor.js +1 -0
- package/dist/core/routes/constants.js +1 -1
- package/dist/core/routes.js +65 -18
- package/dist/core/safety/mutation-guard.js +5 -1
- package/dist/core/stop-gate/gate-evaluator.js +102 -0
- package/dist/core/stop-gate/stop-gate-check.js +16 -1
- package/dist/core/stop-gate/stop-gate-writer.js +4 -0
- package/dist/core/triwiki/agents-md-projector.js +184 -0
- package/dist/core/triwiki-wrongness/wrongness-schema.js +3 -1
- package/dist/core/trust-kernel/trust-kernel-schema.js +1 -0
- package/dist/core/trust-kernel/trust-report.js +1 -1
- package/dist/core/trust-kernel/trust-status.js +2 -0
- package/dist/core/ui/dashboard-html.js +111 -0
- package/dist/core/update/update-migration-state.js +386 -15
- package/dist/core/update-check.js +178 -81
- package/dist/core/verification/diff-quality.js +100 -0
- package/dist/core/verification/impact-scan.js +164 -0
- package/dist/core/verification/machine-feedback.js +146 -0
- package/dist/core/verification/mistake-rule-compiler.js +195 -0
- package/dist/core/version.js +1 -1
- package/dist/core/zellij/zellij-self-heal.js +9 -6
- package/dist/core/zellij/zellij-slot-telemetry.js +1 -1
- package/dist/scripts/check-feature-quality.js +2 -2
- package/dist/scripts/cli-output-consistency-check.js +57 -0
- package/dist/scripts/coding-bench-check.js +136 -0
- package/dist/scripts/doctor-imagegen-repair-check.js +62 -0
- package/dist/scripts/ensure-bin-executable.js +11 -3
- package/dist/scripts/harness-benchmark-check.js +104 -0
- package/dist/scripts/legacy-update-e2e-check.js +228 -0
- package/dist/scripts/mad-db-command-check.js +11 -8
- package/dist/scripts/mad-db-route-identity-check.js +8 -6
- package/dist/scripts/mad-db-safety-conflict-matrix-check.js +31 -8
- package/dist/scripts/mad-db-skill-policy-snapshot-check.js +4 -5
- package/dist/scripts/naruto-real-active-pool-runtime-check.js +26 -1
- package/dist/scripts/ppt-real-imagegen-wiring-check.js +5 -1
- package/dist/scripts/proof-root-cause-policy-check.js +2 -0
- package/dist/scripts/release-dag-full-coverage-check.js +13 -4
- package/dist/scripts/release-gate-dag-runner.js +14 -0
- package/dist/scripts/release-gate-existence-audit.js +2 -1
- package/dist/scripts/release-gate-planner.js +2 -1
- package/dist/scripts/release-gate-script-parity-check.js +45 -17
- package/dist/scripts/release-metadata-1-19-check.js +2 -1
- package/dist/scripts/seo-geo-feature-fixture-quality-check.js +1 -1
- package/dist/scripts/sks-1-11-gate-lib.js +8 -6
- package/dist/scripts/sks-menubar-install-check.js +57 -20
- package/dist/scripts/ux-review-real-loop-fixture-check.js +9 -4
- package/dist/scripts/ux-review-run-wires-imagegen-check.js +4 -0
- package/dist/scripts/zellij-slot-telemetry-runtime-check.js +1 -0
- package/docs/assets/sneakoscope-architecture-pipeline.jpg +0 -0
- package/docs/demo.tape +28 -0
- package/package.json +31 -24
- package/schemas/codex/completion-proof.schema.json +3 -2
- package/schemas/release/release-gate-node.schema.json +2 -1
- package/dist/scripts/agent-backfill-route-blackbox.js +0 -5
- package/dist/scripts/agent-dynamic-pool-route-blackbox.js +0 -5
- package/dist/scripts/agent-parallel-write-blackbox.js +0 -56
- package/dist/scripts/agent-patch-swarm-route-blackbox.js +0 -10
- package/dist/scripts/agent-route-blackbox-lib.js +0 -132
- package/dist/scripts/blackbox-command-import-smoke.js +0 -143
- package/dist/scripts/blackbox-global-shim.js +0 -77
- package/dist/scripts/blackbox-matrix.js +0 -70
- package/dist/scripts/blackbox-npx-one-shot.js +0 -69
- package/dist/scripts/blackbox-pack-install.js +0 -174
- package/dist/scripts/brand-neutrality-zero-leakage-blackbox.js +0 -4
- package/dist/scripts/build-once-runner-blackbox.js +0 -34
- package/dist/scripts/codex-0140-integration-blackbox.js +0 -13
- package/dist/scripts/codex-agent-type-blackbox.js +0 -4
- package/dist/scripts/codex-app-harness-blackbox.js +0 -4
- package/dist/scripts/codex-app-skill-agent-blackbox.js +0 -4
- package/dist/scripts/codex-hook-approval-blackbox.js +0 -4
- package/dist/scripts/codex-init-deep-directory-local-blackbox.js +0 -4
- package/dist/scripts/codex-native-feature-broker-blackbox.js +0 -4
- package/dist/scripts/codex-native-pattern-analysis-blackbox.js +0 -4
- package/dist/scripts/codex-native-read-repair-split-blackbox.js +0 -55
- package/dist/scripts/codex-native-reference-cache-blackbox.js +0 -41
- package/dist/scripts/core-skill-integrity-blackbox.js +0 -32
- package/dist/scripts/dfix-fast-blackbox-check.js +0 -37
- package/dist/scripts/dfix-parallel-write-blackbox.js +0 -48
- package/dist/scripts/dfix-patch-swarm-route-blackbox.js +0 -10
- package/dist/scripts/doctor-dirty-repair-blackbox.js +0 -22
- package/dist/scripts/doctor-dirty-semantic-blackbox.js +0 -8
- package/dist/scripts/doctor-native-capability-repair-blackbox.js +0 -39
- package/dist/scripts/doctor-transaction-engine-blackbox.js +0 -28
- package/dist/scripts/doctor-zellij-fix-blackbox.js +0 -4
- package/dist/scripts/doctor-zellij-no-homebrew-blackbox.js +0 -4
- package/dist/scripts/doctor-zellij-upgrade-blackbox.js +0 -4
- package/dist/scripts/gate-pack-runner-blackbox.js +0 -27
- package/dist/scripts/gate-pack-v2-blackbox.js +0 -18
- package/dist/scripts/geo-cli-blackbox-check.js +0 -18
- package/dist/scripts/loop-collision-blackbox.js +0 -3
- package/dist/scripts/loop-concurrency-oversubscription-blackbox.js +0 -3
- package/dist/scripts/loop-fixture-production-misuse-blackbox.js +0 -3
- package/dist/scripts/loop-kill-interrupt-real-blackbox.js +0 -3
- package/dist/scripts/loop-merge-strategy-blackbox.js +0 -3
- package/dist/scripts/loop-mesh-production-e2e-blackbox.js +0 -3
- package/dist/scripts/loop-side-effect-blackbox.js +0 -3
- package/dist/scripts/mad-db-operation-lifecycle-blackbox.js +0 -29
- package/dist/scripts/mad-sks-actual-executor-blackbox.js +0 -5
- package/dist/scripts/mad-zellij-headless-fallback-blackbox.js +0 -4
- package/dist/scripts/mad-zellij-self-heal-blackbox.js +0 -4
- package/dist/scripts/naruto-loop-mesh-blackbox.js +0 -3
- package/dist/scripts/naruto-real-parallelism-blackbox.js +0 -307
- package/dist/scripts/naruto-worktree-coding-blackbox.js +0 -29
- package/dist/scripts/parallel-runtime-real-blackbox.js +0 -44
- package/dist/scripts/pipeline-codex-native-doctor-mad-routing-real-blackbox.js +0 -77
- package/dist/scripts/pipeline-codex-native-e2e-blackbox.js +0 -13
- package/dist/scripts/pipeline-codex-native-image-routing-real-blackbox.js +0 -50
- package/dist/scripts/pipeline-codex-native-loop-routing-real-blackbox.js +0 -74
- package/dist/scripts/pipeline-codex-native-qa-routing-real-blackbox.js +0 -51
- package/dist/scripts/pipeline-codex-native-research-routing-real-blackbox.js +0 -45
- package/dist/scripts/pipeline-execution-profile-routing-blackbox.js +0 -4
- package/dist/scripts/postinstall-global-doctor-blackbox.js +0 -12
- package/dist/scripts/ppt-full-e2e-blackbox-check.js +0 -109
- package/dist/scripts/ppt-imagegen-blackbox-check.js +0 -46
- package/dist/scripts/qa-backfill-route-blackbox.js +0 -5
- package/dist/scripts/qa-patch-swarm-route-blackbox.js +0 -10
- package/dist/scripts/release-full-parallelism-blackbox.js +0 -41
- package/dist/scripts/release-triwiki-first-runner-blackbox.js +0 -48
- package/dist/scripts/release-wiring-3110-blackbox.js +0 -27
- package/dist/scripts/release-wiring-3112-blackbox.js +0 -17
- package/dist/scripts/release-wiring-3113-blackbox.js +0 -17
- package/dist/scripts/research-backfill-route-blackbox.js +0 -5
- package/dist/scripts/research-final-reviewer-blackbox.js +0 -70
- package/dist/scripts/research-stage-cycle-runtime-blackbox.js +0 -40
- package/dist/scripts/research-synthesis-writer-blackbox.js +0 -24
- package/dist/scripts/route-blackbox-realism-check.js +0 -21
- package/dist/scripts/scheduler-resource-claim-blackbox.js +0 -24
- package/dist/scripts/seo-cli-blackbox-check.js +0 -18
- package/dist/scripts/sks-3110-all-feature-regression-blackbox.js +0 -116
- package/dist/scripts/sks-3112-all-feature-regression-blackbox.js +0 -29
- package/dist/scripts/sks-3113-all-feature-regression-blackbox.js +0 -17
- package/dist/scripts/sks-400-all-feature-regression-blackbox.js +0 -21
- package/dist/scripts/sks-400-extreme-parallel-blackbox.js +0 -8
- package/dist/scripts/sks-400-five-minute-blackbox.js +0 -9
- package/dist/scripts/sks-400-legacy-purge-blackbox.js +0 -8
- package/dist/scripts/sks-401-all-feature-regression-blackbox.js +0 -46
- package/dist/scripts/sks-401-five-minute-actual-blackbox.js +0 -23
- package/dist/scripts/sks-402-all-feature-regression-blackbox.js +0 -9
- package/dist/scripts/sks-402-five-minute-real-blackbox.js +0 -22
- package/dist/scripts/sksd-warm-cache-blackbox.js +0 -12
- package/dist/scripts/team-backfill-route-blackbox.js +0 -5
- package/dist/scripts/team-parallel-write-blackbox.js +0 -55
- package/dist/scripts/team-patch-swarm-route-blackbox.js +0 -10
- package/dist/scripts/triwiki-affected-graph-blackbox.js +0 -28
- package/dist/scripts/triwiki-proof-bank-blackbox.js +0 -30
- package/dist/scripts/triwiki-proof-bank-lock-blackbox.js +0 -7
- package/dist/scripts/ux-patch-swarm-route-blackbox.js +0 -10
- package/dist/scripts/ux-review-imagegen-blackbox-check.js +0 -67
- package/dist/scripts/zellij-initial-main-only-blackbox.js +0 -28
- package/dist/scripts/zellij-pane-lock-concurrency-blackbox.js +0 -80
- package/dist/scripts/zellij-pane-lock-open-worker-integration-blackbox.js +0 -137
- package/dist/scripts/zellij-self-heal-typed-blackbox.js +0 -4
- package/dist/scripts/zellij-slot-telemetry-real-blackbox.js +0 -20
- package/dist/scripts/zellij-stacked-fallback-integration-blackbox.js +0 -81
- package/dist/scripts/zellij-worker-pane-real-ui-blackbox.js +0 -202
package/README.md
CHANGED
|
@@ -1,771 +1,96 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
#
|
|
3
|
+
# Sneakoscope Codex
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**The proof-first swarm harness for Codex. Machine-verified completion, not vibes.**
|
|
6
6
|
|
|
7
7
|
[](https://www.npmjs.com/package/sneakoscope)
|
|
8
8
|
[](#requirements)
|
|
9
9
|
[](#license)
|
|
10
|
-
[](#mad-zellij-launch)
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
`npm i -g sneakoscope` → `sks --mad` → watch up to **100 parallel workers** code at once,<br/>each in a live Zellij pane, every claim backed by **Completion Proof**.
|
|
11
|
+

|
|
15
12
|
|
|
16
13
|
</div>
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
**Sneakoscope Codex** (`sks`) is a Codex CLI and Codex App harness that makes repeatable Codex work **auditable**. It focuses on one thing relentlessly: every Codex run becomes visual-evidence-bound, safety-gated, and reproducible through Completion Proof.
|
|
21
|
-
|
|
22
|
-
| | What you get |
|
|
23
|
-
| --- | --- |
|
|
24
|
-
| 🍥 **`$Naruto` swarm** | Up to 100 parallel clone workers behind a hardware-safe concurrency governor, lease-based parallel writes, and a scheduler that backfills idle slots while runnable work remains |
|
|
25
|
-
| 🖥️ **Live Zellij cockpit** | Workers stack vertically as native Zellij stacked panes; each pane streams heartbeat, current file, tool events, and stdout tails every second |
|
|
26
|
-
| 🧾 **Completion Proof** | Every serious route ends with schema-backed proof artifacts — no "trust me, it's done" |
|
|
27
|
-
| 🛡️ **Safety gates** | DB/migration/destructive operations stay gated, ≤200 release-preset gates, Honest Mode |
|
|
28
|
-
| 🖼️ **Visual evidence** | Image Voxel TriWiki plus `$imagegen`/`gpt-image-2`-bound visual review flows |
|
|
29
|
-
|
|
30
|
-
## LLM Init Prompt for Codex Native Agent Builders
|
|
31
|
-
|
|
32
|
-
```text
|
|
33
|
-
Set up this agent project with Sneakoscope Codex. Use [[mandarange/Sneakoscope-Codex](https://github.com/mandarange/Sneakoscope-Codex)] as the repo reference and [npm i -g sneakoscope] as the recommended global install command, then run the appropriate `sks` setup, doctor, Codex App, and proof checks for this repo. Keep generated SKS state out of source control unless documented, and record every version-facing change in CHANGELOG.md.
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## ✨ Highlights
|
|
37
|
-
|
|
38
|
-
- **Massive parallel swarm.** `$Naruto` fans work out to up to 100 clone workers behind a hardware-safe governor, with lease-based parallel writes and a scheduler that keeps idle slots full while runnable work remains.
|
|
39
|
-
- **Live Zellij cockpit.** Workers stack as native Zellij panes that stream heartbeat, current file, tool events, and stdout every second.
|
|
40
|
-
- **Completion Proof on every serious route.** Schema-backed proof artifacts replace "trust me, it's done," and Honest Mode separates implemented, locally verified, production verified, and measured outcomes.
|
|
41
|
-
- **Safety-first by default.** SQL/migrations, Supabase/RLS changes, destructive filesystem operations, and published release state stay gated unless you explicitly opt in.
|
|
42
|
-
- **Visual evidence.** Image Voxel TriWiki plus `$imagegen`/`gpt-image-2`-bound visual review flows.
|
|
43
|
-
- **Search visibility route (SEO + GEO).** `sks seo-geo-optimizer` / `$SEO-GEO-OPTIMIZER` runs read-only audit, mutation plan, explicit apply, verification, rollback, and Completion Proof for both Search Engine Optimization and Generative Engine Optimization (GEO is generative-engine, not geolocation).
|
|
44
|
-
|
|
45
|
-
```sh
|
|
46
|
-
sks seo-geo-optimizer audit --mode seo --target package --offline --json
|
|
47
|
-
sks seo-geo-optimizer plan latest --mode seo --json
|
|
48
|
-
sks seo-geo-optimizer apply latest --mode seo --apply --json
|
|
49
|
-
sks seo-geo-optimizer audit --mode geo --target package --offline --json
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
> 📋 **Current release: `v4.8.6`** — full release history lives in [CHANGELOG.md](CHANGELOG.md). This README documents how Sneakoscope works today, not its version-by-version changes. Release readiness is tracked in [docs/release-readiness.md](docs/release-readiness.md).
|
|
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 on by default so trackpad/wheel gestures scroll the conversation pane instead of recalling prompt history in the focused Codex input. Copy still uses `copy_command=pbcopy` and `copy_on_select=true`; hold Shift for terminal-native selection, or set `SKS_ZELLIJ_MOUSE_MODE=0` if you intentionally prefer native drag selection over hover-pane scrolling.
|
|
64
|
-
|
|
65
|
-
- **MAD / Naruto Zellij worker panes.** `sks --mad` and Naruto-style fan-out keep the main Zellij session lean at launch, then open named worker panes on demand as scheduler slots are reserved. Each worker pane is bound to a slot generation, writes `worker.stdout.log`, `worker.stderr.log`, `worker-heartbeat.jsonl`, `worker-result.json`, and `zellij-worker-pane.json`, then drains when the generation completes. 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 UI-only launch.
|
|
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
|
-
- **InsaneSearch source intelligence.** Run provider-independent source acquisition without requiring xAI/Grok credentials:
|
|
70
|
-
|
|
71
|
-
```bash
|
|
72
|
-
sks insane-search doctor
|
|
73
|
-
sks insane-search run "current package release notes" --mode balanced
|
|
74
|
-
sks insane-search x "site:x.com product launch"
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
- **CLI-only SKS update notices.** Codex App hooks no longer stop normal work to ask for an SKS update. CLI launch surfaces such as `sks --mad` print a non-blocking latest-version notice, `sks update-check` / `sks update check` show the explicit status, bare `sks update` checks npm latest and updates the global package, and `sks doctor --fix` runs the guarded repair path.
|
|
78
|
-
|
|
79
|
-
## 🧹 Retention And Cleanup
|
|
80
|
-
|
|
81
|
-
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.
|
|
82
|
-
|
|
83
|
-
Temporary route files are cleaned after a route is closed enough to preserve its proof chain and by `sks gc`: `.sneakoscope/tmp/*`, closed mission `team-inbox/`, `bus/`, `cycles/`, `arenas/`, agent lane/worktree scratch, mission `*.stdout.log` / `*.stderr.log`, and release-parallel raw logs after their inline summaries are written into the JSON/MD report. Post-route cleanup is bounded to the completed route so large mission stores do not stall normal commands; full old/excess mission sweeping remains an explicit `sks gc` operation. Active missions, blocked-route diagnostics, and terminal transcripts stay in place so live debugging and the current route are not disrupted. Old/excess missions that contain proof or learning artifacts are compacted rather than deleted wholesale.
|
|
84
|
-
|
|
85
|
-
```bash
|
|
86
|
-
sks gc --dry-run --json
|
|
87
|
-
sks gc --json
|
|
88
|
-
sks stats --json
|
|
89
|
-
npm run retention:cleanup-safety
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The cleanup contract is policy-backed in `.sneakoscope/policy.json`, but the default posture is now immediate cleanup for short-lived temp files while preserving long-term SKS learning and proof artifacts.
|
|
93
|
-
|
|
94
|
-
## 📚 Documentation
|
|
95
|
-
|
|
96
|
-
<details>
|
|
97
|
-
<summary><b>Core concepts & architecture</b> — proof, trust, pipeline design</summary>
|
|
98
|
-
|
|
99
|
-
- Completion Proof: [docs/completion-proof.md](docs/completion-proof.md)
|
|
100
|
-
- Trust Kernel: [docs/trust-kernel.md](docs/trust-kernel.md)
|
|
101
|
-
- Pipeline architecture: [docs/pipeline-architecture.md](docs/pipeline-architecture.md)
|
|
102
|
-
- TypeScript architecture: [docs/typescript-architecture.md](docs/typescript-architecture.md)
|
|
103
|
-
- Runtime truth matrix: [docs/runtime-truth-matrix.md](docs/runtime-truth-matrix.md)
|
|
104
|
-
- Fake vs real proof policy: [docs/fake-vs-real-proof-policy.md](docs/fake-vs-real-proof-policy.md)
|
|
105
|
-
- Core dominance: [docs/core-dominance.md](docs/core-dominance.md)
|
|
106
|
-
- Permission kernel: [docs/permission-kernel.md](docs/permission-kernel.md)
|
|
107
|
-
- Immutable harness guard: [docs/immutable-harness-guard.md](docs/immutable-harness-guard.md)
|
|
108
|
-
- Package boundary: [docs/package-boundary.md](docs/package-boundary.md)
|
|
109
|
-
- Managed paths: [docs/managed-paths.md](docs/managed-paths.md)
|
|
110
|
-
- Performance budgets: [docs/performance-budgets.md](docs/performance-budgets.md)
|
|
111
|
-
- Route finalization: [docs/route-finalization.md](docs/route-finalization.md)
|
|
112
|
-
- Rust accelerator: [docs/rust-accelerator.md](docs/rust-accelerator.md)
|
|
113
|
-
|
|
114
|
-
</details>
|
|
115
|
-
|
|
116
|
-
<details>
|
|
117
|
-
<summary><b>Agents & parallelism</b> — Naruto swarm, worker panes, parallel writes</summary>
|
|
118
|
-
|
|
119
|
-
- Naruto massive parallel swarm: [docs/naruto.md](docs/naruto.md)
|
|
120
|
-
- Native Agent Kernel: [docs/native-agent-kernel.md](docs/native-agent-kernel.md)
|
|
121
|
-
- Native agent engines: [docs/native-agent-engines.md](docs/native-agent-engines.md)
|
|
122
|
-
- Native CLI Session Swarm: [docs/native-cli-session-swarm.md](docs/native-cli-session-swarm.md)
|
|
123
|
-
- No-subagent scaling: [docs/no-subagent-scaling.md](docs/no-subagent-scaling.md)
|
|
124
|
-
- Parallel write agents: [docs/parallel-write-agents.md](docs/parallel-write-agents.md)
|
|
125
|
-
- Agent patch queue: [docs/agent-patch-queue.md](docs/agent-patch-queue.md)
|
|
126
|
-
- Strategy-first parallel write: [docs/strategy-first-parallel-write.md](docs/strategy-first-parallel-write.md)
|
|
127
|
-
- Intelligent work graph: [docs/intelligent-work-graph.md](docs/intelligent-work-graph.md)
|
|
128
|
-
- Agent terminal lanes: [docs/agent-terminal-lanes.md](docs/agent-terminal-lanes.md)
|
|
129
|
-
- Agent cleanup executor: [docs/agent-cleanup-executor.md](docs/agent-cleanup-executor.md)
|
|
130
|
-
- MCP readOnly scheduler: [docs/mcp-readonly-scheduler.md](docs/mcp-readonly-scheduler.md)
|
|
131
|
-
- MAD-SKS: [docs/mad-sks.md](docs/mad-sks.md)
|
|
132
|
-
- MAD-SKS rollback: [docs/mad-sks-rollback.md](docs/mad-sks-rollback.md)
|
|
133
|
-
- ADHD orchestration gate: [docs/adhd-orchestrating-gate.md](docs/adhd-orchestrating-gate.md)
|
|
134
|
-
- Zellij migration: [docs/migration/tmux-to-zellij.md](docs/migration/tmux-to-zellij.md)
|
|
15
|
+
Sneakoscope Codex (`sks`) is a Codex CLI and Codex App harness for people who want parallel AI coding without losing proof. It gives Codex a simple front door, a dynamic worker swarm, a local dashboard, TriWiki project memory, and release gates that separate machine evidence from LLM opinion.
|
|
135
16
|
|
|
136
|
-
|
|
17
|
+
Current release: `5.3.0`.
|
|
137
18
|
|
|
138
|
-
|
|
139
|
-
<summary><b>Memory & learning</b> — TriWiki, wrongness memory, fixtures</summary>
|
|
140
|
-
|
|
141
|
-
- TriWiki Wrongness Memory: [docs/triwiki-wrongness-memory.md](docs/triwiki-wrongness-memory.md)
|
|
142
|
-
- Shared TriWiki: [docs/shared-triwiki.md](docs/shared-triwiki.md)
|
|
143
|
-
- Shared Wrongness Memory: [docs/shared-wrongness-memory.md](docs/shared-wrongness-memory.md)
|
|
144
|
-
- Wrongness Learning Loop: [docs/wrongness-learning-loop.md](docs/wrongness-learning-loop.md)
|
|
145
|
-
- Image Voxel TriWiki: [docs/image-voxel-ledger.md](docs/image-voxel-ledger.md)
|
|
146
|
-
- Image Wrongness: [docs/image-wrongness.md](docs/image-wrongness.md)
|
|
147
|
-
- Feature fixtures: [docs/feature-fixtures.md](docs/feature-fixtures.md)
|
|
148
|
-
|
|
149
|
-
</details>
|
|
150
|
-
|
|
151
|
-
<details>
|
|
152
|
-
<summary><b>Codex integration</b> — App, CLI compat, codex-lb, hooks</summary>
|
|
153
|
-
|
|
154
|
-
- Codex App: [docs/codex-app.md](docs/codex-app.md)
|
|
155
|
-
- Codex CLI compatibility: [docs/codex-cli-compat.md](docs/codex-cli-compat.md)
|
|
156
|
-
- Codex official Goal mode: [docs/codex-official-goal-mode.md](docs/codex-official-goal-mode.md)
|
|
157
|
-
- Codex App Hooks/PAT: [docs/hooks-pat.md](docs/hooks-pat.md)
|
|
158
|
-
- codex-lb: [docs/codex-lb.md](docs/codex-lb.md)
|
|
159
|
-
- Source Intelligence Layer: [docs/source-intelligence-layer.md](docs/source-intelligence-layer.md)
|
|
160
|
-
- InsaneSearch / Context7 / Codex Web policy: [docs/ultra-search-source-intelligence-policy.md](docs/ultra-search-source-intelligence-policy.md)
|
|
161
|
-
- Main no-Scout / worker Scout policy: [docs/main-no-scout-worker-scout-policy.md](docs/main-no-scout-worker-scout-policy.md)
|
|
162
|
-
- Real Codex dynamic smoke: [docs/real-codex-dynamic-smoke.md](docs/real-codex-dynamic-smoke.md)
|
|
163
|
-
- Appshots pipeline: [docs/appshots-pipeline.md](docs/appshots-pipeline.md)
|
|
164
|
-
- Appshots thread attachments: [docs/appshots-thread-attachments.md](docs/appshots-thread-attachments.md)
|
|
165
|
-
- Fast mode default and `$Fast-On`/`$Fast-Off` toggles: [docs/fast-mode-default.md](docs/fast-mode-default.md)
|
|
166
|
-
|
|
167
|
-
</details>
|
|
168
|
-
|
|
169
|
-
<details>
|
|
170
|
-
<summary><b>Git & collaboration</b></summary>
|
|
171
|
-
|
|
172
|
-
- Git collaboration: [docs/git-collaboration.md](docs/git-collaboration.md)
|
|
173
|
-
- Git hygiene: [docs/git-hygiene.md](docs/git-hygiene.md)
|
|
174
|
-
- Git policy: [docs/git-policy.md](docs/git-policy.md)
|
|
175
|
-
|
|
176
|
-
</details>
|
|
177
|
-
|
|
178
|
-
<details>
|
|
179
|
-
<summary><b>Quality & release</b> — gates, E2E, migrations, gaps</summary>
|
|
180
|
-
|
|
181
|
-
- Release readiness: [docs/release-readiness.md](docs/release-readiness.md)
|
|
182
|
-
- Release parallel full coverage: [docs/release-parallel-full-coverage.md](docs/release-parallel-full-coverage.md)
|
|
183
|
-
- Priority closure P0-P4: [docs/priority-closure-p0-p4.md](docs/priority-closure-p0-p4.md)
|
|
184
|
-
- Black-box package tests: [docs/black-box-package-tests.md](docs/black-box-package-tests.md)
|
|
185
|
-
- Hermetic E2E: [docs/testing-hermetic-e2e.md](docs/testing-hermetic-e2e.md)
|
|
186
|
-
- Rollback: [docs/rollback.md](docs/rollback.md)
|
|
187
|
-
- Known gaps: [docs/known-gaps.md](docs/known-gaps.md)
|
|
188
|
-
- Migration 1.18.7 to 1.18.8: [docs/migration-1.18.7-to-1.18.8.md](docs/migration-1.18.7-to-1.18.8.md)
|
|
189
|
-
|
|
190
|
-
</details>
|
|
191
|
-
|
|
192
|
-
## ⚡ 60-Second Start
|
|
193
|
-
|
|
194
|
-
Recommended install: use the global npm package so `sks` and the Codex App `$` skills are refreshed together.
|
|
19
|
+
## Install
|
|
195
20
|
|
|
196
21
|
```sh
|
|
197
|
-
|
|
198
|
-
sks root
|
|
199
|
-
sks doctor
|
|
200
|
-
sks status
|
|
201
|
-
sks trust report latest
|
|
202
|
-
sks wrongness validate project --json
|
|
203
|
-
sks git doctor --json
|
|
204
|
-
sks codex compatibility --json
|
|
205
|
-
sks hooks warning-check --json
|
|
206
|
-
sks codex-app check
|
|
207
|
-
sks selftest --mock
|
|
208
|
-
sks rust smoke --json
|
|
22
|
+
npx sneakoscope install --yes
|
|
209
23
|
```
|
|
210
24
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
1. Completion Proof for every serious route
|
|
214
|
-
2. Image Voxel TriWiki anchors and relations for every visual route
|
|
215
|
-
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
|
|
25
|
+
That one line installs/repairs the global package, runs `sks doctor --fix`, and leaves the Codex App surface ready. The plugin marketplace path is also prepared through `plugins/sks/.codex-plugin/plugin.json`.
|
|
216
26
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
Recommended path:
|
|
27
|
+
For package-managed installs:
|
|
220
28
|
|
|
221
29
|
```sh
|
|
222
30
|
npm i -g sneakoscope
|
|
223
|
-
sks root
|
|
224
|
-
sks doctor
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
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.
|
|
228
|
-
|
|
229
|
-
One-shot run without keeping a global install:
|
|
230
|
-
|
|
231
|
-
```sh
|
|
232
|
-
npx -y -p sneakoscope sks root
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
Project-pinned install:
|
|
236
|
-
|
|
237
|
-
```sh
|
|
238
|
-
npm i -D sneakoscope
|
|
239
|
-
npx sks setup --install-scope project
|
|
240
|
-
```
|
|
241
|
-
|
|
242
|
-
Source checkout for developing Sneakoscope itself:
|
|
243
|
-
|
|
244
|
-
```sh
|
|
245
|
-
git clone https://github.com/mandarange/Sneakoscope-Codex.git
|
|
246
|
-
cd Sneakoscope-Codex
|
|
247
|
-
npm install
|
|
248
|
-
npm install -g .
|
|
249
|
-
sks --version
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Install health checks:
|
|
253
|
-
|
|
254
|
-
```sh
|
|
255
|
-
sks deps check
|
|
256
|
-
sks codex-app check
|
|
257
|
-
sks dollar-commands
|
|
258
|
-
sks commit --json
|
|
259
|
-
sks selftest --mock
|
|
260
|
-
```
|
|
261
|
-
|
|
262
|
-
## 🎁 What Sneakoscope Adds
|
|
263
|
-
|
|
264
|
-
`sks` adds a Zellij-backed Codex CLI runtime, Codex App `$` commands, Codex Native broker routing, Team/QA/PPT/Research/DB/GX/Wiki routes, Context7-gated current docs, TriWiki context packs, DB safety, design SSOT policy, skill dreaming, release checks, and Honest Mode.
|
|
265
|
-
|
|
266
|
-
## Report-Only Planning Surfaces
|
|
267
|
-
|
|
268
|
-
Decision Lattice and RecallPulse remain report-only planning and evidence surfaces. They can explain route choices and proof-debt signals, but SKS does not claim speedup, fast-lane accuracy, or reduced verification cost from them until scored evals prove those outcomes.
|
|
269
|
-
|
|
270
|
-
Useful checks:
|
|
271
|
-
|
|
272
|
-
```bash
|
|
273
|
-
sks proof-field scan --json --intent "small CLI change"
|
|
274
|
-
sks pipeline plan latest --proof-field --json
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
## Requirements
|
|
278
|
-
|
|
279
|
-
- Node.js `>=20.11`
|
|
280
|
-
- npm
|
|
281
|
-
- Codex CLI for terminal workflows
|
|
282
|
-
- Codex App for app-facing workflows, including Codex Computer Use and `$imagegen`/`gpt-image-2` evidence when required
|
|
283
|
-
- Zellij for `sks --mad` and interactive lane UI
|
|
284
|
-
- Context7 MCP for current-docs-gated routes
|
|
285
|
-
|
|
286
|
-
Install Zellij from [zellij.dev](https://zellij.dev/documentation/installation.html). On macOS, Homebrew users can also install it with:
|
|
287
|
-
|
|
288
|
-
```sh
|
|
289
|
-
brew install zellij
|
|
290
|
-
```
|
|
291
|
-
|
|
292
|
-
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.
|
|
293
|
-
|
|
294
|
-
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`.
|
|
295
|
-
|
|
296
|
-
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`.
|
|
297
|
-
|
|
298
|
-
## 💻 Terminal CLI Usage
|
|
299
|
-
|
|
300
|
-
Use terminal commands when you want to inspect, set up, verify, or start a CLI-first workspace.
|
|
301
|
-
|
|
302
|
-
### Discovery
|
|
303
|
-
|
|
304
|
-
```sh
|
|
305
|
-
sks commands
|
|
306
|
-
sks usage install
|
|
307
|
-
sks usage team
|
|
308
|
-
sks usage codex-app
|
|
309
|
-
sks dollar-commands
|
|
310
|
-
sks --version
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
### Setup And Repair
|
|
314
|
-
|
|
315
|
-
```sh
|
|
316
|
-
sks bootstrap
|
|
317
|
-
sks deps check --yes
|
|
318
|
-
sks codex-app check
|
|
319
31
|
sks doctor --fix
|
|
320
|
-
sks fix-path
|
|
321
|
-
sks update
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
`sks doctor --fix` repairs stale SKS-managed Codex TOML, agent role `config_file` paths, and unsupported managed role fields. It now dedupes repeated TOML tables before repair, keeps the first existing external MCP block such as `context7` or `supabase` unchanged, and only removes/repairs SKS-owned stale MCP blocks such as broken `node_repl`.
|
|
325
|
-
|
|
326
|
-
### Open Codex CLI With Zellij
|
|
327
|
-
|
|
328
|
-
```sh
|
|
329
|
-
sks
|
|
330
|
-
sks --mad
|
|
331
|
-
sks zellij status
|
|
332
|
-
sks naruto dashboard latest
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
Interactive SKS sessions use Zellij layouts. By default SKS launches Codex in Fast service tier with `--model gpt-5.5`, `-c service_tier="fast"`, the selected `model_reasoning_effort`, and `--no-alt-screen` for Zellij-backed interactive panes so terminal scrollback captures the conversation transcript. Non-GLM SKS sessions force the model to `gpt-5.5`, while the model guard also recognizes `gpt-5.4-mini` as a supported GPT-5.4 mini model; `sks --mad --glm` is the OpenRouter GLM 5.2 exception. `SKS_CODEX_MODEL` and `SKS_CODEX_FAST_HIGH=0` cannot downgrade or remove the non-GLM model pin. You can still set `SKS_CODEX_REASONING` to change reasoning effort, and `SKS_ZELLIJ_CODEX_ALT_SCREEN=1` restores Codex's alternate-screen UI for the next launch. Use `sks --mad --workspace <name>` for an explicit MAD session and `sks help` for CLI help.
|
|
336
|
-
|
|
337
|
-
Before opening the interactive runtime, SKS checks the installed Codex CLI against npm `@openai/codex@latest`. If a newer version exists, it asks `Y/n`; answering `y` updates automatically with `npm i -g @openai/codex@latest` and then opens the runtime with the updated Codex CLI.
|
|
338
|
-
|
|
339
|
-
For [codex-lb](https://github.com/Soju06/codex-lb), start the server, create a dashboard API key, then run:
|
|
340
|
-
|
|
341
|
-
```sh
|
|
342
|
-
sks codex-lb setup --host https://your-codex-lb.example.com --api-key "sk-clb-..."
|
|
343
|
-
sks codex-lb setup --host https://your-codex-lb.example.com --api-key-stdin --yes
|
|
344
|
-
sks codex-lb health
|
|
345
|
-
sks codex-lb repair
|
|
346
|
-
sks
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
Bare `sks` can also prompt for codex-lb auth; SKS stores the base URL/key in `~/.codex/sks-codex-lb.env`, writes the codex-lb Codex CLI / IDE Extension provider block into `~/.codex/config.toml` for Codex App routing, loads the provider key for setup/repair, and syncs the macOS user launch environment so the Codex App can see `CODEX_LB_API_KEY` after restart. If the provider block disappears but the stored env file is still recoverable, bare `sks`, npm postinstall upgrades, `sks doctor --fix`, and `sks codex-lb repair` restore it with `name = "openai"`, `env_key = "CODEX_LB_API_KEY"`, `supports_websockets = true`, and `requires_openai_auth = true`; `sks codex-lb use-codex-lb` switches Codex App auth to the codex-lb API key and forces Fast request intent, while `sks codex-lb use-oauth` restores the ChatGPT OAuth backup and unselects codex-lb. Imagegen checks may record this provider as configured codex-lb routing, but it is not accepted as official Codex App `$imagegen` evidence. If an older SKS release left the codex-lb dashboard key only in the shared Codex `auth.json` login cache, SKS migrates that key back into `~/.codex/sks-codex-lb.env` when a codex-lb provider or env base URL is already recoverable. When codex-lb is active, SKS opens a fresh `sks-codex-lb-*` Zellij session and sweeps older detached codex-lb sessions for the same repo before launch so stale Responses API chains are not reused. Configured launch paths run a response-chain health check. `previous_response_not_found` is treated as a stateless-LB warning and keeps codex-lb active. Hard failures are surfaced to the user; SKS only bypasses codex-lb when the user chooses OAuth fallback or `SKS_CODEX_LB_AUTOBYPASS=1` is set. `sks codex-lb fast-check` sends `service_tier=priority` and fails unless codex-lb evidence shows priority was actually requested and granted.
|
|
350
|
-
|
|
351
|
-
If codex-lb provider auth drifts after launch/reinstall, run `sks doctor --fix` or `sks codex-lb repair`. To **swap only the API key** at any time (without re-typing the host — it reuses the stored base URL), run:
|
|
352
|
-
|
|
353
|
-
```sh
|
|
354
|
-
sks codex-lb set-key --api-key-stdin # or: sks codex-lb set-key --api-key "sk-clb-..."
|
|
355
|
-
```
|
|
356
|
-
|
|
357
|
-
(To also change the host, use `sks codex-lb reconfigure --host <domain> --api-key <key>`.)
|
|
358
|
-
|
|
359
|
-
For OpenRouter-backed GLM 5.2 in Codex Desktop/SKS, store the key and install the GLM provider/profiles with:
|
|
360
|
-
|
|
361
|
-
```sh
|
|
362
|
-
sks codex-app set-openrouter-key --api-key-stdin
|
|
363
|
-
sks codex-app glm-profile install
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
This writes the OpenRouter key to the SKS user secret store, writes redacted metadata only, and installs Codex Desktop-compatible `openrouter` provider plus selectable `sks-glm-52-*` reasoning profiles. The npm package does not patch the Codex Desktop macOS menu binary; a top-level menu between Window and Help requires upstream Codex Desktop UI support. On macOS, `sks doctor --fix` installs or refreshes a right-side `SKS` menu bar companion with codex-lb, ChatGPT OAuth, OpenRouter/GLM, Fast Check, SKS Version Check, Update SKS Now, settings, and Codex restart actions.
|
|
367
|
-
|
|
368
|
-
### Switching auth mode: codex-lb ↔ ChatGPT OAuth
|
|
369
|
-
|
|
370
|
-
Switch between the codex-lb API key and your ChatGPT OAuth login at any time with intent-named commands:
|
|
371
|
-
|
|
372
|
-
```sh
|
|
373
|
-
sks codex-lb use-oauth # hand control back to ChatGPT OAuth
|
|
374
|
-
sks codex-lb use-codex-lb # switch back to the codex-lb API key
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
`use-oauth` restores `~/.codex/auth.chatgpt-backup.json` (written by auto-reconcile) to `~/.codex/auth.json` and unsets `model_provider = "codex-lb"` so Codex CLI/App falls back to ChatGPT OAuth; if no saved OAuth login exists it points you to `codex login`. `use-codex-lb` re-selects codex-lb, writes the codex-lb API key into Codex's OpenAI-style `auth.json`, forces the Fast request config, and restarts Codex App on macOS unless `--no-restart-app` is passed. (The older verbs `sks codex-lb release` / `repair` remain as aliases.)
|
|
378
|
-
|
|
379
|
-
Flags:
|
|
380
|
-
|
|
381
|
-
- `--keep-provider` — restore `auth.json` only; leave `model_provider = "codex-lb"` selected (advanced use).
|
|
382
|
-
- `--delete-backup` — remove `~/.codex/auth.chatgpt-backup.json` after a successful restore. Default is to keep it so a subsequent re-reconcile still has a source backup.
|
|
383
|
-
- `--force` — restore even when the current `auth.json` does not look like the codex-lb apikey shape (e.g. if you hand-edited it after reconcile).
|
|
384
|
-
- `--json` — machine-readable output with `status` ∈ {`released`, `no_backup`, `already_chatgpt`, `auth_in_use`, `failed`} plus `auth_path`, `backup_path`, `provider_unselected`, `backup_removed`.
|
|
385
|
-
|
|
386
|
-
`sks codex-lb status` reports whether a ChatGPT OAuth backup is present and shows the `sks codex-lb release` hint when applicable. `sks doctor` surfaces the same hint.
|
|
387
|
-
|
|
388
|
-
If Codex App shows `access token could not be refreshed` after codex-lb setup or status checks, recover the ChatGPT OAuth side without discarding codex-lb: run `sks codex-lb status`, then `sks codex-lb repair`. Repair restores a ChatGPT OAuth backup when one exists while keeping `model_provider = "codex-lb"` selected and the codex-lb key in `CODEX_LB_API_KEY`. If no OAuth backup exists, sign in again in Codex App/CLI, then rerun `sks codex-lb repair`. Use `sks codex-lb release` only when you want to switch fully away from codex-lb.
|
|
389
|
-
|
|
390
|
-
If you only want to stop routing through codex-lb without touching `auth.json`, use the lighter `sks codex-lb unselect` instead:
|
|
391
|
-
|
|
392
|
-
```sh
|
|
393
|
-
sks codex-lb unselect
|
|
394
|
-
```
|
|
395
|
-
|
|
396
|
-
This flips `model_provider` away from `codex-lb` in the top-level Codex App config while leaving your `sks-codex-lb.env` and `auth.json` untouched, so you can re-engage codex-lb later with `sks codex-lb repair` without re-running setup.
|
|
397
|
-
|
|
398
|
-
### MAD Zellij Launch
|
|
399
|
-
|
|
400
|
-
```sh
|
|
401
|
-
sks --mad
|
|
402
|
-
sks --mad --allow-package-install --allow-service-control --allow-network --yes
|
|
403
32
|
```
|
|
404
33
|
|
|
405
|
-
|
|
34
|
+
## The Front Door
|
|
406
35
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
### Naruto Missions
|
|
410
|
-
|
|
411
|
-
```sh
|
|
412
|
-
sks naruto run "implement this feature"
|
|
413
|
-
sks naruto run "wide refactor" --clones 12
|
|
414
|
-
sks naruto run "max native fan-out" --clones 50 --work-items 50
|
|
415
|
-
sks team watch latest
|
|
416
|
-
sks team lane latest --agent native_agent_1 --follow
|
|
417
|
-
sks team message latest --from native_agent_1 --to executor_1 --message "handoff note"
|
|
418
|
-
sks team cleanup-zellij latest
|
|
419
|
-
sks team status latest
|
|
420
|
-
sks team dashboard latest
|
|
421
|
-
sks team log latest
|
|
422
|
-
```
|
|
423
|
-
|
|
424
|
-
Naruto is the execution SSOT for new wide work. `sks team "<task>"` remains a deprecated compatibility alias that redirects to Naruto and writes `team-alias-to-naruto.json`; `sks team watch`, `sks team lane`, `sks team message`, and `sks team cleanup-zellij` remain read-only/cleanup observation helpers for old Team missions.
|
|
425
|
-
|
|
426
|
-
### Native Multi-Session Agents
|
|
427
|
-
|
|
428
|
-
```sh
|
|
429
|
-
sks agent run "map the risky files" --mock --json
|
|
430
|
-
sks agent run "wide release audit" --route '$Release-Review' --agents 10 --concurrency 5 --mock --json
|
|
431
|
-
sks agent run "real one-agent smoke" --backend codex-sdk --real --agents 1 --concurrency 1 --json
|
|
432
|
-
```
|
|
433
|
-
|
|
434
|
-
Defaults are intentionally bounded but not subagent-limited: 5 agents by default, maximum 20 native CLI worker sessions, and a separate `--concurrency` cap. When enough work exists, `--agents 10 --concurrency 10` and `--agents 20 --concurrency 20` must create 10 or 20 independent child processes using `node dist/bin/sks.js --agent worker --intake <worker-intake.json> --json`. The parent orchestrator writes `agents/agent-roster.json`, `agents/agent-effort-policy.json`, `agents/agent-task-board.json`, `agents/agent-leases.json`, `agents/agent-no-overlap-proof.json`, `agents/agent-native-cli-session-swarm.json`, `agents/native-cli-session-proof.json`, `agents/no-subagent-scaling-policy.json`, `agents/fast-mode-propagation-proof.json`, `agents/agent-cleanup.json`, and `agents/agent-proof-evidence.json` under the mission.
|
|
435
|
-
|
|
436
|
-
Native worker sessions write independent artifact directories under `agents/sessions/<slot>/gen-<n>/worker/`, including heartbeat, process report, close report, patch envelope or no-patch reason, recursion guard, and Fast mode proof. Codex internal subagent/scout events may be cockpit evidence, but they are never counted as SKS worker sessions.
|
|
437
|
-
|
|
438
|
-
Manual fan-out syntax:
|
|
439
|
-
|
|
440
|
-
- Direct agent route: `sks agent run "<task>" --agents 8 --concurrency 4 --mock --json`
|
|
441
|
-
- Naruto prompt fan-out: `$Naruto <task> --clones 8`
|
|
442
|
-
- Deprecated Team alias: `sks team "<task>" --clones 8`
|
|
443
|
-
|
|
444
|
-
Effort and model tier are assigned per agent. Managed native agents use bounded workspace-write TOML profiles, but every write still needs an assigned lease, non-overlap proof, and parent-owned integration. When the main model is GPT, simple bounded code/docs slices can downshift to `gpt-5.4-mini`, ordinary tool/lease work uses `gpt-5.5` with low model reasoning, and safety/DB/schema/release lanes use `gpt-5.5` with high model reasoning. When the main model is GLM, native workers stay locked to `z-ai/glm-5.2` and receive GLM effort tiers (`minimal`, `low`, `high`, or `xhigh`) instead of falling back to GPT. If a lease conflict, schema failure, proof blocker, DB risk, or release risk appears, the parent can escalate that lane while keeping unrelated lanes cheaper and faster.
|
|
445
|
-
|
|
446
|
-
### Naruto Massive Parallel Work Swarm (`$Naruto`)
|
|
447
|
-
|
|
448
|
-
`$Naruto` (影分身 / Kage Bunshin no Jutsu) is the hardware-safe massive parallel work mode of the native agent kernel. It is not limited to validation. A Naruto run builds a mixed work graph, keeps a safe active worker pool full, and assigns clones to implementation, modification, test generation, verification, research, documentation, conflict resolution, rollback planning, integration support, and GPT final review input work. It lifts the standard 20-agent ceiling to **up to 100 total clone generations** for this route while keeping active workers under the live hardware, lease, memory, terminal UI, file descriptor, local LLM, and remote API caps.
|
|
449
|
-
|
|
450
|
-
```sh
|
|
451
|
-
sks naruto run "sweep the codebase for TODO comments and summarize"
|
|
452
|
-
sks naruto run "draft a unit test for every module" --clones 100
|
|
453
|
-
sks naruto run "demo" --clones 24 --backend fake --json # fast, no Codex calls
|
|
454
|
-
sks naruto status
|
|
455
|
-
```
|
|
456
|
-
|
|
457
|
-
Aliases: `$ShadowClone`, `$Kagebunshin`, and the CLI flag `sks --naruto`.
|
|
458
|
-
|
|
459
|
-
- **Hardware-safe governor:** `--clones N` is the total work fan-out, but `$Naruto` never spawns the whole count at once. Live concurrency is throttled by current load, memory, file descriptors, Zellij pane budget, local LLM request budget, remote API budget, disk pressure, pending queue, and active lease conflicts.
|
|
460
|
-
- **Dynamic active pool:** completed workers are drained and replaced while runnable work remains, so the active pool does not sit empty between generations.
|
|
461
|
-
- **Dynamic per-clone effort (like Team):** truly simple / no-tool work runs at `low`, any tool use lifts a clone to `medium` (never high/xhigh), and every clone runs in fast service tier.
|
|
462
|
-
- **Safe parallel writes:** write-capable clones produce patch envelopes for leased files. Non-overlapping envelopes can apply in parallel; overlapping envelopes serialize or route to conflict resolution. Local worker output remains a draft until the GPT final arbiter approves or modifies it.
|
|
463
|
-
- **Massive UI without pane overload:** Zellij shows visible active worker panes up to the UI cap and tracks the remaining active headless workers in the Naruto dashboard.
|
|
464
|
-
|
|
465
|
-
See [docs/naruto.md](docs/naruto.md) for the full reference.
|
|
466
|
-
|
|
467
|
-
### QA, Computer Use, Goal, Research, DB, Wiki, GX
|
|
468
|
-
|
|
469
|
-
```sh
|
|
470
|
-
sks qa-loop prepare "http://localhost:3000"
|
|
471
|
-
sks qa-loop run latest --max-cycles 2
|
|
472
|
-
sks codex-app chrome-extension --json
|
|
473
|
-
sks goal create "persist this migration workflow"
|
|
474
|
-
sks research prepare "evaluate this approach"
|
|
475
|
-
sks research run latest --max-cycles 12 --cycle-timeout-minutes 120
|
|
476
|
-
sks research status latest
|
|
477
|
-
sks recallpulse run latest
|
|
478
|
-
sks recallpulse status latest --json
|
|
479
|
-
sks recallpulse governance latest --json
|
|
480
|
-
sks recallpulse checklist latest --json
|
|
481
|
-
sks db scan --json
|
|
482
|
-
sks wiki refresh
|
|
483
|
-
sks wiki sweep latest --json
|
|
484
|
-
sks wiki validate .sneakoscope/wiki/context-pack.json
|
|
485
|
-
sks harness fixture --json
|
|
486
|
-
sks gx init homepage
|
|
487
|
-
sks gx render homepage --format html
|
|
488
|
-
sks validate-artifacts latest --json
|
|
489
|
-
sks pipeline plan latest --proof-field --json
|
|
490
|
-
sks perf run --json
|
|
491
|
-
sks perf workflow --json --intent "small CLI change" --changed src/cli/main.ts,src/core/routes.ts
|
|
492
|
-
sks proof-field scan --json --intent "small CLI change"
|
|
493
|
-
sks skill-dream status
|
|
494
|
-
sks skill-dream run --json
|
|
495
|
-
sks code-structure scan --json
|
|
496
|
-
```
|
|
497
|
-
|
|
498
|
-
`sks research` prepares a named genius-lens agent council, requires every agent to run at `xhigh`, records one literal `Eureka!` idea per agent, runs an evidence-bound debate, and creates `research-source-skill.md` as a route-local source collection skill before synthesis. Research is not a code-change route: real runs may write only their own mission artifacts under `.sneakoscope/missions/<id>/`, and source/package/docs/config mutations block the run with `research-code-mutation-blocker.json`. The required Research persona lenses are Einstein Agent, Feynman Agent, Turing Agent, von Neumann Agent, and Skeptic Agent; they are cognitive roles, not impersonations, and `agent-ledger.json` must include `display_name`, `persona`, `persona_boundary`, `reasoning_effort`, falsifiers, cheap probes, and `challenge_or_response`. Normal Research is not a fixed three-cycle flow: it repeats source gathering, Eureka ideas, debate, falsification, and synthesis pressure until every agent records final agreement, or pauses at the explicit max-cycle safety cap with an unpassed gate. `debate-ledger.json` must include `consensus_iterations`, `unanimous_consensus`, and per-agent agreements; `research-gate.json` cannot pass until unanimous consensus is true for all agents. Normal Research is intentionally allowed to take one or two hours when the problem needs it; `--mock` is only for selftests or dry harness checks, and a real run blocks with `research-blocker.json` instead of silently substituting mock output when the Codex execution path is unavailable. The source layer contract separates latest papers, official/government or leading-institution sources, standards/primary docs, current news such as BBC/CNN/GDELT-style sources, public discourse such as X/Reddit, developer/practitioner knowledge such as Stack Overflow/GitHub, traditional background sources, and counterevidence/fact-checking; `source-ledger.json` must record layer coverage, source quality, blockers, citations, and cross-layer triangulation. Context7 is optional for `$Research` and only becomes relevant when the research topic specifically depends on package, API, framework, or SDK documentation. Research runs require `research-report.md`, `research-paper.md`, `genius-opinion-summary.md`, `research-source-skill.md`, `source-ledger.json`, `agent-ledger.json`, `debate-ledger.json`, `novelty-ledger.json`, `falsification-ledger.json`, and `research-gate.json` so they stay source-backed, adversarially checked, falsifiable, paper-ready, and clear about every agent lens opinion. `research status` reports source entries, source-layer coverage, triangulation checks, counterevidence, xhigh agent count, Eureka moments, debate exchanges, consensus iterations, unanimous consensus, paper presence/sections, genius-opinion summary coverage, agent findings, and falsification cases alongside the gate.
|
|
499
|
-
|
|
500
|
-
In 2.0.15, Research also writes a quality contract and handoff package: `research-quality-contract.json`, parallel `research/cycle-N/source-shards/*.json`, `source-ledger.json`, `claim-evidence-matrix.json`, `source-quality-report.json`, `research-synthesis-output.json`, `implementation-blueprint.json`/`.md`, `team-handoff-goal.md`, `experiment-plan.json`/`.md`, `replication-pack.json`, `research-work-graph.json`, `research-final-review.static.json`, `research-final-review.codex.json`, and `research-final-review.json`. The default gate requires 12 total sources, 5 source layers, 2 counterevidence sources, 8 key claims, 6 triangulated claims, 8 blueprint sections, 4 falsification cases, 5 experiment steps, a 2200-word report, approved static plus Codex/GPT final review, and anti-template/source-density report quality before `research-gate.json` can pass. See `docs/research-pipeline.md`, `docs/research-artifacts.md`, and `docs/research-implementation-handoff.md`.
|
|
501
|
-
|
|
502
|
-
`sks recallpulse` is the 0.8.0 report-only RecallPulse utility. It writes `recallpulse-decision.json`, `mission-status-ledger.json`, `route-proof-capsule.json`, `evidence-envelope.json`, `recallpulse-governance-report.json`, `recallpulse-task-goal-ledger.json`, and `recallpulse-eval-report.json` for the current mission. RecallPulse does not replace route gates, Honest Mode, DB safety, imagegen evidence, or TriWiki validation; it records cache hits, hydration needs, duplicate suppression, route-governance risks, and final-summary-ready durable status so later releases can promote only measured improvements. Checklist updates are sequential: every `Txxx` row is treated as a child `$Goal` checkpoint, and `sks recallpulse checklist ... --task T001 --apply` refuses out-of-order checks unless explicitly overridden.
|
|
503
|
-
|
|
504
|
-
`sks pipeline plan` shows the active route lane, kept/skipped stages, verification commands, and no-unrequested-fallback invariant. The 0.9.0 Decision Lattice augments this planning surface with report-only A*/proof-debt evidence: frontier paths considered, the selected path, and rejected paths with rejection reasons. `sks proof-field scan` remains the lightweight rubric for small changes; risky or broad signals return to the full Team/Honest path, and no speedup claim is valid without replay or eval evidence.
|
|
505
|
-
|
|
506
|
-
### Ambiguity Questions
|
|
507
|
-
|
|
508
|
-
Clarification asks only for ambiguity that changes execution; predictable defaults are inferred and sealed. `sks skill-dream` records cheap counters and periodically writes advisory skill reports. `$Goal` controls native `/goal` persistence without replacing the selected execution route. Web, browser, localhost, website, webapp, and web-based app verification use the official Codex Chrome Extension path first; if it is not installed/enabled, SKS stops and asks the user to set it up before resuming. `$Computer-Use` / `$CU` is now reserved for native macOS, desktop-app, OS-settings, and non-web visual work.
|
|
509
|
-
|
|
510
|
-
### Create A Presentation
|
|
511
|
-
|
|
512
|
-
```text
|
|
513
|
-
$PPT create a customer proposal deck as HTML/PDF
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
`$PPT` seals presentation context before artifact work and grounds design in `design.md`, getdesign inputs, and source material. The route loads `imagegen`; when the sealed deck needs generated raster assets or generated slide visual critique, use Codex App `$imagegen`/`gpt-image-2` and record the real output path in the PPT image/review ledgers.
|
|
517
|
-
|
|
518
|
-
## 🧩 Codex App Usage
|
|
519
|
-
|
|
520
|
-
Sneakoscope has two surfaces:
|
|
521
|
-
|
|
522
|
-
- Terminal commands such as `sks deps check`, `sks naruto run "task"`, and `sks --mad`
|
|
523
|
-
- Codex App prompt commands such as `$Naruto`, `$DFix`, `$QA-LOOP`, and `$Wiki`
|
|
524
|
-
|
|
525
|
-
After installing, run:
|
|
526
|
-
|
|
527
|
-
```sh
|
|
528
|
-
sks bootstrap
|
|
529
|
-
sks codex-app check
|
|
530
|
-
sks codex-app chrome-extension --json
|
|
531
|
-
sks codex-app remote-control --status
|
|
532
|
-
sks dollar-commands
|
|
533
|
-
```
|
|
534
|
-
|
|
535
|
-
For headless remotely controllable Codex App/server sessions on Codex CLI 0.130.0 or newer, run:
|
|
536
|
-
|
|
537
|
-
```sh
|
|
538
|
-
sks codex-app remote-control -- --help
|
|
539
|
-
```
|
|
540
|
-
|
|
541
|
-
`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 the requested native SKS macOS menu is unsupported by the official Codex extension surface, whether GLM/OpenRouter model profiles and codex-lb key-entry actions are visible, 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.
|
|
542
|
-
|
|
543
|
-
For GLM in Codex Desktop, run `sks codex-app set-openrouter-key --api-key-stdin` and `sks codex-app glm-profile install`. This writes the OpenRouter provider and selectable GLM 5.2 profiles into `~/.codex/config.toml`: `sks-glm-52-mad`, `sks-glm-52-minimal`, `sks-glm-52-low`, `sks-glm-52-medium`, `sks-glm-52-high`, and `sks-glm-52-xhigh`. Each profile pins `model = "z-ai/glm-5.2"` and the matching `model_reasoning_effort`, so Desktop profile selection can choose both GLM and the reasoning level without editing TOML by hand.
|
|
544
|
-
|
|
545
|
-
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.
|
|
546
|
-
|
|
547
|
-
Imagegen is a core SKS capability, not a decorative add-on. `$Image-UX-Review`, `$UX-Review`, `$Visual-Review`, `$UI-UX-Review`, and PPT generated-review paths require real Codex App `$imagegen`/`gpt-image-2` output before full visual verification can pass. For newest-model image requests, prompts should say "Use ChatGPT Images 2.0 / GPT Image 2.0 with gpt-image-2" while still invoking Codex App `$imagegen` when live generation is needed. Use `imagegen-source-scout` when current official docs plus X/social prompt-workflow signals are needed; social sources are prompt heuristics only, not capability or evidence specs. `npm run imagegen:capability` checks that the official Codex App imagegen surface is visible and records that capability detection is not output proof; OpenAI API, Responses image-generation, codex-lb, or `CODEX_LB_API_KEY` fallbacks are non-Codex paths and do not satisfy Codex App generated-image evidence unless a separate API fallback task is explicitly requested. The README architecture asset uses the same rule: run `npm run imagegen:readme-architecture:prompt` to print/write the official prompt, generate the image in Codex App `$imagegen`, then rerun `npm run imagegen:readme-architecture -- --output <path>` after Codex App creates a real gpt-image-2 output. When exactly one current generated_images candidate exists after the prompt, `npm run imagegen:readme-architecture -- --auto-pick-latest` can select it automatically. To let the verifier wait while Codex App writes the file, use `npm run imagegen:readme-architecture -- --wait-ms <milliseconds>`; it still accepts only one current candidate under `$CODEX_HOME/generated_images`. Env forms such as `SKS_CODEX_APP_IMAGEGEN_OUTPUT=<path>` remain supported for automation. Use the selected file directly under `$CODEX_HOME/generated_images`; moved or copied files are not accepted as provenance evidence. Disabled or missing `image_generation` remains a blocker that `sks codex-app check`, `npm run imagegen:capability`, and selftest cover.
|
|
548
|
-
|
|
549
|
-
Then open Codex App and use prompt commands directly in the chat. Examples:
|
|
550
|
-
|
|
551
|
-
```text
|
|
552
|
-
$Team implement the checkout fix and verify it
|
|
553
|
-
$with-local-llm-on
|
|
554
|
-
$with-local-llm-off
|
|
555
|
-
$DFix change this label and spacing only
|
|
556
|
-
$QA-LOOP dogfood localhost:3000 and fix safe issues
|
|
557
|
-
$PPT create an investor deck as HTML/PDF
|
|
558
|
-
$UX-Review this screenshot with gpt-image-2 callouts, then fix the issues
|
|
559
|
-
$Goal persist this migration workflow with native /goal continuation
|
|
560
|
-
$Research investigate this mechanism with source-backed agent lenses
|
|
561
|
-
$Wiki refresh and validate the context pack
|
|
562
|
-
$DB inspect this migration for destructive risk
|
|
563
|
-
```
|
|
564
|
-
|
|
565
|
-
### Optional Local LLM Workers
|
|
566
|
-
|
|
567
|
-
Local model workers are off by default, so SKS stays GPT-only unless you explicitly enable them. Use the Codex App prompt commands:
|
|
568
|
-
|
|
569
|
-

|
|
570
|
-
|
|
571
|
-
```text
|
|
572
|
-
$with-local-llm-on
|
|
573
|
-
$with-local-llm-off
|
|
574
|
-
```
|
|
575
|
-
|
|
576
|
-
When enabled, SKS auto-detects an installed local model from a running MLX LM server, OpenAI-compatible local server, or Ollama. If no local model is available, activation stays blocked and reports that no local model was found. The local model can only help with policy-eligible simple code patch-envelope work or read-only collection. GPT/Codex still owns strategy, planning, design, review, verification, safety, and integration. Check or tune the machine-local setting from the terminal:
|
|
577
|
-
|
|
578
|
-
```sh
|
|
579
|
-
sks with-local-llm status --json
|
|
580
|
-
sks with-local-llm on
|
|
581
|
-
sks with-local-llm on --provider mlx-lm --model mlx-community/Qwen3.6-35B-A3B-4bit --base-url http://127.0.0.1:8080
|
|
582
|
-
sks with-local-llm on --provider ollama --model rafw007/qwen36-a3b-claude-coder:q4_K_M
|
|
583
|
-
sks with-local-llm off
|
|
584
|
-
```
|
|
585
|
-
|
|
586
|
-
Generated app files include:
|
|
587
|
-
|
|
588
|
-
| Path | Purpose |
|
|
36
|
+
| Command | What it does |
|
|
589
37
|
| --- | --- |
|
|
590
|
-
|
|
|
591
|
-
|
|
|
592
|
-
|
|
|
593
|
-
|
|
|
594
|
-
|
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
Use `sks dollar-commands` to confirm that terminal discovery and Codex App prompt commands agree.
|
|
599
|
-
|
|
600
|
-
SKS does not install Git pre-commit hooks. Release metadata is changed only by explicit commands such as `sks versioning bump`, and `sks versioning hook` is intentionally blocked so Codex App commit/push flows stay unobstructed.
|
|
38
|
+
| `$Plan "task"` | Planning only. Writes `.sneakoscope/plans/<slug>.md`; no code edits. |
|
|
39
|
+
| `$Work` | Executes the latest plan through evidence-gated SKS work. |
|
|
40
|
+
| `$Swarm "task"` | Runs the Naruto dynamic parallel swarm with machine verification. |
|
|
41
|
+
| `$Team "task"` | Deprecated v5 compatibility alias. New execution redirects to `$Naruto`; legacy Team observe/watch commands remain available for old missions. |
|
|
42
|
+
| `$MAD-SKS` / `sks mad-sks` | Single high-risk MAD route for scoped permission widening plus SQL-plane execution, including read-back proof and profile closure. |
|
|
43
|
+
| `$MAD-DB` / `sks mad-db` | Deprecated compatibility alias. Translates to `$MAD-SKS` sql-plane commands for one release. |
|
|
44
|
+
| `$Review` / `sks review --staged` | Reviews diffs with `evidence: machine` findings sorted above `evidence: llm`. |
|
|
45
|
+
| `sks ui` | Opens the local live dashboard at `http://127.0.0.1:4477`. |
|
|
601
46
|
|
|
602
|
-
|
|
47
|
+
## Why Not Just An LLM Reviewer?
|
|
603
48
|
|
|
604
|
-
|
|
49
|
+
| Question | Oracle-style LLM review | SKS gate/review |
|
|
50
|
+
| --- | --- | --- |
|
|
51
|
+
| Did tests/typecheck fail? | Another model may say so. | Machine check output is tagged `evidence: machine`. |
|
|
52
|
+
| Are findings ranked? | Usually one blended opinion. | Machine evidence sorts before LLM findings. |
|
|
53
|
+
| Can work stop? | The model decides. | Stop gates, Completion Proof, and Honest Mode decide. |
|
|
54
|
+
| Can I watch the swarm? | Usually no runtime UI. | Zellij panes plus `sks ui` SSE dashboard. |
|
|
605
55
|
|
|
606
|
-
|
|
607
|
-
sks codex-native status --json
|
|
608
|
-
sks codex-native invocation-plan --route Loop --capability agent-role --json
|
|
609
|
-
sks codex-native init-deep --apply --directory-local --json
|
|
610
|
-
```
|
|
611
|
-
|
|
612
|
-
The broker records Codex-native feature availability, invocation defaults, neutral pattern evidence, and managed memory setup to drive routing decisions.
|
|
613
|
-
|
|
614
|
-
## 💬 Prompt `$` Commands
|
|
615
|
-
|
|
616
|
-
Use these inside Codex App or another agent prompt. They are prompt commands, not terminal commands.
|
|
617
|
-
|
|
618
|
-
Common prompts: `$Team`, `$From-Chat-IMG`, `$with-local-llm-on`, `$with-local-llm-off`, `$DFix`, `$Answer`, `$SKS`, `$QA-LOOP`, `$PPT`, `$Computer-Use`/`$CU`, `$Goal`, `$Research`, `$AutoResearch`, `$DB`, `$MAD-SKS`, `$MAD-DB`, `$GX`, `$Wiki`, and `$Help`.
|
|
619
|
-
|
|
620
|
-
`$MAD-DB` is the first-class MadDB SQL-plane execution route. `sks mad-db run|exec|apply-migration` creates the bound mission/capability/runtime profile, verifies Supabase `execute_sql` and `apply_migration`, executes the requested SQL-plane mutation, reads back postconditions, and then closes the write profile while proving normal read-only restoration. Supabase project/account/billing/credential control-plane actions remain denied. See `docs/mad-db.md`.
|
|
621
|
-
|
|
622
|
-
## 🔁 Common Workflows
|
|
623
|
-
|
|
624
|
-
First install:
|
|
625
|
-
|
|
626
|
-
```sh
|
|
627
|
-
npm i -g sneakoscope
|
|
628
|
-
sks bootstrap
|
|
629
|
-
sks deps check --yes
|
|
630
|
-
sks codex-app check
|
|
631
|
-
sks selftest --mock
|
|
632
|
-
```
|
|
633
|
-
|
|
634
|
-
Start a CLI workspace:
|
|
635
|
-
|
|
636
|
-
```sh
|
|
637
|
-
sks --mad
|
|
638
|
-
sks
|
|
639
|
-
# or: sks --mad
|
|
640
|
-
```
|
|
641
|
-
|
|
642
|
-
Use Codex App routes with `$Team`, `$with-local-llm-on`/`$with-local-llm-off`, `$DFix`, `$QA-LOOP`, `$PPT`, `$Goal`, `$Wiki`, and `$DB`. Team missions write artifacts under `.sneakoscope/missions/`; validate them with `sks validate-artifacts latest`.
|
|
643
|
-
|
|
644
|
-
Refresh context before risky work:
|
|
645
|
-
|
|
646
|
-
```sh
|
|
647
|
-
sks wiki refresh
|
|
648
|
-
sks wiki validate .sneakoscope/wiki/context-pack.json
|
|
649
|
-
```
|
|
650
|
-
|
|
651
|
-
## 🛡️ Safety Model
|
|
652
|
-
|
|
653
|
-
Sneakoscope intentionally treats these as high-risk:
|
|
654
|
-
|
|
655
|
-
- SQL and migrations
|
|
656
|
-
- Supabase MCP and RLS changes
|
|
657
|
-
- destructive filesystem operations
|
|
658
|
-
- user-global harness config
|
|
659
|
-
- published package/release state
|
|
660
|
-
|
|
661
|
-
By default, SKS favors inspection, local files, branch-safe changes, explicit confirmation for destructive DB operations, and completion claims backed by tests or artifacts.
|
|
662
|
-
|
|
663
|
-
## 🔧 Troubleshooting
|
|
664
|
-
|
|
665
|
-
### `sks` points to an old version
|
|
666
|
-
|
|
667
|
-
```sh
|
|
668
|
-
which -a sks
|
|
669
|
-
sks --version
|
|
670
|
-
node ./dist/bin/sks.js --version
|
|
671
|
-
npm ls -g sneakoscope --depth=0
|
|
672
|
-
npm install -g .
|
|
673
|
-
sks doctor --fix
|
|
674
|
-
```
|
|
675
|
-
|
|
676
|
-
If PATH or npm has duplicate global installs, `sks doctor --fix` keeps one global npm install, removes duplicate global `sneakoscope` installs, and clears the npm cache so old downloaded package versions do not accumulate. The Sneakoscope source checkout is exempt so local development files are not removed.
|
|
677
|
-
|
|
678
|
-
### SKS keeps asking to update after a global update
|
|
56
|
+
## Dashboard
|
|
679
57
|
|
|
680
|
-
|
|
681
|
-
sks update-check --json
|
|
682
|
-
sks update
|
|
683
|
-
npm ls -g sneakoscope --depth=0
|
|
684
|
-
sks doctor --fix
|
|
685
|
-
```
|
|
686
|
-
|
|
687
|
-
CLI update checks compare npm latest against the effective installed version from source metadata, PATH `sks --version`, and global npm package metadata. Codex App hooks do not force update choices during ordinary work. Bare `sks update` checks npm latest and installs through npm global mode instead of mutating the current project's dependencies; `sks update check` is the status-only form, and `sks update now` remains an explicit alias. Successful/current update runs also install or refresh the macOS right-side `SKS` menu bar companion so it is already visible when Codex App is opened. 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.
|
|
688
|
-
|
|
689
|
-
### Zellij is missing
|
|
690
|
-
|
|
691
|
-
```sh
|
|
692
|
-
brew install zellij
|
|
693
|
-
npm run zellij:capability
|
|
694
|
-
```
|
|
695
|
-
|
|
696
|
-
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`.
|
|
697
|
-
|
|
698
|
-
### Zellij copy or right lanes feel wrong
|
|
699
|
-
|
|
700
|
-
```sh
|
|
701
|
-
sks naruto dashboard latest
|
|
702
|
-
sks zellij status
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
Conversation scrollback is preserved by Codex `--no-alt-screen`, and SKS launches Zellij with `mouse_mode=true` by default so trackpad/wheel gestures route to pane scrollback instead of the focused prompt input history. Copy still uses Zellij clipboard integration (`copy_command=pbcopy`, `copy_on_select=true`); hold Shift for terminal-native selection, or launch with `SKS_ZELLIJ_MOUSE_MODE=0` if native drag selection matters more than hover-pane scrolling. 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`.
|
|
706
|
-
|
|
707
|
-
### Codex App tools are missing
|
|
708
|
-
|
|
709
|
-
```sh
|
|
710
|
-
sks codex-app check
|
|
711
|
-
codex mcp list
|
|
712
|
-
```
|
|
713
|
-
|
|
714
|
-
Codex App workflows need the app installed. Web/browser evidence requires the Codex Chrome Extension path, native Mac/non-web visual evidence requires first-party Codex Computer Use, and generated raster/image-review evidence requires real `$imagegen`/`gpt-image-2` output. After setup/upgrade, start a fresh thread so Codex reloads plugin tools.
|
|
58
|
+
`sks ui` serves a dependency-free localhost dashboard with:
|
|
715
59
|
|
|
716
|
-
|
|
60
|
+
- mission, route, elapsed time, and gate badge
|
|
61
|
+
- live worker slot grid with role, backend/model badge, progress, and current task
|
|
62
|
+
- run/verify/queue/done/fail counters
|
|
63
|
+
- recent mission events
|
|
64
|
+
- current gate checklist
|
|
717
65
|
|
|
718
|
-
|
|
719
|
-
sks doctor --fix
|
|
720
|
-
sks codex-app check
|
|
721
|
-
```
|
|
66
|
+
The dashboard binds to `127.0.0.1` only and exposes telemetry/gates/events, not config secrets.
|
|
722
67
|
|
|
723
|
-
|
|
68
|
+
## Demo
|
|
724
69
|
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
If Codex App UI panels or auth-dependent controls still look wrong after codex-lb setup, repair, or upgrade, restart the app first. If the UI still does not recover, sign out of Codex App, sign back in, then run `sks codex-app check` or `sks codex-lb repair` as needed.
|
|
728
|
-
|
|
729
|
-
### Setup is blocked by another tool
|
|
70
|
+
The reproducible VHS script lives at [docs/demo.tape](docs/demo.tape).
|
|
730
71
|
|
|
731
72
|
```sh
|
|
732
|
-
|
|
733
|
-
sks conflicts prompt
|
|
73
|
+
vhs docs/demo.tape
|
|
734
74
|
```
|
|
735
75
|
|
|
736
|
-
|
|
76
|
+
It shows the v5 flow: one-line install, `$Plan`, `$Work`/`$Swarm`, `sks review`, and `sks ui`.
|
|
737
77
|
|
|
738
|
-
|
|
78
|
+
## Proof Surfaces
|
|
739
79
|
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
sks
|
|
744
|
-
|
|
745
|
-
|
|
80
|
+
- Dynamic swarm: `sks naruto run "task" --clones 14 --json`
|
|
81
|
+
- Review report: `.sneakoscope/reports/review-report.json`
|
|
82
|
+
- Harness benchmark: `.sneakoscope/reports/harness-benchmark.json`
|
|
83
|
+
- Project memory: `sks memory build`
|
|
84
|
+
- Release gates: `node ./dist/scripts/release-gate-dag-runner.js --preset release --full`
|
|
85
|
+
- Release readiness notes: [docs/release-readiness.md](docs/release-readiness.md) and [CHANGELOG.md](CHANGELOG.md)
|
|
86
|
+
- Image generation review routes require Codex App `$imagegen`/`gpt-image-2` evidence with recorded output hashes; direct API fallback and mock fixtures do not satisfy full route gates.
|
|
746
87
|
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
## 🏗️ Development And Release
|
|
750
|
-
|
|
751
|
-
Run local checks:
|
|
752
|
-
|
|
753
|
-
```sh
|
|
754
|
-
npm run repo-audit
|
|
755
|
-
npm run changelog:check
|
|
756
|
-
npm run packcheck
|
|
757
|
-
npm run feature:check
|
|
758
|
-
npm run all-features:selftest
|
|
759
|
-
npm run selftest
|
|
760
|
-
npm run sizecheck
|
|
761
|
-
npm run registry:check
|
|
762
|
-
npm run release:check
|
|
763
|
-
npm run publish:dry
|
|
764
|
-
```
|
|
765
|
-
|
|
766
|
-
`release:check` runs the change-aware affected release gate for ordinary local checks. Publish readiness uses `release:check:full`, which runs the full release DAG and writes a source digest stamp under `.sneakoscope/reports/` so publish commands can verify the same source/dist state. The release preset is capped at 200 user-concern gates, with terminal harness gates split into `infra-harness-gates.json` and runnable through `sks gates run harness`. Gate commands execute directly from `release-gates.v2.json`; `package.json` keeps a small user-facing script surface. Broader live gates remain explicit commands; 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.
|
|
88
|
+
## Requirements
|
|
767
89
|
|
|
768
|
-
|
|
90
|
+
- Node.js `>=20.11`
|
|
91
|
+
- Git for diff/review and release proof
|
|
92
|
+
- macOS optional: menu bar integration and `/usr/bin/open`
|
|
93
|
+
- Zellij optional but recommended for terminal worker panes
|
|
769
94
|
|
|
770
95
|
## License
|
|
771
96
|
|