sneakoscope 1.18.14 → 1.20.2

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.
Files changed (108) hide show
  1. package/README.md +42 -10
  2. package/crates/sks-core/Cargo.lock +1 -1
  3. package/crates/sks-core/Cargo.toml +1 -1
  4. package/crates/sks-core/src/main.rs +1 -1
  5. package/dist/.sks-build-stamp.json +4 -4
  6. package/dist/bin/sks.js +1 -1
  7. package/dist/build-manifest.json +54 -11
  8. package/dist/cli/command-registry.d.ts +5 -0
  9. package/dist/cli/command-registry.js +4 -1
  10. package/dist/cli/install-helpers.d.ts +148 -3
  11. package/dist/cli/install-helpers.js +326 -126
  12. package/dist/commands/codex-lb.js +77 -1
  13. package/dist/commands/doctor.js +158 -2
  14. package/dist/commands/image-ux-review.d.ts +7 -0
  15. package/dist/commands/mad-sks.js +3 -3
  16. package/dist/commands/ppt.d.ts +7 -0
  17. package/dist/commands/versioning.js +2 -1
  18. package/dist/commands/zellij.d.ts +4 -0
  19. package/dist/commands/zellij.js +111 -0
  20. package/dist/core/agents/agent-effort-policy.d.ts +6 -0
  21. package/dist/core/agents/agent-effort-policy.js +42 -0
  22. package/dist/core/agents/agent-orchestrator.d.ts +7 -0
  23. package/dist/core/agents/agent-orchestrator.js +23 -6
  24. package/dist/core/agents/agent-proof-evidence.d.ts +9 -0
  25. package/dist/core/agents/agent-proof-evidence.js +9 -0
  26. package/dist/core/agents/agent-roster.d.ts +52 -4
  27. package/dist/core/agents/agent-roster.js +121 -11
  28. package/dist/core/agents/agent-scheduler.d.ts +2 -1
  29. package/dist/core/agents/agent-scheduler.js +7 -5
  30. package/dist/core/agents/agent-schema.d.ts +5 -0
  31. package/dist/core/agents/agent-schema.js +5 -0
  32. package/dist/core/agents/route-collaboration-ledger.d.ts +7 -0
  33. package/dist/core/commands/basic-cli.js +22 -5
  34. package/dist/core/commands/image-ux-review-command.d.ts +7 -0
  35. package/dist/core/commands/image-ux-review-command.js +11 -0
  36. package/dist/core/commands/mad-sks-command.js +17 -1
  37. package/dist/core/commands/naruto-command.d.ts +2 -0
  38. package/dist/core/commands/naruto-command.js +189 -0
  39. package/dist/core/commands/ppt-command.d.ts +7 -0
  40. package/dist/core/commands/wiki-command.d.ts +0 -1
  41. package/dist/core/commands/wiki-command.js +0 -9
  42. package/dist/core/feature-fixtures.js +3 -0
  43. package/dist/core/feature-registry.js +1 -0
  44. package/dist/core/fsx.d.ts +1 -1
  45. package/dist/core/fsx.js +1 -1
  46. package/dist/core/image-ux-review/codex-app-generated-image-discovery.d.ts +44 -0
  47. package/dist/core/image-ux-review/codex-app-generated-image-discovery.js +118 -0
  48. package/dist/core/image-ux-review/imagegen-adapter.d.ts +1 -0
  49. package/dist/core/image-ux-review/imagegen-adapter.js +128 -33
  50. package/dist/core/imagegen/imagegen-auth-readiness.d.ts +30 -0
  51. package/dist/core/imagegen/imagegen-auth-readiness.js +83 -0
  52. package/dist/core/imagegen/imagegen-capability.d.ts +1 -0
  53. package/dist/core/imagegen/imagegen-capability.js +8 -0
  54. package/dist/core/init.js +80 -27
  55. package/dist/core/migration/migration-transaction-journal.d.ts +48 -0
  56. package/dist/core/migration/migration-transaction-journal.js +60 -0
  57. package/dist/core/release/gate-cache.d.ts +28 -0
  58. package/dist/core/release/gate-cache.js +39 -0
  59. package/dist/core/release/gate-manifest.d.ts +39 -0
  60. package/dist/core/release/gate-manifest.js +0 -0
  61. package/dist/core/responses-retry-policy.d.ts +33 -0
  62. package/dist/core/responses-retry-policy.js +46 -1
  63. package/dist/core/routes.js +18 -2
  64. package/dist/core/safety/mutation-guard.d.ts +52 -0
  65. package/dist/core/safety/mutation-guard.js +158 -0
  66. package/dist/core/safety/mutation-ledger.d.ts +33 -0
  67. package/dist/core/safety/mutation-ledger.js +75 -0
  68. package/dist/core/safety/requested-scope-contract.d.ts +36 -0
  69. package/dist/core/safety/requested-scope-contract.js +0 -0
  70. package/dist/core/skills/core-rollout-trace.d.ts +8 -0
  71. package/dist/core/skills/core-rollout-trace.js +33 -0
  72. package/dist/core/skills/core-skill-card.d.ts +35 -0
  73. package/dist/core/skills/core-skill-card.js +0 -0
  74. package/dist/core/skills/core-skill-deployment.d.ts +36 -0
  75. package/dist/core/skills/core-skill-deployment.js +116 -0
  76. package/dist/core/skills/core-skill-epoch.d.ts +35 -0
  77. package/dist/core/skills/core-skill-epoch.js +75 -0
  78. package/dist/core/skills/core-skill-patch-apply.d.ts +7 -0
  79. package/dist/core/skills/core-skill-patch-apply.js +100 -0
  80. package/dist/core/skills/core-skill-patch.d.ts +11 -0
  81. package/dist/core/skills/core-skill-patch.js +113 -0
  82. package/dist/core/skills/core-skill-runtime.d.ts +24 -0
  83. package/dist/core/skills/core-skill-runtime.js +39 -0
  84. package/dist/core/skills/core-skill-scorer.d.ts +16 -0
  85. package/dist/core/skills/core-skill-scorer.js +78 -0
  86. package/dist/core/skills/core-skill-types.d.ts +127 -0
  87. package/dist/core/skills/core-skill-types.js +16 -0
  88. package/dist/core/skills/core-skill-validation.d.ts +21 -0
  89. package/dist/core/skills/core-skill-validation.js +30 -0
  90. package/dist/core/skills/rejected-skill-patch-buffer.d.ts +8 -0
  91. package/dist/core/skills/rejected-skill-patch-buffer.js +32 -0
  92. package/dist/core/triwiki-runtime.d.ts +37 -0
  93. package/dist/core/triwiki-runtime.js +91 -0
  94. package/dist/core/version-manager.js +1 -1
  95. package/dist/core/version.d.ts +1 -1
  96. package/dist/core/version.js +1 -1
  97. package/dist/core/zellij/zellij-lane-renderer.d.ts +53 -1
  98. package/dist/core/zellij/zellij-lane-renderer.js +244 -29
  99. package/dist/core/zellij/zellij-launcher.js +4 -7
  100. package/dist/core/zellij/zellij-layout-builder.d.ts +1 -1
  101. package/dist/core/zellij/zellij-layout-builder.js +1 -1
  102. package/dist/core/zellij/zellij-screen-proof.d.ts +19 -0
  103. package/dist/core/zellij/zellij-screen-proof.js +35 -1
  104. package/dist/scripts/release-parallel-check.js +31 -0
  105. package/package.json +36 -4
  106. package/schemas/skills/core-skill-card.schema.json +27 -0
  107. package/schemas/skills/core-skill-patch.schema.json +39 -0
  108. /package/{dist/scripts → scripts}/codex-config-load-probe.mjs +0 -0
package/README.md CHANGED
@@ -16,7 +16,13 @@ Set up this agent project with Sneakoscope Codex. Use [[mandarange/Sneakoscope-C
16
16
 
17
17
  ## Current Release
18
18
 
19
- SKS **1.18.14** is the Zellij-only interactive runtime release: actual Codex CLI config-load truth, fake Codex EPERM fixtures, doctor readiness matrix proof, `sks mad repair-config`, safer project-local config splitting, Codex 0.135 compatibility gates, and official Fast mode CLI override proof are wired into release checks. Doctor now refuses Ready yes without Codex config-load evidence, MAD blocks launch before unreadable config can crash Codex, and interactive MAD/lane UI requires Zellij with no removed-runtime fallback.
19
+ SKS **1.20.2** is a stabilization patch that closes the enforcement/integration/execution layers on top of the 1.20.1 infrastructure: a **Mutation Guard** routes genuinely-risky global/config/permission/package mutations through the Requested-Scope Contract + Mutation Ledger (`safety:mutation-callsite-coverage` fails any unguarded, unallowlisted risky call site); `release:check:dynamic:execute` turns the change-aware planner into a real **caching gate runner** (schema v2, real/heavy gates deferred to `release:real-check`, dynamic-only cannot authorize publish); the **Core Skill** deployed snapshot is now read by the route runtime and recorded in `agent-proof-evidence.json` (`selected_core_skill`), with promotions written to the mutation ledger; and `sks doctor` exposes an explicit **`zellij_readiness`** block (`zellij:doctor-readiness`). See `docs/dynamic-release-pipeline.md`.
20
+
21
+ SKS **1.20.1** introduces the **SKS Core Skill Engine** — a SkillOpt-style self-evolving skill layer — while locking the harness into a deploy-ready stable build. Skills are the agent's *external, versioned state* (Core Skill Cards): an optimizer proposes **bounded** add/delete/replace edits to a single skill document under a **textual edit budget**, edits are accepted **only on strict held-out improvement**, rejected edits are buffered so they are never retried, and the **deployed snapshot is immutable**. Critically, the optimizer runs only in training/evaluation — the **deployment/inference path reads the deployed snapshot and never makes an extra model call**, and a skill patch can never mutate code/config/package/global files.
22
+
23
+ 1.20.1 also adds a **Requested-Scope Contract + Mutation Ledger** so SKS performs **no side effect the user did not request** (deny-by-default; global/destructive mutations require explicit `--yes`/env opt-in and a backup or no-op reason), and a **dynamic, risk-based release pipeline** (`release:gate-planner` builds `release-gates.json`; `release:check:dynamic` runs only P0 always-on gates plus gates whose files changed; `release:gate-budget` reports the slowest gates) so unrelated heavy gates are skipped during incremental checks while publish never skips a required gate.
24
+
25
+ It carries forward the 1.19.x hardening unchanged: legacy 1.18.x/1.19.x→1.20.1 **zero-break upgrade** (user `model`/`service_tier`/`model_reasoning_effort` and user-disabled Codex App flags never overwritten; existing skill cards preserved), the **migration transaction journal** (`.sneakoscope/reports/migration-1.20.1-journal.jsonl`), **Zellij launch-command truth** + real-session **heartbeat-timeout blocker** + the redesigned **Zellij lane UI**, **packlist/publish-performance** gates, a **postinstall safe-side-effects** gate, and the **TS source-of-truth / Rust optional-accelerator** boundary (publish never compiles Rust). `sks zellij status`/`repair` inspects the Zellij runtime without auto-installing anything.
20
26
 
21
27
  ```bash
22
28
  sks mad-sks plan --target-root <path> --json
@@ -243,7 +249,7 @@ Install Zellij from [zellij.dev](https://zellij.dev/documentation/installation.h
243
249
  brew install zellij
244
250
  ```
245
251
 
246
- The default `sks` runtime checks npm for newer `sneakoscope` and `@openai/codex` versions before opening the interactive runtime. `sks --mad` also checks dependencies, requires Zellij for interactive MAD/lane UI, and prints only the session, gate, attach, and blocker details needed to act.
252
+ 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.
247
253
 
248
254
  ## Installation
249
255
 
@@ -314,7 +320,7 @@ sks --version
314
320
 
315
321
  ```sh
316
322
  sks bootstrap
317
- sks deps check
323
+ sks deps check --yes
318
324
  sks codex-app check
319
325
  sks doctor --fix
320
326
  sks fix-path
@@ -344,17 +350,24 @@ sks
344
350
 
345
351
  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 interactive 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-*` 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.
346
352
 
347
- 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>`.
353
+ 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:
348
354
 
349
- ### Switching back to ChatGPT OAuth (releasing codex-lb)
355
+ ```sh
356
+ sks codex-lb set-key --api-key-stdin # or: sks codex-lb set-key --api-key "sk-clb-..."
357
+ ```
358
+
359
+ (To also change the host, use `sks codex-lb reconfigure --host <domain> --api-key <key>`.)
350
360
 
351
- If you want to hand control back to your official ChatGPT account login after codex-lb has been reconciled, use `sks codex-lb release`:
361
+ ### Switching auth mode: codex-lb ChatGPT OAuth
362
+
363
+ Switch between the codex-lb API key and your ChatGPT OAuth login at any time with intent-named commands:
352
364
 
353
365
  ```sh
354
- sks codex-lb release
366
+ sks codex-lb use-oauth # hand control back to ChatGPT OAuth
367
+ sks codex-lb use-codex-lb # switch back to the codex-lb API key
355
368
  ```
356
369
 
357
- This restores `~/.codex/auth.chatgpt-backup.json` (written by the 0.9.3 auto-reconcile) to `~/.codex/auth.json` and unsets `model_provider = "codex-lb"` so Codex CLI/App falls back to ChatGPT OAuth. To re-engage codex-lb afterward, run `sks codex-lb repair`.
370
+ `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 and re-syncs codex-lb. (The older verbs `sks codex-lb release` / `repair` remain as aliases.)
358
371
 
359
372
  Flags:
360
373
 
@@ -423,6 +436,25 @@ Manual fan-out syntax:
423
436
 
424
437
  Effort is assigned per agent. Simple read-only/docs slices can run low, ordinary tooling and lease mapping use medium, safety/DB/schema/release lanes use high, and frontier/forensic research can escalate to xhigh. 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.
425
438
 
439
+ ### Naruto Shadow Clone Swarm (`$Naruto`)
440
+
441
+ `$Naruto` (影分身 / Kage Bunshin no Jutsu) is a high-scale mode of the native agent kernel for broad fan-out work — codebase-wide sweeps, parallel drafting, large audits. It lifts the standard 20-agent ceiling to **up to 100 clone sessions** (only for this route; every other route keeps the 20 cap).
442
+
443
+ ```sh
444
+ sks naruto run "sweep the codebase for TODO comments and summarize"
445
+ sks naruto run "draft a unit test for every module" --clones 100
446
+ sks naruto run "demo" --clones 24 --backend fake --json # fast, no Codex calls
447
+ sks naruto status
448
+ ```
449
+
450
+ Aliases: `$ShadowClone`, `$Kagebunshin`, and the CLI flag `sks --naruto`.
451
+
452
+ - **System-aware concurrency:** `--clones N` is the total work fan-out, but `$Naruto` never spawns the whole count at once. Live concurrency is throttled to a host-safe number derived from CPU cores and free memory (heavier cap for real `codex-exec` workers, tighter packing for in-process `fake`). So `--clones 100` on a small host still processes all 100 work units while only running a safe handful at a time; the run reports when it throttles. Override with `SKS_NARUTO_MAX_CONCURRENCY=<n>`.
453
+ - **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.
454
+ - **Safe parallel writes:** clones coordinate through the same lease-based patch-swarm (merge coordinator + conflict rebase + transaction journal) as Team.
455
+
456
+ See [docs/naruto.md](docs/naruto.md) for the full reference.
457
+
426
458
  ### QA, Computer Use, Goal, Research, DB, Wiki, GX
427
459
 
428
460
  ```sh
@@ -584,7 +616,7 @@ First install:
584
616
  ```sh
585
617
  npm i -g sneakoscope
586
618
  sks bootstrap
587
- sks deps check
619
+ sks deps check --yes
588
620
  sks codex-app check
589
621
  sks selftest --mock
590
622
  ```
@@ -699,7 +731,7 @@ npm run release:check
699
731
  npm run publish:dry
700
732
  ```
701
733
 
702
- `release:check` runs the 1.18.14 Zellij-only closure DAG, writes a source digest stamp under `.sneakoscope/reports/`, then refreshes release readiness so publish commands can verify the same stamp. The DAG preserves the 1.18 baseline gates and adds patch swarm runtime truth, transaction journaling, serial conflict rebase, strict strategy-to-patch proof, rollback command proof, Native CLI Session Swarm 5/10/20-process proof, Real Worker Backend Router proof, Codex child overlap proof, model-authored patch-envelope separation, Zellij layout/pane/screen proof, no-subagent-scaling proof, Fast mode default/worker/Codex/MAD propagation proof, Appshots attachment provenance, MCP runtime overlap evidence, Codex 0.134/0.135 runner truth, task graph expansion, schema-bound follow-up work, actual Agent/Team/Research/QA route blackboxes, scheduler proof hardening, Source Intelligence propagation, and Goal mode propagation checks. Broader live gates remain explicit scripts such as `release:real-check`; real Codex patch smoke, real Codex parallel worker proof, and real Zellij proof are optional unless their `SKS_REQUIRE_REAL_*` or `SKS_REQUIRE_ZELLIJ=1` environment variables are set. Generate the human-readable registry with `sks features inventory --write-docs`. Plain `npm publish` uses the `latest` dist-tag. npm's `prepublishOnly` verifies the fresh release stamp instead of rerunning the full gate, and `prepack` only rebuilds `dist`; publish no longer repeats the expensive release suite during packaging. `npm run publish:dry` remains the explicit dry-run helper.
734
+ `release:check` runs the 1.19.0 Zellij dependency-repair closure DAG, writes a source digest stamp under `.sneakoscope/reports/`, then refreshes release readiness so publish commands can verify the same stamp. The DAG preserves the 1.18 baseline gates and adds patch swarm runtime truth, transaction journaling, serial conflict rebase, strict strategy-to-patch proof, rollback command proof, Native CLI Session Swarm 5/10/20-process proof, Real Worker Backend Router proof, Codex child overlap proof, model-authored patch-envelope separation, Zellij layout/pane/screen proof, no-subagent-scaling proof, Fast mode default/worker/Codex/MAD propagation proof, Appshots attachment provenance, MCP runtime overlap evidence, Codex 0.134/0.135 runner truth, task graph expansion, schema-bound follow-up work, actual Agent/Team/Research/QA route blackboxes, scheduler proof hardening, Source Intelligence propagation, and Goal mode propagation checks. Broader live gates remain explicit scripts such as `release:real-check`; real Codex patch smoke, real Codex parallel worker proof, and real Zellij proof are optional unless their `SKS_REQUIRE_REAL_*` or `SKS_REQUIRE_ZELLIJ=1` environment variables are set. Generate the human-readable registry with `sks features inventory --write-docs`. Plain `npm publish` uses the `latest` dist-tag. npm's `prepublishOnly` verifies the fresh release stamp instead of rerunning the full gate, and `prepack` only rebuilds `dist`; publish no longer repeats the expensive release suite during packaging. `npm run publish:dry` remains the explicit dry-run helper.
703
735
 
704
736
  Version bumps are manual. Run `sks versioning bump` only when preparing release metadata; SKS will not create `.git/hooks/pre-commit` or auto-bump during ordinary commits.
705
737
 
@@ -76,7 +76,7 @@ dependencies = [
76
76
 
77
77
  [[package]]
78
78
  name = "sks-core"
79
- version = "1.18.14"
79
+ version = "1.20.2"
80
80
  dependencies = [
81
81
  "serde_json",
82
82
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sks-core"
3
- version = "1.18.14"
3
+ version = "1.20.2"
4
4
  edition = "2021"
5
5
 
6
6
  [dependencies]
@@ -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.14"),
7
+ Some("--version") => println!("sks-rs 1.20.2"),
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.14",
5
- "source_digest": "b13a96880fa5b57ba4b3649ac5bedbcca941d871f92f9a4bf396ab20fd9c8b4b",
6
- "source_file_count": 1679,
7
- "built_at_source_time": 1780051095178
4
+ "package_version": "1.20.2",
5
+ "source_digest": "d1ccddca4a2c7be54d3129554ea90f8d07efb093592c1e269399fa0e5b92d3ba",
6
+ "source_file_count": 1740,
7
+ "built_at_source_time": 1780235613612
8
8
  }
package/dist/bin/sks.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- const FAST_PACKAGE_VERSION = '1.18.14';
2
+ const FAST_PACKAGE_VERSION = '1.20.2';
3
3
  const args = process.argv.slice(2);
4
4
  try {
5
5
  if (args[0] === '--agent' && args[1] === 'worker') {
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "schema": "sks.dist-build.v2",
3
- "version": "1.18.14",
4
- "package_version": "1.18.14",
3
+ "version": "1.20.2",
4
+ "package_version": "1.20.2",
5
5
  "typescript": true,
6
- "mjs_runtime_files": 1,
7
- "compiled_file_count": 972,
8
- "compiled_js_count": 486,
9
- "compiled_dts_count": 486,
10
- "source_digest": "b13a96880fa5b57ba4b3649ac5bedbcca941d871f92f9a4bf396ab20fd9c8b4b",
11
- "source_file_count": 1679,
12
- "source_files_hash": "737317372a19030a70f432942ce650900c05270a2a1d1c49281d135a1b15e66c",
13
- "source_list_hash": "737317372a19030a70f432942ce650900c05270a2a1d1c49281d135a1b15e66c",
6
+ "mjs_runtime_files": 0,
7
+ "compiled_file_count": 1016,
8
+ "compiled_js_count": 508,
9
+ "compiled_dts_count": 508,
10
+ "source_digest": "d1ccddca4a2c7be54d3129554ea90f8d07efb093592c1e269399fa0e5b92d3ba",
11
+ "source_file_count": 1740,
12
+ "source_files_hash": "7484278e30e61755c2158548e697943af09e5a59de7c6b60018a0ac57848c6ec",
13
+ "source_list_hash": "7484278e30e61755c2158548e697943af09e5a59de7c6b60018a0ac57848c6ec",
14
14
  "src_mjs_runtime_files": 0,
15
15
  "dist_stamp_schema": "sks.dist-build-stamp.v1",
16
16
  "files": [
@@ -186,6 +186,8 @@
186
186
  "commands/wiki.js",
187
187
  "commands/zellij-lane.d.ts",
188
188
  "commands/zellij-lane.js",
189
+ "commands/zellij.d.ts",
190
+ "commands/zellij.js",
189
191
  "core/agents/agent-central-ledger.d.ts",
190
192
  "core/agents/agent-central-ledger.js",
191
193
  "core/agents/agent-cleanup-executor.d.ts",
@@ -456,6 +458,8 @@
456
458
  "core/commands/image-ux-review-command.js",
457
459
  "core/commands/mad-sks-command.d.ts",
458
460
  "core/commands/mad-sks-command.js",
461
+ "core/commands/naruto-command.d.ts",
462
+ "core/commands/naruto-command.js",
459
463
  "core/commands/paths-command.d.ts",
460
464
  "core/commands/paths-command.js",
461
465
  "core/commands/perf-command.d.ts",
@@ -614,6 +618,8 @@
614
618
  "core/image-ux-review.js",
615
619
  "core/image-ux-review/callout-extraction.d.ts",
616
620
  "core/image-ux-review/callout-extraction.js",
621
+ "core/image-ux-review/codex-app-generated-image-discovery.d.ts",
622
+ "core/image-ux-review/codex-app-generated-image-discovery.js",
617
623
  "core/image-ux-review/fix-loop.d.ts",
618
624
  "core/image-ux-review/fix-loop.js",
619
625
  "core/image-ux-review/fix-task-planner.d.ts",
@@ -628,6 +634,8 @@
628
634
  "core/image-ux-review/recapture.js",
629
635
  "core/imagegen/gpt-image-2-request-validator.d.ts",
630
636
  "core/imagegen/gpt-image-2-request-validator.js",
637
+ "core/imagegen/imagegen-auth-readiness.d.ts",
638
+ "core/imagegen/imagegen-auth-readiness.js",
631
639
  "core/imagegen/imagegen-capability.d.ts",
632
640
  "core/imagegen/imagegen-capability.js",
633
641
  "core/init.d.ts",
@@ -688,6 +696,8 @@
688
696
  "core/memory-governor.js",
689
697
  "core/memory-summary.d.ts",
690
698
  "core/memory-summary.js",
699
+ "core/migration/migration-transaction-journal.d.ts",
700
+ "core/migration/migration-transaction-journal.js",
691
701
  "core/mission.d.ts",
692
702
  "core/mission.js",
693
703
  "core/mistake-memory.d.ts",
@@ -827,6 +837,10 @@
827
837
  "core/recallpulse.js",
828
838
  "core/release-parallel-full-coverage.d.ts",
829
839
  "core/release-parallel-full-coverage.js",
840
+ "core/release/gate-cache.d.ts",
841
+ "core/release/gate-cache.js",
842
+ "core/release/gate-manifest.d.ts",
843
+ "core/release/gate-manifest.js",
830
844
  "core/reporting/markdown-table.d.ts",
831
845
  "core/reporting/markdown-table.js",
832
846
  "core/research.d.ts",
@@ -839,12 +853,40 @@
839
853
  "core/routes.js",
840
854
  "core/rust-accelerator.d.ts",
841
855
  "core/rust-accelerator.js",
856
+ "core/safety/mutation-guard.d.ts",
857
+ "core/safety/mutation-guard.js",
858
+ "core/safety/mutation-ledger.d.ts",
859
+ "core/safety/mutation-ledger.js",
860
+ "core/safety/requested-scope-contract.d.ts",
861
+ "core/safety/requested-scope-contract.js",
842
862
  "core/secret-redaction.d.ts",
843
863
  "core/secret-redaction.js",
844
864
  "core/session/project-namespace.d.ts",
845
865
  "core/session/project-namespace.js",
846
866
  "core/skill-forge.d.ts",
847
867
  "core/skill-forge.js",
868
+ "core/skills/core-rollout-trace.d.ts",
869
+ "core/skills/core-rollout-trace.js",
870
+ "core/skills/core-skill-card.d.ts",
871
+ "core/skills/core-skill-card.js",
872
+ "core/skills/core-skill-deployment.d.ts",
873
+ "core/skills/core-skill-deployment.js",
874
+ "core/skills/core-skill-epoch.d.ts",
875
+ "core/skills/core-skill-epoch.js",
876
+ "core/skills/core-skill-patch-apply.d.ts",
877
+ "core/skills/core-skill-patch-apply.js",
878
+ "core/skills/core-skill-patch.d.ts",
879
+ "core/skills/core-skill-patch.js",
880
+ "core/skills/core-skill-runtime.d.ts",
881
+ "core/skills/core-skill-runtime.js",
882
+ "core/skills/core-skill-scorer.d.ts",
883
+ "core/skills/core-skill-scorer.js",
884
+ "core/skills/core-skill-types.d.ts",
885
+ "core/skills/core-skill-types.js",
886
+ "core/skills/core-skill-validation.d.ts",
887
+ "core/skills/core-skill-validation.js",
888
+ "core/skills/rejected-skill-patch-buffer.d.ts",
889
+ "core/skills/rejected-skill-patch-buffer.js",
848
890
  "core/source-intelligence/appshots-evidence.d.ts",
849
891
  "core/source-intelligence/appshots-evidence.js",
850
892
  "core/source-intelligence/codex-history-search.d.ts",
@@ -873,6 +915,8 @@
873
915
  "core/team-review-policy.js",
874
916
  "core/triwiki-attention.d.ts",
875
917
  "core/triwiki-attention.js",
918
+ "core/triwiki-runtime.d.ts",
919
+ "core/triwiki-runtime.js",
876
920
  "core/triwiki-wrongness/avoidance-rules.d.ts",
877
921
  "core/triwiki-wrongness/avoidance-rules.js",
878
922
  "core/triwiki-wrongness/image-wrongness.d.ts",
@@ -985,7 +1029,6 @@
985
1029
  "core/zellij/zellij-pane-proof.js",
986
1030
  "core/zellij/zellij-screen-proof.d.ts",
987
1031
  "core/zellij/zellij-screen-proof.js",
988
- "scripts/codex-config-load-probe.mjs",
989
1032
  "scripts/release-parallel-check.d.ts",
990
1033
  "scripts/release-parallel-check.js",
991
1034
  "vendor/openai-codex/latest/hooks/permission-request.command.input.schema.json",
@@ -50,6 +50,7 @@ export declare const COMMANDS: {
50
50
  hermes: CommandEntry;
51
51
  tmux: CommandEntry;
52
52
  'zellij-lane': CommandEntry;
53
+ zellij: CommandEntry;
53
54
  mad: CommandEntry;
54
55
  'mad-sks': CommandEntry;
55
56
  'auto-review': CommandEntry;
@@ -62,6 +63,7 @@ export declare const COMMANDS: {
62
63
  dfix: CommandEntry;
63
64
  team: CommandEntry;
64
65
  agent: CommandEntry;
66
+ naruto: CommandEntry;
65
67
  'qa-loop': CommandEntry;
66
68
  research: CommandEntry;
67
69
  autoresearch: CommandEntry;
@@ -136,6 +138,7 @@ export declare const TYPED_COMMANDS: {
136
138
  hermes: CommandEntry;
137
139
  tmux: CommandEntry;
138
140
  'zellij-lane': CommandEntry;
141
+ zellij: CommandEntry;
139
142
  mad: CommandEntry;
140
143
  'mad-sks': CommandEntry;
141
144
  'auto-review': CommandEntry;
@@ -148,6 +151,7 @@ export declare const TYPED_COMMANDS: {
148
151
  dfix: CommandEntry;
149
152
  team: CommandEntry;
150
153
  agent: CommandEntry;
154
+ naruto: CommandEntry;
151
155
  'qa-loop': CommandEntry;
152
156
  research: CommandEntry;
153
157
  autoresearch: CommandEntry;
@@ -201,6 +205,7 @@ export declare const COMMAND_ALIASES: {
201
205
  readonly '--MAD': "mad";
202
206
  readonly '--mad-sks': "mad-sks";
203
207
  readonly '--agent': "agent";
208
+ readonly '--naruto': "naruto";
204
209
  };
205
210
  export type CommandName = Extract<keyof typeof COMMANDS, string>;
206
211
  export declare function commandNames(): CommandName[];
@@ -103,6 +103,7 @@ export const COMMANDS = {
103
103
  hermes: entry('labs', 'Create Hermes Agent skill package', 'dist/commands/hermes.js', directCommand(() => import('../commands/hermes.js'), 'dist/commands/hermes.js')),
104
104
  tmux: entry('beta', 'Show removed-runtime migration notice', 'dist/commands/tmux.js', directCommand(() => import('../commands/tmux.js'), 'dist/commands/tmux.js')),
105
105
  'zellij-lane': entry('beta', 'Render a Zellij lane frame for SKS sessions', 'dist/commands/zellij-lane.js', directCommand(() => import('../commands/zellij-lane.js'), 'dist/commands/zellij-lane.js')),
106
+ zellij: entry('beta', 'Inspect Zellij runtime status and explain repair (no auto-install)', 'dist/commands/zellij.js', directCommand(() => import('../commands/zellij.js'), 'dist/commands/zellij.js')),
106
107
  mad: entry('beta', 'MAD-SKS Zellij permission launcher', 'dist/commands/mad-sks.js', directCommand(() => import('../commands/mad-sks.js'), 'dist/commands/mad-sks.js')),
107
108
  'mad-sks': entry('beta', 'MAD-SKS scoped permission modifier', 'dist/commands/mad-sks.js', directCommand(() => import('../commands/mad-sks.js'), 'dist/commands/mad-sks.js')),
108
109
  'auto-review': entry('beta', 'Manage auto-review profile', 'dist/commands/auto-review.js', directCommand(() => import('../commands/auto-review.js'), 'dist/commands/auto-review.js')),
@@ -115,6 +116,7 @@ export const COMMANDS = {
115
116
  dfix: entry('stable', 'Run DFix diagnose/plan/patch/verify loop', 'dist/core/commands/dfix-command.js', commandArgsCommand(() => import('../core/commands/dfix-command.js'), 'dfixCommand', 'dist/core/commands/dfix-command.js')),
116
117
  team: entry('beta', 'Create and observe Team missions', 'dist/core/commands/team-command.js', argsCommand(() => import('../core/commands/team-command.js'), 'team', 'dist/core/commands/team-command.js')),
117
118
  agent: entry('beta', 'Run native multi-session agent missions', 'dist/core/commands/agent-command.js', argsCommand(() => import('../core/commands/agent-command.js'), 'agentCommand', 'dist/core/commands/agent-command.js')),
119
+ naruto: entry('labs', 'Run $Naruto shadow-clone swarm (up to 100 parallel sessions)', 'dist/core/commands/naruto-command.js', argsCommand(() => import('../core/commands/naruto-command.js'), 'narutoCommand', 'dist/core/commands/naruto-command.js')),
118
120
  'qa-loop': entry('beta', 'Run QA loop missions', 'dist/core/commands/qa-loop-command.js', subcommand(() => import('../core/commands/qa-loop-command.js'), 'qaLoopCommand', 'dist/core/commands/qa-loop-command.js')),
119
121
  research: entry('labs', 'Run research missions', 'dist/core/commands/research-command.js', subcommand(() => import('../core/commands/research-command.js'), 'researchCommand', 'dist/core/commands/research-command.js')),
120
122
  autoresearch: entry('labs', 'Alias for research/autoresearch route', 'dist/core/commands/autoresearch-command.js', subcommand(() => import('../core/commands/autoresearch-command.js'), 'autoresearchCommand', 'dist/core/commands/autoresearch-command.js', 'status')),
@@ -168,7 +170,8 @@ export const COMMAND_ALIASES = {
168
170
  '--mad': 'mad',
169
171
  '--MAD': 'mad',
170
172
  '--mad-sks': 'mad-sks',
171
- '--agent': 'agent'
173
+ '--agent': 'agent',
174
+ '--naruto': 'naruto'
172
175
  };
173
176
  export function commandNames() {
174
177
  return Object.keys(COMMANDS).sort();
@@ -64,6 +64,7 @@ export type ConfigureCodexLbResult = {
64
64
  config_path?: string;
65
65
  env_path?: string;
66
66
  metadata_path?: string;
67
+ backup_path?: string | null;
67
68
  base_url?: string;
68
69
  env_key?: string;
69
70
  keychain?: Record<string, unknown>;
@@ -80,7 +81,7 @@ export type ConfigureCodexLbResult = {
80
81
  repair?: CodexLbAuthInstallResult;
81
82
  } & Partial<CodexLbStatusSnapshot>;
82
83
  export type CodexLbLaunchPromptResult = ConfigureCodexLbResult;
83
- export declare function postinstall({ bootstrap }: any): Promise<void>;
84
+ export declare function postinstall({ bootstrap, args }: any): Promise<void>;
84
85
  export declare function postinstallBootstrapDecision(root: any): Promise<{
85
86
  run: boolean;
86
87
  reason: string;
@@ -283,23 +284,72 @@ export declare function maybePromptCodexLbSetupForLaunch(args?: any, opts?: any)
283
284
  auth_summary: string;
284
285
  status: string;
285
286
  }>;
287
+ export declare function upsertCodexLbConfig(text: any | undefined, baseUrl: any, selectDefault?: boolean): string;
286
288
  export declare function ensureGlobalCodexFastModeDuringInstall(opts?: any): Promise<{
287
289
  status: string;
288
290
  reason: string;
289
291
  config_path?: never;
292
+ backup_path?: never;
293
+ parse_smoke?: never;
290
294
  error?: never;
291
295
  } | {
292
296
  status: string;
293
297
  config_path: any;
298
+ backup_path: string | null;
299
+ parse_smoke: {
300
+ ok: boolean;
301
+ unterminated_multiline_string: boolean;
302
+ invalid_table_header: string | null;
303
+ };
304
+ reason?: never;
305
+ error?: never;
306
+ } | {
307
+ status: string;
308
+ config_path: any;
309
+ reason?: never;
310
+ backup_path?: never;
311
+ parse_smoke?: never;
312
+ error?: never;
313
+ } | {
314
+ status: string;
315
+ config_path: any;
316
+ parse_smoke: {
317
+ ok: boolean;
318
+ unterminated_multiline_string: boolean;
319
+ invalid_table_header: string | null;
320
+ };
321
+ reason?: never;
322
+ backup_path?: never;
323
+ error?: never;
324
+ } | {
325
+ status: string;
326
+ config_path: any;
327
+ backup_path: string | null;
294
328
  reason?: never;
329
+ parse_smoke?: never;
295
330
  error?: never;
296
331
  } | {
297
332
  status: string;
298
333
  config_path: any;
299
334
  error: any;
300
335
  reason?: never;
336
+ backup_path?: never;
337
+ parse_smoke?: never;
301
338
  }>;
302
339
  export declare function normalizeCodexFastModeUiConfig(text?: any): string;
340
+ export declare function safeWriteCodexConfigToml(configPath: string, current: string, next: string, tag?: string): Promise<{
341
+ ok: boolean;
342
+ status: string;
343
+ config_path: string;
344
+ backup_path: string | null;
345
+ changed?: never;
346
+ } | {
347
+ ok: boolean;
348
+ status: string;
349
+ config_path: string;
350
+ backup_path: string | null;
351
+ changed: boolean;
352
+ }>;
303
353
  export declare function ensureSksCommandDuringInstall(opts?: any): Promise<SksPostinstallShimResult>;
304
354
  export declare function selftestSksShimRepair(): Promise<{
305
355
  ok: boolean;
@@ -346,6 +396,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
346
396
  bin?: never;
347
397
  version?: never;
348
398
  error?: never;
399
+ command?: never;
349
400
  hint?: never;
350
401
  } | {
351
402
  status: string;
@@ -353,6 +404,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
353
404
  version: string | null;
354
405
  reason?: never;
355
406
  error?: never;
407
+ command?: never;
356
408
  hint?: never;
357
409
  } | {
358
410
  status: string;
@@ -360,6 +412,15 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
360
412
  reason?: never;
361
413
  bin?: never;
362
414
  version?: never;
415
+ command?: never;
416
+ hint?: never;
417
+ } | {
418
+ status: string;
419
+ command: string;
420
+ error: string;
421
+ reason?: never;
422
+ bin?: never;
423
+ version?: never;
363
424
  hint?: never;
364
425
  } | {
365
426
  status: string;
@@ -368,6 +429,7 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
368
429
  hint: string | null;
369
430
  reason?: never;
370
431
  error?: never;
432
+ command?: never;
371
433
  };
372
434
  zellij: {
373
435
  ok: boolean;
@@ -401,15 +463,87 @@ export declare function ensureRelatedCliTools(args?: any): Promise<{
401
463
  reason: string;
402
464
  };
403
465
  install_hint: string | null;
404
- error: string | null;
466
+ error: any;
467
+ };
468
+ }>;
469
+ export declare function ensureMadLaunchDependencies(args?: any): Promise<{
470
+ ready: boolean;
471
+ actions: {
472
+ target: string;
473
+ status: string;
474
+ command: any;
475
+ error: any;
476
+ repair: {
477
+ target: string;
478
+ status: string;
479
+ bin: "zellij";
480
+ version: string | null;
481
+ command?: never;
482
+ error?: never;
483
+ } | {
484
+ target: string;
485
+ status: string;
486
+ command: string;
487
+ error: string | null;
488
+ bin?: never;
489
+ version?: never;
490
+ } | {
491
+ target: string;
492
+ status: string;
493
+ command: string;
494
+ bin: "zellij";
495
+ version: string | null;
496
+ error?: never;
497
+ } | {
498
+ target: string;
499
+ status: string;
500
+ reason: string;
501
+ };
502
+ }[];
503
+ status: {
504
+ zellij: {
505
+ ok: boolean;
506
+ status: "blocked" | "ok" | "missing" | "too_old";
507
+ version: string | null;
508
+ min_version: string;
509
+ repair: {
510
+ target: string;
511
+ status: string;
512
+ bin: "zellij";
513
+ version: string | null;
514
+ command?: never;
515
+ error?: never;
516
+ } | {
517
+ target: string;
518
+ status: string;
519
+ command: string;
520
+ error: string | null;
521
+ bin?: never;
522
+ version?: never;
523
+ } | {
524
+ target: string;
525
+ status: string;
526
+ command: string;
527
+ bin: "zellij";
528
+ version: string | null;
529
+ error?: never;
530
+ } | {
531
+ target: string;
532
+ status: string;
533
+ reason: string;
534
+ };
535
+ install_hint: string | null;
536
+ };
405
537
  };
406
538
  }>;
407
- export declare function ensureCodexCliTool({ skip }?: any): Promise<{
539
+ export declare function formatMadLaunchDependencyAction(action?: any): string;
540
+ export declare function ensureCodexCliTool({ skip, args }?: any): Promise<{
408
541
  status: string;
409
542
  reason: string;
410
543
  bin?: never;
411
544
  version?: never;
412
545
  error?: never;
546
+ command?: never;
413
547
  hint?: never;
414
548
  } | {
415
549
  status: string;
@@ -417,6 +551,7 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
417
551
  version: string | null;
418
552
  reason?: never;
419
553
  error?: never;
554
+ command?: never;
420
555
  hint?: never;
421
556
  } | {
422
557
  status: string;
@@ -424,6 +559,15 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
424
559
  reason?: never;
425
560
  bin?: never;
426
561
  version?: never;
562
+ command?: never;
563
+ hint?: never;
564
+ } | {
565
+ status: string;
566
+ command: string;
567
+ error: string;
568
+ reason?: never;
569
+ bin?: never;
570
+ version?: never;
427
571
  hint?: never;
428
572
  } | {
429
573
  status: string;
@@ -432,6 +576,7 @@ export declare function ensureCodexCliTool({ skip }?: any): Promise<{
432
576
  hint: string | null;
433
577
  reason?: never;
434
578
  error?: never;
579
+ command?: never;
435
580
  }>;
436
581
  export declare function ensureZellijCliTool(args?: any, opts?: any): Promise<{
437
582
  target: string;