loki-mode 11.3.8 → 11.4.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 (103) hide show
  1. package/README.md +34 -18
  2. package/SKILL.md +3 -3
  3. package/VERSION +1 -1
  4. package/agents/custom_agents.py +280 -0
  5. package/autonomy/council-v2.sh +22 -1
  6. package/autonomy/edit.sh +242 -0
  7. package/autonomy/lib/chat.sh +312 -0
  8. package/autonomy/lib/help-core.sh +164 -0
  9. package/autonomy/lib/json-output.sh +38 -0
  10. package/autonomy/lib/run-summary.sh +96 -0
  11. package/autonomy/loki +105 -10
  12. package/autonomy/route.sh +270 -0
  13. package/autonomy/run.sh +6 -0
  14. package/autonomy/setup-wizard.sh +161 -0
  15. package/autonomy/verify.sh +22 -2
  16. package/bin/loki +73 -18
  17. package/completions/_loki +55 -0
  18. package/completions/loki.bash +49 -3
  19. package/dashboard/__init__.py +1 -1
  20. package/docs/CLI-CORE-VERBS.md +112 -0
  21. package/docs/CLI-REFERENCE.md +7 -1
  22. package/docs/COMPARE-OPENCODE.md +94 -0
  23. package/docs/COMPONENTS.md +1 -0
  24. package/docs/INSTALLATION.md +56 -12
  25. package/docs/KNOWN-ISSUES.md +2 -12
  26. package/docs/QUICKSTART.md +108 -0
  27. package/docs/environment-variables.md +9 -2
  28. package/docs/exit-codes.md +29 -12
  29. package/docs/v10/CLI-MODERN.md +10 -4
  30. package/docs/v10/FAILURE-CLASSES.md +2 -2
  31. package/docs/v10/GUIDE.md +270 -44
  32. package/docs/v10/METRICS.md +6 -0
  33. package/docs/v10/OPENCODE-PARITY-PLAN.md +84 -0
  34. package/docs/v10/PROGRESS.md +7 -0
  35. package/loki-ts/dist/loki.js +968 -933
  36. package/mcp/__init__.py +1 -1
  37. package/package.json +2 -2
  38. package/packages/control-plane/dist/server.js +198 -86
  39. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  40. package/providers/claude.sh +16 -2
  41. package/providers/model_route_exec.sh +22 -0
  42. package/providers/model_routes.sh +188 -0
  43. package/skills/providers.md +13 -0
  44. package/templates/agents/planner.md +10 -0
  45. package/templates/agents/reviewer.md +10 -0
  46. package/templates/agents/tester.md +10 -0
  47. package/web-app/dist/assets/{AdminPage-D1jlQGeE.js → AdminPage-CYJ2BWRC.js} +1 -1
  48. package/web-app/dist/assets/{Avatar-QUX_aJfQ.js → Avatar-DdK4wynI.js} +1 -1
  49. package/web-app/dist/assets/{Badge-pysXUR6J.js → Badge-CrX3MI7J.js} +1 -1
  50. package/web-app/dist/assets/{Button-CWzlTw9P.js → Button-709-wwGM.js} +1 -1
  51. package/web-app/dist/assets/{CockpitPage-DLCoLdyF.js → CockpitPage-BapdTInO.js} +1 -1
  52. package/web-app/dist/assets/{ComparePage-CCENGIti.js → ComparePage-DT99pGvA.js} +1 -1
  53. package/web-app/dist/assets/{ErrorBoundary-BssCcbgv.js → ErrorBoundary-B0uJSys8.js} +1 -1
  54. package/web-app/dist/assets/{EvidenceReceiptPanel-CwmAqJ90.js → EvidenceReceiptPanel-BtMFgElP.js} +1 -1
  55. package/web-app/dist/assets/{GitHubIssuesPanel-DuSw8shb.js → GitHubIssuesPanel-DjJuU941.js} +1 -1
  56. package/web-app/dist/assets/{GitHubPRsPanel-CGvLbDjh.js → GitHubPRsPanel-HXfEX1BC.js} +1 -1
  57. package/web-app/dist/assets/{HomePage-BrBX5Gn2.js → HomePage-Cqyves-S.js} +2 -2
  58. package/web-app/dist/assets/{LoginPage-DPjr7QHU.js → LoginPage-jUbtC7_Y.js} +1 -1
  59. package/web-app/dist/assets/{MagicPage-Dxd7FWF2.js → MagicPage-DHRsqjgR.js} +1 -1
  60. package/web-app/dist/assets/{MetricsPage-BP47Urni.js → MetricsPage-B-pED05R.js} +1 -1
  61. package/web-app/dist/assets/{NotFoundPage-D7_07YoB.js → NotFoundPage-CsbUs21R.js} +1 -1
  62. package/web-app/dist/assets/{ProjectPage-SQ183efy.js → ProjectPage-BtlLEQwB.js} +3 -3
  63. package/web-app/dist/assets/{ProjectsPage-Cgr1K2Ae.js → ProjectsPage-DaRbRjSp.js} +1 -1
  64. package/web-app/dist/assets/{SettingsPage-kyYOSDt0.js → SettingsPage-DALrtP3F.js} +1 -1
  65. package/web-app/dist/assets/{ShowcasePage-CRd-H1A4.js → ShowcasePage-CoPHSNP0.js} +1 -1
  66. package/web-app/dist/assets/{SystemSettingsPage-BHBdGXod.js → SystemSettingsPage-kOuSN50O.js} +1 -1
  67. package/web-app/dist/assets/{TeamsPage-CI3Wdbjw.js → TeamsPage-DGWK0LMp.js} +1 -1
  68. package/web-app/dist/assets/{TemplatesPage-DfhCgP6i.js → TemplatesPage-C-_10CwA.js} +1 -1
  69. package/web-app/dist/assets/{TerminalOutput-Cs87YXLJ.js → TerminalOutput-Cz_vPbXL.js} +1 -1
  70. package/web-app/dist/assets/{activity-CrQx5SbK.js → activity-icIsXJVa.js} +1 -1
  71. package/web-app/dist/assets/{bell-Dde5IbnI.js → bell-DbPR2_4r.js} +1 -1
  72. package/web-app/dist/assets/{bot-trRuIJT6.js → bot-DvjP3Yh5.js} +1 -1
  73. package/web-app/dist/assets/{check-DmsthR-3.js → check-D1OBxHeU.js} +1 -1
  74. package/web-app/dist/assets/{chevron-left-C5wZb7mg.js → chevron-left-D09jDZ29.js} +1 -1
  75. package/web-app/dist/assets/{circle-alert-BCb173fK.js → circle-alert-DyZMLOcC.js} +1 -1
  76. package/web-app/dist/assets/{clock-CvcqL3Ma.js → clock-CdpdJTId.js} +1 -1
  77. package/web-app/dist/assets/{cloud-CW1r3-AN.js → cloud-CoLTlmoj.js} +1 -1
  78. package/web-app/dist/assets/{code-xml-uxBTXAfZ.js → code-xml-DrkE2ZZY.js} +1 -1
  79. package/web-app/dist/assets/{database-DBrvW0o1.js → database-CMQQuM2R.js} +1 -1
  80. package/web-app/dist/assets/{dollar-sign-WrOyoDcN.js → dollar-sign-CuioDaOG.js} +1 -1
  81. package/web-app/dist/assets/{file-code-corner-8JC8TI2_.js → file-code-corner-Cx9j9K1S.js} +1 -1
  82. package/web-app/dist/assets/{file-plus-CgUdOr2u.js → file-plus-CYD2zaaI.js} +1 -1
  83. package/web-app/dist/assets/{globe-w-0x46nt.js → globe-6w-hnQkL.js} +1 -1
  84. package/web-app/dist/assets/{hammer-Civ6_wQq.js → hammer-BpqtautL.js} +1 -1
  85. package/web-app/dist/assets/{index-wvGJotyF.js → index-Dzs-9EgJ.js} +3 -3
  86. package/web-app/dist/assets/{layers-Cc3wLG39.js → layers-D5hd7jb7.js} +1 -1
  87. package/web-app/dist/assets/{loader-circle-BedHqfS4.js → loader-circle-C6Y9x_7H.js} +1 -1
  88. package/web-app/dist/assets/{lock-CRyzk3QG.js → lock-D51L7rYh.js} +1 -1
  89. package/web-app/dist/assets/{package-DCT1v7W2.js → package-BJF8hkP8.js} +1 -1
  90. package/web-app/dist/assets/{plus-C7eerOb_.js → plus-D5kUQ79n.js} +1 -1
  91. package/web-app/dist/assets/{refresh-cw-DO753Y_B.js → refresh-cw-BKdlCa7F.js} +1 -1
  92. package/web-app/dist/assets/{rotate-ccw-ptlyGV4I.js → rotate-ccw-_bd_YI1e.js} +1 -1
  93. package/web-app/dist/assets/{scroll-text-CqPwk4yI.js → scroll-text-DbkegIxF.js} +1 -1
  94. package/web-app/dist/assets/{server-BP_VvY9m.js → server-DAwqFIsq.js} +1 -1
  95. package/web-app/dist/assets/{shield-alert-Bf0waB0a.js → shield-alert-BuR1tPHu.js} +1 -1
  96. package/web-app/dist/assets/{thumbs-up-p1roSIsw.js → thumbs-up-BF6p3mRd.js} +1 -1
  97. package/web-app/dist/assets/{trash-2-BrMaXAxl.js → trash-2-BVpnkqqz.js} +1 -1
  98. package/web-app/dist/assets/{trending-down-DaGcCn2W.js → trending-down-DpsDvRwW.js} +1 -1
  99. package/web-app/dist/assets/{trending-up-CKPupOSE.js → trending-up-mFogTjt3.js} +1 -1
  100. package/web-app/dist/assets/{upload-CR0gzibW.js → upload-4T8zpBsi.js} +1 -1
  101. package/web-app/dist/assets/{usePolling-kKzJRjFw.js → usePolling-DPXQv8WO.js} +1 -1
  102. package/web-app/dist/assets/{user-CPOXPTtD.js → user-BYGIFaTm.js} +1 -1
  103. package/web-app/dist/index.html +1 -1
@@ -0,0 +1,84 @@
1
+ # v11.4.0 plan: beat opencode by 1-2 points in every category
2
+
3
+ Founder directive (2026-10-15): close every gap an outside assessment found
4
+ against opencode. Keep Loki autonomous. Keep the harness and internals
5
+ (RARV-C, receipts, Seal, council) as they are, and keep Claude Code as the
6
+ primary provider. Ship all of it as one MINOR release, v11.4.0, built in
7
+ parallel. Under the founder's standing waiver nothing is tested.
8
+
9
+ Founder clarification (2026-10-15): `loki start` is always the primary
10
+ path. `loki chat` is an alternative surface. Every improvement in this
11
+ release (model routes, local models, providers, agents, routing, exit codes,
12
+ run summary, onboarding) must work through `loki start` first. Chat must hand
13
+ off to and from `loki start` without friction: `/run` in chat starts the same
14
+ run with the same model, provider and agents, and chat can attach to a
15
+ running or finished `loki start` session (status, steer, diff, verify).
16
+
17
+ ## Scorecard target
18
+
19
+ | Category | Was (Loki / opencode) | Target | Slices |
20
+ |---|---|---|---|
21
+ | Everyday user experience | 6 / 8 | 10 | OC-CHAT, OC-OUTPUT |
22
+ | Installation and onboarding | 6 / 8 | 10 | OC-ONBOARD, OC-DOCS |
23
+ | Learning curve | 5 / 8 | 10 | OC-ROUTE, OC-HELP |
24
+ | Interactive coding and exploration | 6 / 9 | 10 | OC-CHAT |
25
+ | Small, targeted changes | 7 / 8 | 10 | OC-EDIT |
26
+ | Model/provider flexibility | 5 / 9 | 10 | OC-MODELS, OC-OPENCODE-E10 |
27
+ | Local-model setup | 5 / 8 | 10 | OC-MODELS |
28
+ | Multi-agent workflow design | 7 / 8 | 10 | OC-AGENTS |
29
+ | Documentation consistency | 4 / 7 | 10 | OC-DOCS |
30
+ | Predictability across commands/upgrades | 5 / 6 | 10 | OC-ROUTE, OC-EXIT, OC-PARITY-COST, OC-PARITY-ENFORCE |
31
+
32
+ ## Todo (one slice each, parallel, own branch `slice-OC-<KEY>`)
33
+
34
+ - [x] OC-CHAT: `loki chat` opens an interactive session (the first cut
35
+ also opened it from bare `loki` on a TTY; that was reverted, and bare `loki`
36
+ stays unchanged). Plan mode is read-only and Build mode edits; `/plan`
37
+ and `/build` switch between them. Slash commands: /run, /quick, /edit,
38
+ /verify, /receipt, /model, /provider, /cost, /diff, /undo, /help, /exit.
39
+ `loki chat --tui` launches Claude Code's own TUI.
40
+ - [x] OC-ROUTE: one predictable execution path. Flag-first calls, PRD files
41
+ and one-word starts reach the same engine as the positional form. The
42
+ legacy engine runs only on an explicit `--engine legacy` or
43
+ `LOKI_ENGINE=legacy`. `loki route <args>` prints the engine and why.
44
+ - [x] OC-EXIT: close the three `loki verify` exit-code gaps and use one
45
+ exit-code contract for verify, run, quick and edit. Update
46
+ docs/exit-codes.md and remove the KNOWN-ISSUES entry.
47
+ - [x] OC-MODELS: model routes over the Claude harness, so every Tier-1
48
+ control still works. Routes: `--model openrouter/<id>`, `ollama/<id>`,
49
+ `lmstudio/<id>`, `llamacpp/<id>`, `vllm/<id>`, and any
50
+ Anthropic-compatible base URL. `loki models` lists routes;
51
+ `loki models --local` discovers local runtimes.
52
+ - [x] OC-PARITY-COST: engine10 measures cost for Codex, Cline and Aider.
53
+ - [x] OC-PARITY-ENFORCE: engine10 enforces the budget kill, a post-iteration
54
+ guard scan and native sandbox flags for Codex, Cline, Aider and opencode.
55
+ Receipts still list `kill blocking not enforced` because the scan is post-hoc.
56
+ - [x] OC-OPENCODE-E10: opencode becomes a supported engine10 provider.
57
+ - [x] OC-AGENTS: configurable child agents in `.loki/agents/*.md` (model,
58
+ provider, tools, permissions, prompt), managed with
59
+ `loki agents list|new|show`. Councils and reviewers use them when present,
60
+ and they export to Claude Code subagents.
61
+ - [x] OC-EDIT: `loki edit "<change>"` makes a fast single-pass edit with no
62
+ PR, plan or council. It shows the diff; `--verify` and `--receipt` are
63
+ opt-in.
64
+ - [x] OC-ONBOARD: `loki setup` wizard and `loki doctor --fix`. Claude Code
65
+ first, with required and optional prerequisites stated plainly.
66
+ - [x] OC-HELP: `loki help` shows the core verbs, `loki help all` shows the
67
+ full surface, and `loki help <topic>` covers topics. Mistyped commands get
68
+ "did you mean" suggestions, and `--json` works the same everywhere.
69
+ - [x] OC-OUTPUT: one run summary across engines (result, cost, time,
70
+ receipt, next step), with `--quiet` and NO_COLOR honored.
71
+ - [ ] OC-START-INTEGRATION (after merge): wire every feature above into
72
+ `loki start` (`--model <route>`, `--provider`, configured agents, unified
73
+ summary, exit codes, explain-route). Bare `loki` keeps its current
74
+ behavior and does not open chat. Seamless chat handoff: `/run` reuses the
75
+ chat's model, provider and agents; `loki chat --attach` joins the current
76
+ or last `loki start` session; the run summary's next step names
77
+ `loki chat --attach`.
78
+ - [x] OC-DOCS (after merge; README, INSTALLATION, GUIDE, QUICKSTART and
79
+ COMPARE-OPENCODE written): README, INSTALLATION, GUIDE and a new QUICKSTART
80
+ agree with the code on prerequisites, the spend cap, routing and providers.
81
+ Add docs/COMPARE-OPENCODE.md.
82
+ - [ ] Release: merge onto train-v11.4.0, rebuild loki-ts dist, write a full
83
+ CHANGELOG v11.4.0 section, run `scripts/release.sh minor --bump-only`,
84
+ push main, and confirm the release run.
@@ -1,5 +1,12 @@
1
1
  # Progress
2
2
 
3
+ ## 2026-10-09T02:45Z: v11.3.8 shipped, nightly root cause, 5 slices dispatched (CoS)
4
+ - v11.3.8 (WF-2MIN-3): push 80989fdf0, release 37875150528 success on all jobs, npm next 11.3.8, GH release not draft (body 1180 chars). Dispatch to publish 1m43s; registry lag ~4m29s. Steering smoke PASS.
5
+ - Nightly schedule vs dispatch: no trigger-dependent code path besides dedupe. The 10-08 14:12Z scheduled red (37790534786) tested a0d599d0c, before FC-53 0c0069df3 / NR-DOCTOR 0620ecd0e / NR-PIPE 0a66fe634; dispatch 37780519439 on the same SHA failed identically. Current main passes both tests 5/5 locally.
6
+ - BACKSTOP-TRIGGER built at 65446060c (pytest 68 passed, ci-cache-scope 13 passed, 6 mutations red); TL review running.
7
+ - WF-2MIN-4 TL BLOCK (M2/M3/M4 mutations survive; draft delete reachable on a transient gh error); fix engineer running.
8
+ - Dispatched: CPE24-P2a, CPE24-P4a, FC-01b, FC-09r.
9
+
3
10
  ## 2026-10-09T02:10Z: v11.3.7 train (AUTO-REAP) pushing (CoS)
4
11
  - AUTO-REAP 0024b137e merged (TL APPROVE delta); guards: 19 rows, sigpipe red 1748>1742 fixed by here-strings in test-worktree-reap.sh, rerun 4/0 and 38/0.
5
12
  - In flight: WF-2MIN-3 TL review, WF-2MIN-4 built (ed92048b8), ENV-INTAKE r1fix, CANARY-SHAPE.