loki-mode 11.71.2 → 11.72.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 (68) 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/v10/FAILURE-CLASSES.md +19 -0
  7. package/loki-ts/dist/loki.js +1070 -1069
  8. package/mcp/__init__.py +1 -1
  9. package/package.json +2 -2
  10. package/packages/control-plane/dist/server.js +2 -3
  11. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  12. package/web-app/dist/assets/{AdminPage-CGyy-IXD.js → AdminPage-D1OK4oFV.js} +1 -1
  13. package/web-app/dist/assets/{Avatar-FWW_Pp5i.js → Avatar-Bmlahoek.js} +1 -1
  14. package/web-app/dist/assets/{Badge-iax5zk8D.js → Badge-DIp0iq1c.js} +1 -1
  15. package/web-app/dist/assets/{Button-DFCgFerI.js → Button-Cr9q52cA.js} +1 -1
  16. package/web-app/dist/assets/{CockpitPage-EMIdhN2T.js → CockpitPage-B9xVEfDc.js} +1 -1
  17. package/web-app/dist/assets/{ComparePage-BB_CDDj0.js → ComparePage-DKLfF88-.js} +1 -1
  18. package/web-app/dist/assets/{ErrorBoundary-XEDM5Jef.js → ErrorBoundary-YX1Ca3b5.js} +1 -1
  19. package/web-app/dist/assets/{EvidenceReceiptPanel-CNWSErDp.js → EvidenceReceiptPanel-ByDPqvCC.js} +1 -1
  20. package/web-app/dist/assets/{GitHubIssuesPanel-CRRJXMWX.js → GitHubIssuesPanel-Cw1agaEG.js} +1 -1
  21. package/web-app/dist/assets/{GitHubPRsPanel-wI3c7FXN.js → GitHubPRsPanel-B0SUVsLy.js} +1 -1
  22. package/web-app/dist/assets/{HomePage-D0I9ynlm.js → HomePage-B2Ig7z_0.js} +2 -2
  23. package/web-app/dist/assets/{LoginPage-D8LASaQy.js → LoginPage-BNRlffTi.js} +1 -1
  24. package/web-app/dist/assets/{MagicPage-7pN712yu.js → MagicPage-CMlBUcfL.js} +1 -1
  25. package/web-app/dist/assets/{MetricsPage-SYE4uoW7.js → MetricsPage-DJdriZ3W.js} +1 -1
  26. package/web-app/dist/assets/{NotFoundPage-COLnaZjq.js → NotFoundPage-CYqNADGz.js} +1 -1
  27. package/web-app/dist/assets/{ProjectPage-By5qFEGq.js → ProjectPage-BQNgVFS-.js} +3 -3
  28. package/web-app/dist/assets/{ProjectsPage-Csz7HVHr.js → ProjectsPage-CIm5a_AS.js} +1 -1
  29. package/web-app/dist/assets/{SettingsPage-Bq7pcVxt.js → SettingsPage-CPhCamgj.js} +1 -1
  30. package/web-app/dist/assets/{ShowcasePage-mXVtkKWQ.js → ShowcasePage-BTnK0yEv.js} +1 -1
  31. package/web-app/dist/assets/{SystemSettingsPage-CGQrZ2C1.js → SystemSettingsPage-C3t_ewDc.js} +1 -1
  32. package/web-app/dist/assets/{TeamsPage-DtZ-QAXz.js → TeamsPage-DlvcfF_x.js} +1 -1
  33. package/web-app/dist/assets/{TemplatesPage-MSw7MEK9.js → TemplatesPage-D1bucCzZ.js} +1 -1
  34. package/web-app/dist/assets/{TerminalOutput-DtXZZRio.js → TerminalOutput-CKMioEoQ.js} +1 -1
  35. package/web-app/dist/assets/{activity-BwTdw5jH.js → activity-f9Oq3Ews.js} +1 -1
  36. package/web-app/dist/assets/{bell-k9cBjzVC.js → bell-DfyXPIYy.js} +1 -1
  37. package/web-app/dist/assets/{bot-tPDhUZdF.js → bot-h51mLJqd.js} +1 -1
  38. package/web-app/dist/assets/{check-55rEw_tX.js → check-BtdQJVau.js} +1 -1
  39. package/web-app/dist/assets/{chevron-left-De8fDgTg.js → chevron-left-DIg2LhYW.js} +1 -1
  40. package/web-app/dist/assets/{circle-alert-C73LIkta.js → circle-alert-WvTfiM7J.js} +1 -1
  41. package/web-app/dist/assets/{clock-DwN_q_HA.js → clock-CNBgyY_q.js} +1 -1
  42. package/web-app/dist/assets/{cloud-Bf2eze4m.js → cloud-k7lFg_Ab.js} +1 -1
  43. package/web-app/dist/assets/{code-xml-DrPbJQRA.js → code-xml-DIVq4ds_.js} +1 -1
  44. package/web-app/dist/assets/{database-DTI91kcw.js → database-C9swNpwd.js} +1 -1
  45. package/web-app/dist/assets/{dollar-sign-ZkSJEKpU.js → dollar-sign-CFOrpn6v.js} +1 -1
  46. package/web-app/dist/assets/{file-code-corner-Ms-tOQKC.js → file-code-corner-DXHwgnmU.js} +1 -1
  47. package/web-app/dist/assets/{file-plus-CFYKVztN.js → file-plus-C1wVXyGb.js} +1 -1
  48. package/web-app/dist/assets/{globe-Bqb_jTXY.js → globe-D5voCGUw.js} +1 -1
  49. package/web-app/dist/assets/{hammer-DdgoSBL0.js → hammer-BC7F6HmD.js} +1 -1
  50. package/web-app/dist/assets/{index-C5bIS38k.js → index-BdFg_OIW.js} +3 -3
  51. package/web-app/dist/assets/{layers-mX-L1IoG.js → layers-C_k1xFXq.js} +1 -1
  52. package/web-app/dist/assets/{loader-circle-BSxzcRoH.js → loader-circle-XxI-59B7.js} +1 -1
  53. package/web-app/dist/assets/{lock-D9acVIOc.js → lock-CSwHyrf6.js} +1 -1
  54. package/web-app/dist/assets/{package-BJHi7Tn6.js → package-CaYvduAN.js} +1 -1
  55. package/web-app/dist/assets/{plus-BH0QfTxz.js → plus-DPoRmA6z.js} +1 -1
  56. package/web-app/dist/assets/{refresh-cw-DtvtryKd.js → refresh-cw-DV_eXLK_.js} +1 -1
  57. package/web-app/dist/assets/{rotate-ccw-7pZ7tfog.js → rotate-ccw-DdbngbB9.js} +1 -1
  58. package/web-app/dist/assets/{scroll-text-LEEOPYAl.js → scroll-text-BXtsv_Ui.js} +1 -1
  59. package/web-app/dist/assets/{server-h-gDqp3u.js → server-Dx60l0PL.js} +1 -1
  60. package/web-app/dist/assets/{shield-alert-WL6uL9Y1.js → shield-alert-DFkslrI5.js} +1 -1
  61. package/web-app/dist/assets/{thumbs-up-CsnDxpb3.js → thumbs-up-D_vvJAO9.js} +1 -1
  62. package/web-app/dist/assets/{trash-2-ChNwPVVE.js → trash-2-KOJ065nX.js} +1 -1
  63. package/web-app/dist/assets/{trending-down-BHSEDHSP.js → trending-down-lStAynZi.js} +1 -1
  64. package/web-app/dist/assets/{trending-up-D1K9uAn2.js → trending-up-DrPwudq0.js} +1 -1
  65. package/web-app/dist/assets/{upload-BhYbtn7Q.js → upload-BM0fSA-v.js} +1 -1
  66. package/web-app/dist/assets/{usePolling-DL4MFc7x.js → usePolling-By3IotR1.js} +1 -1
  67. package/web-app/dist/assets/{user-CHnU9Yb4.js → user-oADr16SH.js} +1 -1
  68. 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.71.2
6
+ # Loki Mode v11.72.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.71.2 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
479
+ **v11.72.0 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 11.71.2
1
+ 11.72.0
@@ -7,6 +7,6 @@ Modules:
7
7
  control: Session control helpers (status, atomic writes, origin check)
8
8
  """
9
9
 
10
- __version__ = "11.71.2"
10
+ __version__ = "11.72.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.71.2. Do not edit by hand.
3
+ Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.72.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.71.2
5
+ **Version:** v11.72.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
 
@@ -1931,6 +1931,15 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
1931
1931
  - Mechanism: the stub records its subcommand and the tests require `reseal` for fix and `explain` for explain; groups are now `loki-issue-`, `loki-issue-publish-`, `loki-pr-fix-`, `loki-pr-publish-`, and a guard requires four distinct groups.
1932
1932
  - Fixture: tests/test-issue-to-pr-action.sh; mutants: drop `SUB="reseal"` (2 failures), make the publish group equal the agent group (guard red).
1933
1933
 
1934
+ ## FC-LINE-CAP-GATED-AFTER-MERGE Main went red on core engine10 5091 >= 5000 and e10ext 1513 >= 1500 because the line caps are enforced only by budget.test.ts and structural-checks line_budgets, not before a slice merges
1935
+
1936
+ - User-visible vs raw: raw (a red structural gate on main; no user-facing behavior).
1937
+ - Law: a cap that blocks main must also block the slice that crosses it; a slice may not merge on a gate that does not run the cap.
1938
+ - Cause (measured): `bash scripts/structural-checks.sh` on origin/main 736a43939 printed "core engine10 5091 >= 5000" and "e10ext 1513 >= 1500". Commits 62f946e19 and 484752c3b touched the wall and testmap files in those dirs most recently; whether a slice gate ran line_budgets before merge is not measured here.
1939
+ - Siblings swept: modernize 4000, contrib 1200 and SKILL.md 500 are under their caps in the same run (only the two lines above failed).
1940
+ - Mechanism: this slice restores headroom without changing a cap or any behavior: comment paragraphs and doc comments in engine10 are reflowed to 230 columns (code unchanged; comment text identical once whitespace and comment markers are stripped), and in e10ext redundant header and doc-comment lines are tightened and one unused import line is removed. Running line_budgets before merge is a separate change, not made here.
1941
+ - Fixture: tests/engine10/budget.test.ts and scripts/structural-checks.sh line_budgets are the existing guards; both must exit 0 on this branch.
1942
+
1934
1943
  ## FC-RELEASE-UNNAMED-STACKED-PARENT A release merge shipped stacked parent commits that no reviewer had approved by SHA, including slices on hold, because the approval gate only checked the VERSION line (#436)
1935
1944
  - User-visible vs raw: users received v11.58.0 containing cw20-r2 parents e4c445b73 and 13b46699d, plus cw15/ux350/roadmap100 parents 9bf08f534, dc2e16314, 64e9f1a09 and cf177adf5, while the slice hold stood. Raw: the range held commits no TL or HIGH APPROVE line named; a rebase had also changed f8f263627 after approval.
1936
1945
  - Law broken: D12/D13 (a release carries only what a named reviewer approved); a hold is a block (OPERATING-MODEL.md, Release Manager).
@@ -1981,3 +1990,13 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
1981
1990
  - Siblings swept: telemetry row (printed the full LOKI_TELEMETRY_ENDPOINT url including path; now host only), update check, model inference (unchanged, still the only REQUIRED row and the only one that sets the exit code), JSON output (same rows with `required: false`), a server name or env value holding a tab, newline or other control character (cleaned to `?` where each record is emitted, and the JSON reader skips a malformed line instead of raising), the three MCP config files (`.mcp.json`, `$LOKI_DIR/mcp-config.json`, `~/.claude/mcp.json`; `url` servers only, stdio servers are local). Unicode line separators U+0085, U+2028 and U+2029 in a server name or url host are masked like C0 and the --json loader splits on "\n" only (splitlines() would break on them and hide hosts).
1982
1991
  - Mechanism: `_LOKI_AIRGAP_EGRESS_ENV` (name and meaning) and `_LOKI_AIRGAP_EGRESS_NOT` (name and reason) sit beside the audit; `_loki_airgap_configured_egress` emits one row per set registry name plus one per MCP url server, host only, with a loopback flag and the exact disable step. tests/test-airgap-commands.sh section 6 greps the tree and fails on any egress-looking name in neither list.
1983
1992
  - Fixture: tests/test-airgap-commands.sh section 6: every registry name set to a host is named (path not leaked), JSON carries the host, nothing configured reports no extra rows and exit 0, an MCP url server is named and a stdio server is not, the tree guard is green, and a fixture tree with a fake `LOKI_FOO_URL` reader turns it red.
1993
+
1994
+
1995
+ ## FC-WORKER-NO-PROCESS-LIMITS The engine10 worker and every process it starts ran with the caller's resource limits, so a runaway build or fork loop in a worker could exhaust memory or the process table of the whole machine (#265 slice B)
1996
+
1997
+ - User-visible vs raw: user-visible (a machine-wide stall during a run).
1998
+ - Law: an explicit opt-in limit must either hold for the worker tree or stop the run with a named reason; it must never run unlimited silently, and an unset knob must leave the spawn untouched.
1999
+ - Cause (measured): `git grep -n ulimit -- autonomy providers loki-ts/src` returned no hit in any spawn wrapper, and spawnWorker in loki-ts/src/runner/worker_proc.ts passed [cmd, ...args] straight to spawn. Node cannot set rlimits, so a shell wrapper at this one call site is the only mechanism.
2000
+ - Siblings swept: bash-route provider spawns are owned by the #335 confinement wrapper, and the subagent cap is #265 slice C; both are out of scope here. The detached deep-verify spawn in loki-ts/src/engine10/supervisor.ts is the same class (a model-driven child under the worker env) and now goes through `ulimitArgv` too (r2); an invalid knob records `deep verify not spawned: <reason>` in NOT PROVEN instead of spawning. Mutant: spawn the raw deepArgv and the new deep_wiring test (ulimit -u reads 2000 in the deep child) goes red.
2001
+ - Mechanism: ulimitArgv in runner/worker_proc.ts wraps argv in `/bin/sh -c 'ulimit ... || exit 97; shift N; exec "$@"'` only when LOKI_ULIMIT_VMEM_KB or LOKI_ULIMIT_NPROC is set. Values travel as positional arguments, never in the script text, and a value that is not a positive integer is refused before any spawn. A ulimit the OS refuses (macOS rejects -v) exits 97 with a named reason.
2002
+ - Fixture: loki-ts/tests/runner/worker_proc.test.ts covers the applied limit, the byte-identical unset argv, the refused injection value, the exit-97 path, and a mutant that drops the exit.