sneakoscope 1.18.6 → 1.18.8
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 +58 -13
- 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 +39 -9
- package/dist/cli/command-registry.js +2 -2
- package/dist/commands/codex-app.js +17 -2
- package/dist/commands/codex.js +3 -2
- package/dist/commands/dfix.d.ts +14 -0
- package/dist/commands/image-ux-review.d.ts +170 -0
- package/dist/commands/ppt.d.ts +163 -0
- package/dist/commands/tmux.d.ts +2 -0
- package/dist/core/agents/agent-codex-cockpit.d.ts +3 -0
- package/dist/core/agents/agent-command-surface.d.ts +5 -0
- package/dist/core/agents/agent-command-surface.js +7 -2
- package/dist/core/agents/agent-merge-coordinator.d.ts +23 -0
- package/dist/core/agents/agent-merge-coordinator.js +52 -0
- package/dist/core/agents/agent-orchestrator.d.ts +163 -0
- package/dist/core/agents/agent-orchestrator.js +119 -4
- package/dist/core/agents/agent-patch-apply-worker.d.ts +31 -0
- package/dist/core/agents/agent-patch-apply-worker.js +236 -0
- package/dist/core/agents/agent-patch-proof.d.ts +25 -0
- package/dist/core/agents/agent-patch-proof.js +47 -0
- package/dist/core/agents/agent-patch-queue.d.ts +48 -0
- package/dist/core/agents/agent-patch-queue.js +78 -0
- package/dist/core/agents/agent-patch-schema.d.ts +29 -0
- package/dist/core/agents/agent-patch-schema.js +52 -0
- package/dist/core/agents/agent-proof-evidence.d.ts +13 -0
- package/dist/core/agents/agent-proof-evidence.js +25 -2
- package/dist/core/agents/agent-runner-codex-exec.js +23 -15
- package/dist/core/agents/agent-schema.d.ts +11 -1
- package/dist/core/agents/agent-task-graph.d.ts +16 -0
- package/dist/core/agents/agent-task-graph.js +23 -9
- package/dist/core/agents/agent-work-partition.d.ts +12 -0
- package/dist/core/agents/agent-work-partition.js +3 -1
- package/dist/core/agents/route-collaboration-ledger.d.ts +163 -0
- package/dist/core/auto-review.d.ts +2 -0
- package/dist/core/auto-review.js +71 -24
- package/dist/core/codex/appshots-detector.d.ts +20 -0
- package/dist/core/codex/appshots-detector.js +29 -0
- package/dist/core/codex/appshots-operator-policy.d.ts +23 -0
- package/dist/core/codex/appshots-operator-policy.js +24 -0
- package/dist/core/codex/codex-0-134-compat.d.ts +76 -0
- package/dist/core/codex/codex-0-134-compat.js +194 -0
- package/dist/core/codex/managed-proxy-env.d.ts +14 -0
- package/dist/core/codex/managed-proxy-env.js +50 -0
- package/dist/core/codex-adapter.js +2 -0
- package/dist/core/codex-app.d.ts +6 -1
- package/dist/core/codex-app.js +111 -8
- package/dist/core/codex-compat/codex-compat-report.d.ts +90 -4
- package/dist/core/codex-compat/codex-compat-report.js +39 -8
- package/dist/core/codex-compat/codex-version-policy.d.ts +9 -3
- package/dist/core/codex-compat/codex-version-policy.js +21 -12
- package/dist/core/codex-compat/codex-version.d.ts +2 -0
- package/dist/core/codex-compat/codex-version.js +4 -1
- package/dist/core/commands/basic-cli.d.ts +2 -0
- package/dist/core/commands/computer-use-command.js +31 -2
- package/dist/core/commands/dfix-command.d.ts +14 -0
- package/dist/core/commands/dfix-command.js +4 -0
- package/dist/core/commands/gc-command.js +2 -1
- package/dist/core/commands/image-ux-review-command.d.ts +170 -0
- package/dist/core/commands/image-ux-review-command.js +41 -8
- package/dist/core/commands/mad-sks-command.js +65 -18
- package/dist/core/commands/ppt-command.d.ts +163 -0
- package/dist/core/commands/qa-loop-command.js +74 -10
- package/dist/core/commands/research-command.js +8 -3
- package/dist/core/commands/run-command.js +3 -3
- package/dist/core/commands/team-command.js +14 -4
- package/dist/core/computer-use-status.js +5 -5
- package/dist/core/decision-contract.js +2 -1
- package/dist/core/dfix.d.ts +14 -0
- package/dist/core/dfix.js +14 -0
- package/dist/core/feature-registry.js +10 -2
- package/dist/core/fsx.d.ts +1 -1
- package/dist/core/fsx.js +1 -1
- package/dist/core/hermes.js +12 -0
- package/dist/core/hooks-runtime.js +1 -1
- package/dist/core/image-ux-review/imagegen-adapter.js +16 -15
- package/dist/core/image-ux-review/recapture.js +9 -3
- package/dist/core/image-ux-review.d.ts +6 -0
- package/dist/core/image-ux-review.js +18 -9
- package/dist/core/imagegen/imagegen-capability.d.ts +21 -0
- package/dist/core/imagegen/imagegen-capability.js +50 -16
- package/dist/core/init.js +14 -15
- package/dist/core/mad-sks/permission-model.d.ts +3 -0
- package/dist/core/mad-sks/permission-model.js +3 -0
- package/dist/core/mcp/mcp-0-134-policy.d.ts +37 -0
- package/dist/core/mcp/mcp-0-134-policy.js +226 -0
- package/dist/core/openclaw.js +13 -1
- package/dist/core/pipeline-internals/runtime-core.js +11 -9
- package/dist/core/pipeline-internals/runtime-gates.js +9 -6
- package/dist/core/ppt.js +1 -1
- package/dist/core/proof/route-adapter.d.ts +13 -0
- package/dist/core/proof/route-adapter.js +25 -1
- package/dist/core/proof/route-finalizer.d.ts +13 -0
- package/dist/core/proof/route-finalizer.js +6 -5
- package/dist/core/proof/runtime-truth-matrix.d.ts +1 -1
- package/dist/core/proof/runtime-truth-matrix.js +49 -5
- package/dist/core/proof/selftest-proof-fixtures.d.ts +13 -0
- package/dist/core/qa-loop.d.ts +4 -2
- package/dist/core/qa-loop.js +27 -17
- package/dist/core/questions.d.ts +1 -1
- package/dist/core/questions.js +3 -3
- package/dist/core/recallpulse.js +1 -1
- package/dist/core/retention.d.ts +18 -1
- package/dist/core/retention.js +306 -15
- package/dist/core/routes.d.ts +9 -2
- package/dist/core/routes.js +47 -17
- package/dist/core/source-intelligence/appshots-evidence.d.ts +54 -0
- package/dist/core/source-intelligence/appshots-evidence.js +108 -0
- package/dist/core/source-intelligence/codex-history-search.d.ts +26 -0
- package/dist/core/source-intelligence/codex-history-search.js +71 -0
- package/dist/core/source-intelligence/source-intelligence-proof.d.ts +4 -0
- package/dist/core/source-intelligence/source-intelligence-proof.js +9 -1
- package/dist/core/source-intelligence/source-intelligence-runner.d.ts +18 -0
- package/dist/core/source-intelligence/source-intelligence-runner.js +16 -3
- package/dist/core/strategy/adhd-orchestrating-gate.d.ts +179 -0
- package/dist/core/strategy/adhd-orchestrating-gate.js +234 -0
- package/dist/core/strategy/strategy-compiler.d.ts +59 -0
- package/dist/core/strategy/strategy-compiler.js +123 -0
- package/dist/core/strategy/strategy-gate.d.ts +26 -0
- package/dist/core/strategy/strategy-gate.js +38 -0
- package/dist/core/tmux-ui.d.ts +3 -1
- package/dist/core/tmux-ui.js +36 -4
- package/dist/core/triwiki-attention.js +2 -2
- package/dist/core/trust-kernel/trust-status.d.ts +1 -1
- package/dist/core/verification/verification-proof.js +1 -1
- package/dist/core/verification/verification-result.d.ts +6 -0
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/dist/scripts/release-parallel-check.js +79 -1
- package/package.json +30 -2
package/README.md
CHANGED
|
@@ -6,11 +6,17 @@ Sneakoscope Codex (`sks`) is a Codex CLI/App harness that makes repeatable Codex
|
|
|
6
6
|
|
|
7
7
|
SKS does not try to clone every other harness. It focuses on one thing: making Codex work auditable, visual-evidence-bound, safety-gated, and reproducible through Completion Proof.
|
|
8
8
|
|
|
9
|
+
## LLM Init Prompt for Hermes / OpenClaw Agent Builders
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
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.
|
|
13
|
+
```
|
|
14
|
+
|
|
9
15
|

|
|
10
16
|
|
|
11
17
|
## Current Release
|
|
12
18
|
|
|
13
|
-
SKS **1.18.
|
|
19
|
+
SKS **1.18.8** closes the Codex 0.134 ultra-stability loop: the release matrix now covers `--profile` as the primary selector, bounded local Codex history search, managed proxy propagation, MCP 0.134 environment/OAuth/schema/readOnlyHint policy, proof-safe parallel agent patches, runtime truth P6 rows, the 1.18.8 release gate audit, MAD-SKS as general scoped permission widening, gpt-image-2 imagegen as a core evidence capability, and retention cleanup that preserves durable learning while removing finished route scratch.
|
|
14
20
|
|
|
15
21
|
```bash
|
|
16
22
|
sks mad-sks plan --target-root <path> --json
|
|
@@ -25,11 +31,24 @@ npm run agent:background-terminals
|
|
|
25
31
|
npm run agent:tmux-lane-no-flicker
|
|
26
32
|
npm run agent:cleanup-executor
|
|
27
33
|
npm run agent:cleanup-executor-v2
|
|
34
|
+
npm run retention:cleanup-safety
|
|
28
35
|
npm run agent:intelligent-work-graph
|
|
29
36
|
npm run agent:ast-aware-work-graph
|
|
30
37
|
npm run proof:fake-vs-real-policy
|
|
31
38
|
npm run proof:fake-real-policy-v2
|
|
32
39
|
npm run release:runtime-truth-matrix
|
|
40
|
+
npm run codex:0.134-official-compat
|
|
41
|
+
npm run codex:profile-primary
|
|
42
|
+
npm run codex:managed-proxy-env
|
|
43
|
+
npm run strategy:adhd-orchestrating-gate
|
|
44
|
+
npm run strategy:parallel-modification-plan
|
|
45
|
+
npm run appshots:evidence
|
|
46
|
+
npm run appshots:source-intelligence
|
|
47
|
+
npm run mcp:0.134-modernization
|
|
48
|
+
npm run mcp:readonly-concurrency
|
|
49
|
+
npm run source-intelligence:codex-history-search
|
|
50
|
+
npm run agent:parallel-write-kernel
|
|
51
|
+
npm run release:gate-existence-audit
|
|
33
52
|
npm run route:blackbox-realism
|
|
34
53
|
npm run release:real-check
|
|
35
54
|
npm run agent:backfill-route-blackbox
|
|
@@ -37,7 +56,22 @@ npm run team:actual-route-backfill
|
|
|
37
56
|
npm run release:readiness
|
|
38
57
|
```
|
|
39
58
|
|
|
40
|
-
Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release gate status lives in [docs/release-readiness.md](docs/release-readiness.md).
|
|
59
|
+
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).
|
|
60
|
+
|
|
61
|
+
## Retention And Cleanup
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
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.
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
sks gc --dry-run --json
|
|
69
|
+
sks gc --json
|
|
70
|
+
sks stats --json
|
|
71
|
+
npm run retention:cleanup-safety
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
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.
|
|
41
75
|
|
|
42
76
|
## Documentation
|
|
43
77
|
|
|
@@ -74,7 +108,12 @@ Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release
|
|
|
74
108
|
- Fake vs real proof policy: [docs/fake-vs-real-proof-policy.md](docs/fake-vs-real-proof-policy.md)
|
|
75
109
|
- Runtime truth matrix: [docs/runtime-truth-matrix.md](docs/runtime-truth-matrix.md)
|
|
76
110
|
- Warp MAD tmux lanes: [docs/warp-mad-tmux-lanes.md](docs/warp-mad-tmux-lanes.md)
|
|
77
|
-
-
|
|
111
|
+
- ADHD orchestration gate: [docs/adhd-orchestrating-gate.md](docs/adhd-orchestrating-gate.md)
|
|
112
|
+
- Strategy-first parallel write: [docs/strategy-first-parallel-write.md](docs/strategy-first-parallel-write.md)
|
|
113
|
+
- Appshots pipeline: [docs/appshots-pipeline.md](docs/appshots-pipeline.md)
|
|
114
|
+
- Parallel write agents: [docs/parallel-write-agents.md](docs/parallel-write-agents.md)
|
|
115
|
+
- Agent patch queue: [docs/agent-patch-queue.md](docs/agent-patch-queue.md)
|
|
116
|
+
- 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)
|
|
78
117
|
- Codex official Goal mode: [docs/codex-official-goal-mode.md](docs/codex-official-goal-mode.md)
|
|
79
118
|
- Release parallel full coverage: [docs/release-parallel-full-coverage.md](docs/release-parallel-full-coverage.md)
|
|
80
119
|
- Priority closure P0-P4: [docs/priority-closure-p0-p4.md](docs/priority-closure-p0-p4.md)
|
|
@@ -94,6 +133,8 @@ Detailed release history lives in [CHANGELOG.md](CHANGELOG.md). Current release
|
|
|
94
133
|
|
|
95
134
|
## 60-second start
|
|
96
135
|
|
|
136
|
+
Recommended install: use the global npm package so `sks` and the Codex App `$` skills are refreshed together.
|
|
137
|
+
|
|
97
138
|
```sh
|
|
98
139
|
npm i -g sneakoscope
|
|
99
140
|
sks root
|
|
@@ -117,7 +158,7 @@ sks rust smoke --json
|
|
|
117
158
|
|
|
118
159
|
## Install Options
|
|
119
160
|
|
|
120
|
-
|
|
161
|
+
Recommended: install globally with `npm i -g sneakoscope`, then run `sks` from either a project or any global shell location:
|
|
121
162
|
|
|
122
163
|
```sh
|
|
123
164
|
npm i -g sneakoscope
|
|
@@ -125,7 +166,7 @@ sks root
|
|
|
125
166
|
sks doctor
|
|
126
167
|
```
|
|
127
168
|
|
|
128
|
-
`npm i -g sneakoscope` automatically refreshes the `sks` command shim, global Codex App `$` skills, and SKS bootstrap surface. When the install is run from a project, postinstall bootstraps that project. When it is run outside a repo/project marker, postinstall bootstraps the per-user global runtime root instead of writing `.sneakoscope` into a random current directory. `sks root` tells you which root SKS will use.
|
|
169
|
+
`npm i -g sneakoscope` is the recommended install path. It automatically refreshes the `sks` command shim, global Codex App `$` skills, and SKS bootstrap surface. When the install is run from a project, postinstall bootstraps that project. When it is run outside a repo/project marker, postinstall bootstraps the per-user global runtime root instead of writing `.sneakoscope` into a random current directory. `sks root` tells you which root SKS will use.
|
|
129
170
|
|
|
130
171
|
If you only want a one-shot run without keeping `sks` installed globally:
|
|
131
172
|
|
|
@@ -186,7 +227,7 @@ The default `sks` runtime checks npm for newer `sneakoscope` and `@openai/codex`
|
|
|
186
227
|
|
|
187
228
|
### Global Install
|
|
188
229
|
|
|
189
|
-
Use this when you want `sks` available from any repo:
|
|
230
|
+
Use this recommended path when you want `sks` available from any repo:
|
|
190
231
|
|
|
191
232
|
```sh
|
|
192
233
|
npm i -g sneakoscope
|
|
@@ -280,7 +321,7 @@ sks codex-lb repair
|
|
|
280
321
|
sks
|
|
281
322
|
```
|
|
282
323
|
|
|
283
|
-
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 env key for tmux launches, 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 `env_key = "CODEX_LB_API_KEY"`, `supports_websockets = true`, and `requires_openai_auth = false`;
|
|
324
|
+
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 env key for tmux launches, 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 `env_key = "CODEX_LB_API_KEY"`, `supports_websockets = true`, and `requires_openai_auth = false`; 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. It does not rewrite the shared Codex `auth.json` login cache by default; set `SKS_CODEX_LB_SYNC_CODEX_LOGIN=1` only if you intentionally want the old API-key login-cache behavior. When codex-lb is active, SKS opens a fresh `sks-codex-lb-*` tmux 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.
|
|
284
325
|
|
|
285
326
|
If codex-lb provider auth drifts after launch/reinstall, run `sks doctor --fix` or `sks codex-lb repair`; to replace it, run `sks codex-lb reconfigure --host <domain> --api-key <key>`.
|
|
286
327
|
|
|
@@ -317,10 +358,10 @@ This flips `model_provider` away from `codex-lb` in the top-level Codex App conf
|
|
|
317
358
|
|
|
318
359
|
```sh
|
|
319
360
|
sks --mad
|
|
320
|
-
sks --mad --yes
|
|
361
|
+
sks --mad --allow-package-install --allow-service-control --allow-network --yes
|
|
321
362
|
```
|
|
322
363
|
|
|
323
|
-
This syncs existing codex-lb provider auth, creates/uses the `sks-mad-high`
|
|
364
|
+
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 tmux run, and launches a single Codex CLI pane. 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. The session recreates the named session so stale split-pane MAD sessions collapse back to one pane. Catastrophic database wipe/all-row/project-management safeguards remain active, and the pipeline contract still forbids unrequested fallback implementation code.
|
|
324
365
|
|
|
325
366
|
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.
|
|
326
367
|
|
|
@@ -364,6 +405,7 @@ Effort is assigned per agent. Simple read-only/docs slices can run low, ordinary
|
|
|
364
405
|
```sh
|
|
365
406
|
sks qa-loop prepare "http://localhost:3000"
|
|
366
407
|
sks qa-loop run latest --max-cycles 2
|
|
408
|
+
sks codex-app chrome-extension --json
|
|
367
409
|
sks goal create "persist this migration workflow"
|
|
368
410
|
sks research prepare "evaluate this approach"
|
|
369
411
|
sks research run latest --max-cycles 12 --cycle-timeout-minutes 120
|
|
@@ -397,7 +439,7 @@ sks code-structure scan --json
|
|
|
397
439
|
|
|
398
440
|
### Ambiguity Questions
|
|
399
441
|
|
|
400
|
-
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. `$Computer-Use` / `$CU` is
|
|
442
|
+
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.
|
|
401
443
|
|
|
402
444
|
### Create A Presentation
|
|
403
445
|
|
|
@@ -419,6 +461,7 @@ After installing, run:
|
|
|
419
461
|
```sh
|
|
420
462
|
sks bootstrap
|
|
421
463
|
sks codex-app check
|
|
464
|
+
sks codex-app chrome-extension --json
|
|
422
465
|
sks codex-app remote-control --status
|
|
423
466
|
sks dollar-commands
|
|
424
467
|
```
|
|
@@ -429,9 +472,11 @@ For headless remotely controllable Codex App/server sessions on Codex CLI 0.130.
|
|
|
429
472
|
sks codex-app remote-control -- --help
|
|
430
473
|
```
|
|
431
474
|
|
|
432
|
-
`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, and whether installed OpenAI default plugins such as Browser, Chrome, Computer Use, Documents, Presentations, Spreadsheets, and LaTeX are enabled. 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.
|
|
475
|
+
`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.
|
|
476
|
+
|
|
477
|
+
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.
|
|
433
478
|
|
|
434
|
-
|
|
479
|
+
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.
|
|
435
480
|
|
|
436
481
|
Then open Codex App and use prompt commands directly in the chat. Examples:
|
|
437
482
|
|
|
@@ -579,7 +624,7 @@ sks codex-app check
|
|
|
579
624
|
codex mcp list
|
|
580
625
|
```
|
|
581
626
|
|
|
582
|
-
Codex App workflows need the app installed.
|
|
627
|
+
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.
|
|
583
628
|
|
|
584
629
|
### Codex App commit/push is blocked
|
|
585
630
|
|
|
@@ -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.18.
|
|
7
|
+
Some("--version") => println!("sks-rs 1.18.8"),
|
|
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.18.
|
|
5
|
-
"source_digest": "
|
|
6
|
-
"source_file_count":
|
|
7
|
-
"built_at_source_time":
|
|
4
|
+
"package_version": "1.18.8",
|
|
5
|
+
"source_digest": "f00f42e2af3a45681da126c20bfcd5d3345fd2ace666c76010660d39ca88cdc6",
|
|
6
|
+
"source_file_count": 1514,
|
|
7
|
+
"built_at_source_time": 1779887241763
|
|
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.18.
|
|
4
|
-
"package_version": "1.18.
|
|
3
|
+
"version": "1.18.8",
|
|
4
|
+
"package_version": "1.18.8",
|
|
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": 908,
|
|
8
|
+
"compiled_js_count": 454,
|
|
9
|
+
"compiled_dts_count": 454,
|
|
10
|
+
"source_digest": "f00f42e2af3a45681da126c20bfcd5d3345fd2ace666c76010660d39ca88cdc6",
|
|
11
|
+
"source_file_count": 1514,
|
|
12
|
+
"source_files_hash": "617adc02ea5a7a6cf0ad7cfac691a817e9fb26380d5f21a249eaea89c0a7b8ea",
|
|
13
|
+
"source_list_hash": "617adc02ea5a7a6cf0ad7cfac691a817e9fb26380d5f21a249eaea89c0a7b8ea",
|
|
14
14
|
"src_mjs_runtime_files": 0,
|
|
15
15
|
"dist_stamp_schema": "sks.dist-build-stamp.v1",
|
|
16
16
|
"files": [
|
|
@@ -214,12 +214,22 @@
|
|
|
214
214
|
"core/agents/agent-ledger-schemas.js",
|
|
215
215
|
"core/agents/agent-lifecycle.d.ts",
|
|
216
216
|
"core/agents/agent-lifecycle.js",
|
|
217
|
+
"core/agents/agent-merge-coordinator.d.ts",
|
|
218
|
+
"core/agents/agent-merge-coordinator.js",
|
|
217
219
|
"core/agents/agent-message-bus.d.ts",
|
|
218
220
|
"core/agents/agent-message-bus.js",
|
|
219
221
|
"core/agents/agent-orchestrator.d.ts",
|
|
220
222
|
"core/agents/agent-orchestrator.js",
|
|
221
223
|
"core/agents/agent-output-validator.d.ts",
|
|
222
224
|
"core/agents/agent-output-validator.js",
|
|
225
|
+
"core/agents/agent-patch-apply-worker.d.ts",
|
|
226
|
+
"core/agents/agent-patch-apply-worker.js",
|
|
227
|
+
"core/agents/agent-patch-proof.d.ts",
|
|
228
|
+
"core/agents/agent-patch-proof.js",
|
|
229
|
+
"core/agents/agent-patch-queue.d.ts",
|
|
230
|
+
"core/agents/agent-patch-queue.js",
|
|
231
|
+
"core/agents/agent-patch-schema.d.ts",
|
|
232
|
+
"core/agents/agent-patch-schema.js",
|
|
223
233
|
"core/agents/agent-persona.d.ts",
|
|
224
234
|
"core/agents/agent-persona.js",
|
|
225
235
|
"core/agents/agent-plan.d.ts",
|
|
@@ -358,8 +368,16 @@
|
|
|
358
368
|
"core/codex-lb/codex-lb-setup.js",
|
|
359
369
|
"core/codex-model-guard.d.ts",
|
|
360
370
|
"core/codex-model-guard.js",
|
|
371
|
+
"core/codex/appshots-detector.d.ts",
|
|
372
|
+
"core/codex/appshots-detector.js",
|
|
373
|
+
"core/codex/appshots-operator-policy.d.ts",
|
|
374
|
+
"core/codex/appshots-operator-policy.js",
|
|
375
|
+
"core/codex/codex-0-134-compat.d.ts",
|
|
376
|
+
"core/codex/codex-0-134-compat.js",
|
|
361
377
|
"core/codex/codex-web-search-adapter.d.ts",
|
|
362
378
|
"core/codex/codex-web-search-adapter.js",
|
|
379
|
+
"core/codex/managed-proxy-env.d.ts",
|
|
380
|
+
"core/codex/managed-proxy-env.js",
|
|
363
381
|
"core/codex/official-goal-mode.d.ts",
|
|
364
382
|
"core/codex/official-goal-mode.js",
|
|
365
383
|
"core/commands/agent-command.d.ts",
|
|
@@ -614,6 +632,8 @@
|
|
|
614
632
|
"core/mad-sks/write-guard.js",
|
|
615
633
|
"core/managed-paths.d.ts",
|
|
616
634
|
"core/managed-paths.js",
|
|
635
|
+
"core/mcp/mcp-0-134-policy.d.ts",
|
|
636
|
+
"core/mcp/mcp-0-134-policy.js",
|
|
617
637
|
"core/mcp/xai-mcp-detector.d.ts",
|
|
618
638
|
"core/mcp/xai-mcp-detector.js",
|
|
619
639
|
"core/mcp/xai-search-adapter.d.ts",
|
|
@@ -773,12 +793,22 @@
|
|
|
773
793
|
"core/session/project-namespace.js",
|
|
774
794
|
"core/skill-forge.d.ts",
|
|
775
795
|
"core/skill-forge.js",
|
|
796
|
+
"core/source-intelligence/appshots-evidence.d.ts",
|
|
797
|
+
"core/source-intelligence/appshots-evidence.js",
|
|
798
|
+
"core/source-intelligence/codex-history-search.d.ts",
|
|
799
|
+
"core/source-intelligence/codex-history-search.js",
|
|
776
800
|
"core/source-intelligence/source-intelligence-policy.d.ts",
|
|
777
801
|
"core/source-intelligence/source-intelligence-policy.js",
|
|
778
802
|
"core/source-intelligence/source-intelligence-proof.d.ts",
|
|
779
803
|
"core/source-intelligence/source-intelligence-proof.js",
|
|
780
804
|
"core/source-intelligence/source-intelligence-runner.d.ts",
|
|
781
805
|
"core/source-intelligence/source-intelligence-runner.js",
|
|
806
|
+
"core/strategy/adhd-orchestrating-gate.d.ts",
|
|
807
|
+
"core/strategy/adhd-orchestrating-gate.js",
|
|
808
|
+
"core/strategy/strategy-compiler.d.ts",
|
|
809
|
+
"core/strategy/strategy-compiler.js",
|
|
810
|
+
"core/strategy/strategy-gate.d.ts",
|
|
811
|
+
"core/strategy/strategy-gate.js",
|
|
782
812
|
"core/structured-output-adapter.d.ts",
|
|
783
813
|
"core/structured-output-adapter.js",
|
|
784
814
|
"core/team-dag.d.ts",
|
|
@@ -122,8 +122,8 @@ export const COMMANDS = {
|
|
|
122
122
|
'ux-review': entry('labs', 'Alias for image UX review', 'dist/core/commands/image-ux-review-command.js', commandArgsCommand(() => import('../core/commands/image-ux-review-command.js'), 'imageUxReviewCommand', 'dist/core/commands/image-ux-review-command.js')),
|
|
123
123
|
'visual-review': entry('labs', 'Alias for image UX review', 'dist/core/commands/image-ux-review-command.js', commandArgsCommand(() => import('../core/commands/image-ux-review-command.js'), 'imageUxReviewCommand', 'dist/core/commands/image-ux-review-command.js')),
|
|
124
124
|
'ui-ux-review': entry('labs', 'Alias for image UX review', 'dist/core/commands/image-ux-review-command.js', commandArgsCommand(() => import('../core/commands/image-ux-review-command.js'), 'imageUxReviewCommand', 'dist/core/commands/image-ux-review-command.js')),
|
|
125
|
-
'computer-use': entry('beta', 'Record 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')),
|
|
126
|
-
cu: entry('beta', 'Alias for 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')),
|
|
125
|
+
'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')),
|
|
126
|
+
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')),
|
|
127
127
|
context7: entry('beta', 'Context7 checks and docs', 'dist/cli/context7-command.js', subcommand(() => import('./context7-command.js'), 'context7Command', 'dist/cli/context7-command.js', 'check')),
|
|
128
128
|
recallpulse: entry('labs', 'RecallPulse evidence route', 'dist/commands/recallpulse.js', directCommand(() => import('../commands/recallpulse.js'), 'dist/commands/recallpulse.js')),
|
|
129
129
|
pipeline: entry('beta', 'Inspect pipeline missions', 'dist/commands/pipeline.js', directCommand(() => import('../commands/pipeline.js'), 'dist/commands/pipeline.js')),
|
|
@@ -1,11 +1,26 @@
|
|
|
1
1
|
import { flag } from '../cli/args.js';
|
|
2
2
|
import { printJson } from '../cli/output.js';
|
|
3
|
-
import { codexAccessTokenStatus, codexAppIntegrationStatus, formatCodexAppStatus } from '../core/codex-app.js';
|
|
3
|
+
import { codexAccessTokenStatus, codexAppIntegrationStatus, codexChromeExtensionStatus, formatCodexAppStatus } from '../core/codex-app.js';
|
|
4
4
|
import { codexAppRemoteControlCommand } from '../cli/codex-app-command.js';
|
|
5
5
|
export async function run(_command, args = []) {
|
|
6
6
|
const action = args[0] || 'check';
|
|
7
7
|
if (action === 'remote-control' || action === 'remote')
|
|
8
8
|
return codexAppRemoteControlCommand(args.slice(1));
|
|
9
|
+
if (action === 'chrome-extension' || action === 'chrome') {
|
|
10
|
+
const status = await codexChromeExtensionStatus();
|
|
11
|
+
if (flag(args, '--json')) {
|
|
12
|
+
printJson(status);
|
|
13
|
+
if (!status.ok)
|
|
14
|
+
process.exitCode = 1;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
console.log(`Codex Chrome Extension: ${status.ok ? 'available' : status.status}`);
|
|
18
|
+
for (const line of status.guidance || [])
|
|
19
|
+
console.log(`- ${line}`);
|
|
20
|
+
if (!status.ok)
|
|
21
|
+
process.exitCode = 1;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
9
24
|
if (action === 'pat') {
|
|
10
25
|
const status = codexAccessTokenStatus();
|
|
11
26
|
if (flag(args, '--json'))
|
|
@@ -29,7 +44,7 @@ export async function run(_command, args = []) {
|
|
|
29
44
|
process.exitCode = 1;
|
|
30
45
|
return;
|
|
31
46
|
}
|
|
32
|
-
console.error('Usage: sks codex-app check|status|pat status|remote-control [--json]');
|
|
47
|
+
console.error('Usage: sks codex-app check|status|chrome-extension|pat status|remote-control [--json]');
|
|
33
48
|
process.exitCode = 1;
|
|
34
49
|
}
|
|
35
50
|
//# sourceMappingURL=codex-app.js.map
|
package/dist/commands/codex.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { flag } from '../cli/args.js';
|
|
1
|
+
import { flag, readOption } from '../cli/args.js';
|
|
2
2
|
import { printJson } from '../cli/output.js';
|
|
3
3
|
import { codexCompatibilityReport, codexDoctorReport } from '../core/codex-compat/codex-compat-report.js';
|
|
4
4
|
import { codexVersionReport } from '../core/codex-compat/codex-version.js';
|
|
@@ -6,7 +6,8 @@ import { codexSchemaSnapshotReport } from '../core/codex-compat/codex-schema-sna
|
|
|
6
6
|
export async function run(_command, args = []) {
|
|
7
7
|
const action = args[0] || 'compatibility';
|
|
8
8
|
if (action === 'compatibility' || action === 'compat') {
|
|
9
|
-
const
|
|
9
|
+
const requiredBaseline = readOption(args, '--require', null);
|
|
10
|
+
const result = await codexCompatibilityReport({ requiredBaseline, require: requiredBaseline });
|
|
10
11
|
if (flag(args, '--json'))
|
|
11
12
|
return printJson(result);
|
|
12
13
|
console.log(`Codex compatibility: ${result.ok ? result.status : 'blocked'} (${result.required_baseline})`);
|
package/dist/commands/dfix.d.ts
CHANGED
|
@@ -103,6 +103,13 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
103
103
|
};
|
|
104
104
|
selected_template: import("../core/dfix/patch-templates.js").DfixPatchTemplate | null;
|
|
105
105
|
mode: string;
|
|
106
|
+
route_parallel_write: {
|
|
107
|
+
write_mode: any;
|
|
108
|
+
apply_patches: boolean;
|
|
109
|
+
dry_run_patches: boolean;
|
|
110
|
+
max_write_agents: number;
|
|
111
|
+
route_level_flags_wired: boolean;
|
|
112
|
+
};
|
|
106
113
|
target_file: any;
|
|
107
114
|
find_text_present: boolean;
|
|
108
115
|
replace_text_present: boolean;
|
|
@@ -154,6 +161,13 @@ export declare function run(command: any, args?: any): Promise<void | {
|
|
|
154
161
|
created_at: string;
|
|
155
162
|
explicit_apply_opt_in: boolean;
|
|
156
163
|
apply_opt_in: boolean;
|
|
164
|
+
route_parallel_write: {
|
|
165
|
+
write_mode: any;
|
|
166
|
+
apply_patches: boolean;
|
|
167
|
+
dry_run_patches: boolean;
|
|
168
|
+
max_write_agents: number;
|
|
169
|
+
route_level_flags_wired: boolean;
|
|
170
|
+
};
|
|
157
171
|
patch_mode: any;
|
|
158
172
|
patch_result_present: boolean;
|
|
159
173
|
patch_applied: any;
|