loki-mode 11.72.4 → 11.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/SKILL.md +2 -2
  2. package/VERSION +1 -1
  3. package/dashboard/__init__.py +1 -1
  4. package/docs/CLI-REFERENCE.md +1 -1
  5. package/docs/INSTALLATION.md +1 -1
  6. package/docs/dev/architecture-reference.md +26 -0
  7. package/docs/v10/OPERATING-MODEL.md +14 -8
  8. package/docs/v10/RETRO-2026.md +650 -0
  9. package/loki-ts/dist/loki.js +1636 -1637
  10. package/loki-ts/package.json +2 -2
  11. package/mcp/__init__.py +1 -1
  12. package/package.json +3 -3
  13. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  14. package/tools/cockpit/SPEC.md +275 -0
  15. package/tools/cockpit/index.html +144 -0
  16. package/tools/cockpit/roi-basis.json +33 -0
  17. package/tools/cockpit/server.py +891 -0
  18. package/web-app/dist/assets/{AdminPage-xzGuOr-n.js → AdminPage-DLxU8cWs.js} +1 -1
  19. package/web-app/dist/assets/{Avatar-TI-tKKlA.js → Avatar-FpXoF8Iv.js} +1 -1
  20. package/web-app/dist/assets/{Badge-Bpsvr32Y.js → Badge-BpPOaQ1Z.js} +1 -1
  21. package/web-app/dist/assets/{Button-Bs6Ksvez.js → Button-BwM7fgQH.js} +1 -1
  22. package/web-app/dist/assets/{CockpitPage-DO265aOO.js → CockpitPage-nc-CvHy4.js} +1 -1
  23. package/web-app/dist/assets/{ComparePage-CdFol2W2.js → ComparePage-30XVTYmd.js} +1 -1
  24. package/web-app/dist/assets/{ErrorBoundary-BFNHnRlC.js → ErrorBoundary-CfKqjdpH.js} +1 -1
  25. package/web-app/dist/assets/{EvidenceReceiptPanel-BYowSNZf.js → EvidenceReceiptPanel-BVIX0kAo.js} +1 -1
  26. package/web-app/dist/assets/{GitHubIssuesPanel-Q4n1PnKJ.js → GitHubIssuesPanel-CDmHswpW.js} +1 -1
  27. package/web-app/dist/assets/{GitHubPRsPanel-3YAhTdNH.js → GitHubPRsPanel-E-OqBH5f.js} +1 -1
  28. package/web-app/dist/assets/{HomePage-5_s0DB-R.js → HomePage-CESGv5fC.js} +2 -2
  29. package/web-app/dist/assets/{LoginPage-4lLnOEw7.js → LoginPage-BY0y6aE6.js} +1 -1
  30. package/web-app/dist/assets/{MagicPage-B-YdYnHb.js → MagicPage-BpjToOBX.js} +1 -1
  31. package/web-app/dist/assets/{MetricsPage-WTZUrQnh.js → MetricsPage-DpO52H9O.js} +1 -1
  32. package/web-app/dist/assets/{NotFoundPage-DHgW0oAH.js → NotFoundPage-BXU0NGlM.js} +1 -1
  33. package/web-app/dist/assets/{ProjectPage-BekgCDq_.js → ProjectPage-CewcEfOG.js} +3 -3
  34. package/web-app/dist/assets/{ProjectsPage-DK03jcxC.js → ProjectsPage-C7LZkpcR.js} +1 -1
  35. package/web-app/dist/assets/{SettingsPage-CQAz-Z-c.js → SettingsPage-DHp1BCgG.js} +1 -1
  36. package/web-app/dist/assets/{ShowcasePage-BCvi6l1R.js → ShowcasePage-C_E4yQad.js} +1 -1
  37. package/web-app/dist/assets/{SystemSettingsPage-D-pa6BMI.js → SystemSettingsPage-wK7KRqw1.js} +1 -1
  38. package/web-app/dist/assets/{TeamsPage-CXUc1cy-.js → TeamsPage-CiMcY4GR.js} +1 -1
  39. package/web-app/dist/assets/{TemplatesPage-ZBMUi0-a.js → TemplatesPage-pGUCVtD6.js} +1 -1
  40. package/web-app/dist/assets/{TerminalOutput-CrG-Nh0k.js → TerminalOutput-CvD75-gW.js} +1 -1
  41. package/web-app/dist/assets/{activity-B4OW45Iy.js → activity-DSy_WjFp.js} +1 -1
  42. package/web-app/dist/assets/{bell-C9RlDVIm.js → bell-BRHWRNQ-.js} +1 -1
  43. package/web-app/dist/assets/{bot-3LjewrK4.js → bot-CacHJXqJ.js} +1 -1
  44. package/web-app/dist/assets/{check-BTbBe1Gj.js → check-DcGs1awd.js} +1 -1
  45. package/web-app/dist/assets/{chevron-left-DCBZHrXv.js → chevron-left-BpKToVdV.js} +1 -1
  46. package/web-app/dist/assets/{circle-alert-BXEglG-b.js → circle-alert-Cvg68BPU.js} +1 -1
  47. package/web-app/dist/assets/{clock-C-hS5UgA.js → clock-Bm-746fH.js} +1 -1
  48. package/web-app/dist/assets/{cloud-DvapCBZB.js → cloud-DkpICGV1.js} +1 -1
  49. package/web-app/dist/assets/{code-xml-Cp86TqsZ.js → code-xml-Bnps1g8p.js} +1 -1
  50. package/web-app/dist/assets/{database-DhSK5kEY.js → database-DXpzjteu.js} +1 -1
  51. package/web-app/dist/assets/{dollar-sign-Ci4MCIIw.js → dollar-sign-B03JgYAV.js} +1 -1
  52. package/web-app/dist/assets/{file-code-corner-DnjCjsh8.js → file-code-corner-BuEiz3XW.js} +1 -1
  53. package/web-app/dist/assets/{file-plus-B9bsG5Tq.js → file-plus-DhM25BHK.js} +1 -1
  54. package/web-app/dist/assets/{globe-D1S4CTjQ.js → globe-_Xv1tJB8.js} +1 -1
  55. package/web-app/dist/assets/{hammer-BY9BjPRM.js → hammer-D9ZYHuG8.js} +1 -1
  56. package/web-app/dist/assets/{index-w2zPXwIV.js → index-BD-nW46P.js} +3 -3
  57. package/web-app/dist/assets/{layers-CoKx45jP.js → layers-B5nOPH68.js} +1 -1
  58. package/web-app/dist/assets/{loader-circle-BMKEYndi.js → loader-circle-c1OVmB63.js} +1 -1
  59. package/web-app/dist/assets/{lock-BZH8DCdh.js → lock-B5_SQpPS.js} +1 -1
  60. package/web-app/dist/assets/{package-ZDk8UPD_.js → package-Cx_KC4IW.js} +1 -1
  61. package/web-app/dist/assets/{plus-DIbN38-M.js → plus-BCoCE3wz.js} +1 -1
  62. package/web-app/dist/assets/{refresh-cw-Dsl3xoHX.js → refresh-cw-ComZ_-zw.js} +1 -1
  63. package/web-app/dist/assets/{rotate-ccw-DIexIxUg.js → rotate-ccw-D-2b38Jn.js} +1 -1
  64. package/web-app/dist/assets/{scroll-text-Bk3d7iYV.js → scroll-text-BIupqEqW.js} +1 -1
  65. package/web-app/dist/assets/{server-DrTdGxpu.js → server-jYMEfnFP.js} +1 -1
  66. package/web-app/dist/assets/{shield-alert-CTLoIHTS.js → shield-alert-DQmUPlgL.js} +1 -1
  67. package/web-app/dist/assets/{thumbs-up-Dzhq17Pn.js → thumbs-up-CaMdkKBO.js} +1 -1
  68. package/web-app/dist/assets/{trash-2-aapXLPeI.js → trash-2-DUGxfddn.js} +1 -1
  69. package/web-app/dist/assets/{trending-down-Cn_lODPb.js → trending-down-DK-pYPoa.js} +1 -1
  70. package/web-app/dist/assets/{trending-up-eQoFN3XW.js → trending-up-BPhgmVjq.js} +1 -1
  71. package/web-app/dist/assets/{upload-Bg3wIqZl.js → upload-zGWNLWJm.js} +1 -1
  72. package/web-app/dist/assets/{usePolling-gcJn98tf.js → usePolling-CYApkja5.js} +1 -1
  73. package/web-app/dist/assets/{user-hDdryAY2.js → user-D7GR1bID.js} +1 -1
  74. package/web-app/dist/index.html +1 -1
package/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: loki-mode
3
3
  description: Runs an autonomous software factory that knows what it is supposed to deliver and proves it did, with a signed receipt. Use when the user says Loki Mode or asks to build, fix or verify software autonomously.
4
4
  ---
5
5
 
6
- # Loki Mode v11.72.4
6
+ # Loki Mode v11.73.0
7
7
 
8
8
  **Current entry points (Loki 10 engine):** `loki "<task>"`, `loki owner/repo#N` and `loki quick "<task>"` run the Loki 10 engine and end with a signed receipt (`loki verify`). `loki backlog owner/repo --all` runs many issues in parallel. Guide: `docs/v10/GUIDE.md`. The skill instructions below, and `loki start`, describe the previous bash loop. PRD-file starts (`loki start ./prd.md`) and the opencode provider still run on it until FC38-SWEEP ports them; the legacy-engine command and the LOKI_ENGINE switch remain removed. Prefer `loki owner/repo#N` for issues.
9
9
 
@@ -476,4 +476,4 @@ Implemented, planned and deprecated items, with the version each landed in: `ski
476
476
 
477
477
  ---
478
478
 
479
- **v11.72.4 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
479
+ **v11.73.0 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 11.72.4
1
+ 11.73.0
@@ -7,6 +7,6 @@ Modules:
7
7
  control: Session control helpers (status, atomic writes, origin check)
8
8
  """
9
9
 
10
- __version__ = "11.72.4"
10
+ __version__ = "11.73.0"
11
11
 
12
12
  __all__ = ["__version__"]
@@ -1,6 +1,6 @@
1
1
  # CLI reference
2
2
 
3
- Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.72.4. Do not edit by hand.
3
+ Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.73.0. Do not edit by hand.
4
4
  Hidden and legacy-only commands are omitted; see `docs/v10/CLI-MODERN.md` for the full inventory.
5
5
 
6
6
  | Command | Description |
@@ -2,7 +2,7 @@
2
2
 
3
3
  Loki Mode, by [Autonomi](https://www.autonomi.dev/), turns a spec or an issue into a verified pull request with a receipt you can check. This page covers installing it, a first run, and the options around it.
4
4
 
5
- **Version:** v11.72.4
5
+ **Version:** v11.73.0
6
6
 
7
7
  **Engine note:** `loki start` is the primary command. `loki start`, `loki "<task>"`, `loki owner/repo#N` and `loki quick` all run the Loki 10 engine, whatever the flag order or input form (PRD file, issue ref, task or one-word brief). The previous loop runs only on `--engine legacy`, `LOKI_ENGINE=legacy`, or for one call when a flag Loki 10 cannot honor is present. See the [user guide](v10/GUIDE.md) and the [5-minute quickstart](QUICKSTART.md).
8
8
 
@@ -84,6 +84,32 @@ Observability: SDK failures emit a structured `capability_degraded` record to
84
84
  `.loki/events.jsonl`; `.loki/app-runner/first-preview.json` records
85
85
  time-to-first-preview write-once (bash route only).
86
86
 
87
+ ## Anthropic SDK upgrade capability matrix (RQ-104, 2026-10-23)
88
+
89
+ Pins (exact, all sites): `@anthropic-ai/sdk` 0.124.0 -> 1.2.0 (loki-ts/package.json, loki-ts/bun.lock, docker/Dockerfile peer pin); `@anthropic-ai/claude-agent-sdk` 0.3.293 -> 0.3.309 (loki-ts/package.json, package.json, package-lock.json, bun.lock, docker/Dockerfile). `tests/test-sdk-version-sync.sh` asserts both. Sources: sdk CHANGELOG 0.125.0..1.2.0, agent-sdk CHANGELOG 0.3.294..0.3.309.
90
+
91
+ | Change | Status |
92
+ |---|---|
93
+ | sdk 1.0.0 BREAKING "new API version 2026-10-21" | WIRED at compile level only: loki-ts/src/runner/sdk_invoker.ts:19,311 (messages.create, output_config) compiles unchanged under tsc rc=0 and sdk_invoker tests pass. Live behavior at API version 2026-10-21 is NOT PROVEN (no API key, no paid run) |
94
+ | sdk 0.129.0 `claude-sonnet-5-5`, 0.128.0 `claude-opus-5-5`, 0.132.0 `claude-haiku-5-5` model ids | WIRED: model ids are passed through as strings by sdk_invoker.ts; no allowlist to change |
95
+ | sdk 0.135.0 `speed` param and `usage.speed` | NOT ADOPTED: the cost ledger (util/child_ledger.ts:54) has no fast-mode price table; adopting speed without pricing would misreport cost |
96
+ | sdk 0.134.0 native OpenTelemetry tracing (auto-on with a global tracer provider) | NOT ADOPTED: Loki registers no global tracer provider, so the SDK stays inert; no opt-in needed |
97
+ | sdk 0.126.0 compaction param, 0.127.0 `compactBeforeNextTurn()`, 0.129.0 tool-call-while-streaming, tool runner fixes (0.128.0, 1.2.0) | NOT ADOPTED: sdk_invoker is a one-shot messages.create judge, not a tool runner or multi-turn loop |
98
+ | sdk 0.129.0 cache diagnostics on Message | NOT ADOPTED: Loki already accounts cache tokens from usage (util/child_ledger.ts cache_creation_tokens, cache_read_tokens; cost_breakdown); diagnostics would add a second source of truth |
99
+ | sdk 0.129.0 `between_tools` thinking | NOT ADOPTED: judge path clamps thinking by effort (sdk_invoker.ts clampThinkingForEffort); between_tools is not offered to judges |
100
+ | sdk 0.135.0/0.136.0 streaming fixes (unread stream close, unknown SSE events) | NOT ADOPTED: sdk_invoker does not stream |
101
+ | sdk 0.130.0-1.2.0 Admin API (analytics, spend limits, RBAC, plugins, webhooks, message threads, usage/cost reports), Managed Agents additions | NOT ADOPTED: no Loki feature calls these APIs |
102
+ | agent-sdk 0.3.302 refused structured output now an error with no payload | NOT AFFECTED: quality_gates.ts:1616 reads `e["structured_output"]` and fails closed to null when it is absent or not an object (falls back to parsing `result`); a refusal with no payload therefore yields null, the same outcome as before. Refusals are also handled by sdk_stream_parser.ts refusal frames |
103
+ | agent-sdk 0.3.300 `thinking: disabled` runs adaptive on models that cannot disable | NOT ADOPTED: providers.ts:846 query() options pass no thinking setting |
104
+ | agent-sdk 0.3.302 fork subagents on by default in SDK sessions | NOT ADOPTED: accepted default, effect on Loki runs unmeasured; `CLAUDE_CODE_FORK_SUBAGENT=0` is the opt-out |
105
+ | agent-sdk 0.3.302 omitted `permissionMode` defaults to `default` on third-party providers | N/A: Loki always passes an explicit permissionMode (providers/claude_flags.ts:1052) |
106
+ | agent-sdk 0.3.301 full-disk login refresh error is `invalid_request`, not `authentication_failed` | NOT ADOPTED: sdk_stream_parser.ts:278 keys only on `authentication_failed`; a full-disk refresh failure surfaces as a generic error, accepted until observed |
107
+ | agent-sdk 0.3.300 PreToolUse/PermissionRequest `updatedInput` validated, unknown keys dropped | N/A: runSdkHostGuard (providers.ts:784) returns no updatedInput |
108
+ | agent-sdk 0.3.296 `claude_code_version` in the initialize control response | NOT ADOPTED: SDK_BUNDLED_CLAUDE_CODE (providers.ts:364) is read before any session starts and is guarded by a test against the installed SDK claudeCodeVersion; the initialize value only exists after spawn |
109
+ | agent-sdk 0.3.295 SDK passes option values as `--flag=value` | N/A: Loki consumes the SDK options API, not CLI argv, on the SDK route |
110
+ | agent-sdk 0.3.301 `BUILTIN_TOOL_NAMES`, sdk MCP `permission_policy`; 0.3.304 `suspendSseStream` (browser); 0.3.296 `autoCompactWindow`; 0.3.307 `wakeup_source`; 0.3.305 `startup()` timeout fix | NOT ADOPTED: no existing Loki feature maps to these options |
111
+ | agent-sdk 0.3.309 `extractFromBunfs()` per-user temp dir | NOT ADOPTED: Loki does not run the SDK from a Bun-compiled binary |
112
+
87
113
  ## Phase 1 / RARV-C Closure Env Vars
88
114
 
89
115
  Default-on in the Bun runner (see `CHANGELOG.md` v7.x entries; documented in `skills/quality-gates.md:88-110`). Set to `0` to disable; set to `1` to force-enable on the bash route.
@@ -3,15 +3,21 @@
3
3
  The CEO is Lokesh Mure (Loki), the founder. Everyone else is an agent. The company ships Loki Mode v10 per docs/V10-VISION.md. Order when goals conflict: moat > Seal accuracy > delivered accuracy > cost > speed. Velocity target: 30-60 releases per day.
4
4
 
5
5
  ## Roles and models (pin every agent's model explicitly, D13)
6
- - Chief of Staff (the main session, opus): runs the operating rhythm, owns BOARD.md dispatch, keeps every seat busy, escalates only to Loki, never writes product code.
7
- - CTO (opus, advisor): architecture and quality calls, approves any change to the moat, gates or release policy.
8
- - Project Managers (opus, advisors): flow, bottlenecks, staffing. Each PM owns one workstream and its board rows.
9
- - Architects (opus): split every large task into 10-40 independent slices with non-overlapping file sets and Wall checks. They design; they do not implement.
10
- - Product Owners (sonnet): backlog ranking, slice cards (60 lines max: goal, file set, Wall checks, commands, budget, tier).
6
+ Ten standing seats. Each file holds the seat's mandate, metrics, decision rights, inputs, outputs, escalation rule and the RETRO-2026.md root causes it owns. Each seat writes .loki/company/status/<slug>.json every turn; the cockpit (tools/cockpit/SPEC.md) reads them.
7
+ - chief-of-staff (opus, the main session; .claude/agents/chief-of-staff.md): operating rhythm, BOARD.md dispatch, CEO digest, founder queue, ROI ledger; holds the PM duty; escalates only to Loki; never writes product code. RC6, RC9, RC1.
8
+ - cto (opus; .claude/agents/cto.md): architecture and quality calls; approves any change to the moat, gates or release policy; acts as Architect for large tasks (designs the slices, never implements them); rules review round 3. RC4, RC7, RC3.
9
+ - release-reliability-lead (sonnet, exactly one; .claude/agents/release-reliability-lead.md): the Release Manager, the only role that pushes main, bumps VERSION, tags or publishes; owns channel truth and the post-publish first-run gate. RC5, RC7, RC4.
10
+ - verification-scientist (opus; .claude/agents/verification-scientist.md): claims registry, Seal and verdict accuracy, guard mutation; veto on uncited claims. RC2, RC1, RC3.
11
+ - research-outcomes-scientist (opus; .claude/agents/research-outcomes-scientist.md): nightly Loki versus raw claude -p scoreboard, the only source for outcome claims. RC1, RC9, RC5.
12
+ - research-harness-scientist (opus; .claude/agents/research-harness-scientist.md): ablation, model-tier pinning, SDK freshness, frontier scan. RC9, RC1, RC10.
13
+ - product-growth-lead (sonnet; .claude/agents/product-growth-lead.md): the Product Owner; strategy page, backlog ranking, slice cards (60 lines max), funnel, competitor matrix. RC10, RC4, RC1.
14
+ - developer-experience-lead (sonnet; .claude/agents/developer-experience-lead.md): install, loki start, preview, dashboard, docs from code, platforms. RC5, RC10, RC2.
15
+ - security-lead (sonnet; .claude/agents/security-lead.md): secrets, deny-by-default env, auth boundaries; dispatches the HIGH security reviewers. RC3, RC5, RC8.
16
+ - platform-lead (sonnet; .claude/agents/platform-lead.md): process safety, guards as mechanisms, CI speed, structured stores, the cockpit build. RC8, RC3, RC7.
17
+ Spawned per slice, not standing seats:
18
+ - Software Engineers (sonnet): one slice each, worktree isolation, single writer, red-then-green tests.
11
19
  - Tech Leads (sonnet): LOW and MEDIUM reviews, unanimous (D12).
12
20
  - Reviewers for HIGH-tier work (opus): moat, verifier, Seal, auth, security. Unanimous; a reproduced blocking finding always blocks (D12).
13
- - Software Engineers (sonnet): one slice each, worktree isolation, single writer, red-then-green tests.
14
- - Release Manager (sonnet, exactly one): the only role that pushes main, bumps VERSION, tags or publishes.
15
21
 
16
22
  ## Leadership lock (one company per repo)
17
23
  - The leader holds .loki/v10-leader (PID and start time). A session becomes leader only if that file is missing or its PID is dead (kill -0 fails).
@@ -20,7 +26,7 @@ The CEO is Lokesh Mure (Loki), the founder. Everyone else is an agent. The compa
20
26
  ## Nobody sits idle
21
27
  - Ready queue >= 30 specced slices (features, enhancements, fixes evenly; D91). Seat cap 20 (D103: founder ruled cost irrelevant on the Max plan; load and memory are the limit).
22
28
  - The Chief of Staff keeps 8-16 engineers busy whenever ready slices exist. When anyone finishes, the next slice is assigned in the same turn.
23
- - The ready queue never drops below 2x the number of engineers; PMs and POs refill it.
29
+ - The ready queue never drops below 2x the number of engineers; the chief-of-staff and the product-growth-lead refill it.
24
30
  - Idle seats while work exists, or an empty ready queue, is a P0 violation.
25
31
 
26
32
  ## Time limits (anything slower gets redesigned, not waited on)