loki-mode 11.71.3 → 11.72.1

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 (67) 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 +18 -0
  7. package/loki-ts/dist/loki.js +1041 -1040
  8. package/mcp/__init__.py +1 -1
  9. package/package.json +2 -2
  10. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  11. package/web-app/dist/assets/{AdminPage-CCPrsf41.js → AdminPage-BHTyzAu9.js} +1 -1
  12. package/web-app/dist/assets/{Avatar-CnUYab4n.js → Avatar-BwH7S27S.js} +1 -1
  13. package/web-app/dist/assets/{Badge-CnF0ZUEU.js → Badge-Mk0_NjES.js} +1 -1
  14. package/web-app/dist/assets/{Button-CLaX4VTj.js → Button-BNzvTcTJ.js} +1 -1
  15. package/web-app/dist/assets/{CockpitPage-BAFlBHcb.js → CockpitPage-BJIZlZwk.js} +1 -1
  16. package/web-app/dist/assets/{ComparePage-DC8Q6QdU.js → ComparePage-CzYQGh1O.js} +1 -1
  17. package/web-app/dist/assets/{ErrorBoundary-Bmt6_mWP.js → ErrorBoundary-Dyf10Jyv.js} +1 -1
  18. package/web-app/dist/assets/{EvidenceReceiptPanel-CoKeDuN-.js → EvidenceReceiptPanel-B4L6kc98.js} +1 -1
  19. package/web-app/dist/assets/{GitHubIssuesPanel-C6pQtfIS.js → GitHubIssuesPanel-Cc2JkGqm.js} +1 -1
  20. package/web-app/dist/assets/{GitHubPRsPanel-Bn9M_WNq.js → GitHubPRsPanel-CGz1rPpP.js} +1 -1
  21. package/web-app/dist/assets/{HomePage-BUHVw1yd.js → HomePage-BHQQoWic.js} +2 -2
  22. package/web-app/dist/assets/{LoginPage-DYY1Gmdo.js → LoginPage-uozjhmos.js} +1 -1
  23. package/web-app/dist/assets/{MagicPage-BnEK66dN.js → MagicPage-BdPEf1FO.js} +1 -1
  24. package/web-app/dist/assets/{MetricsPage-BI6wrQer.js → MetricsPage-Br_qmk13.js} +1 -1
  25. package/web-app/dist/assets/{NotFoundPage-Cq_9DaLP.js → NotFoundPage-0gfWOmry.js} +1 -1
  26. package/web-app/dist/assets/{ProjectPage-CXGOAEd_.js → ProjectPage-OBXJwAO8.js} +3 -3
  27. package/web-app/dist/assets/{ProjectsPage-DxellcEm.js → ProjectsPage-BDJU0Ekr.js} +1 -1
  28. package/web-app/dist/assets/{SettingsPage-CO9Sq-bQ.js → SettingsPage-DFZWAu8X.js} +1 -1
  29. package/web-app/dist/assets/{ShowcasePage-BaFIlboF.js → ShowcasePage-rEj27fPF.js} +1 -1
  30. package/web-app/dist/assets/{SystemSettingsPage-CG21I0eY.js → SystemSettingsPage-A6de-PH-.js} +1 -1
  31. package/web-app/dist/assets/{TeamsPage-B2h9TOd-.js → TeamsPage-CnaQfCvy.js} +1 -1
  32. package/web-app/dist/assets/{TemplatesPage-C6h7QkVG.js → TemplatesPage-pfjMOaEX.js} +1 -1
  33. package/web-app/dist/assets/{TerminalOutput-CSALNiYA.js → TerminalOutput-RjTYDeZk.js} +1 -1
  34. package/web-app/dist/assets/{activity-BfiAgKwn.js → activity-BMqvnXuy.js} +1 -1
  35. package/web-app/dist/assets/{bell-TH8yU2Qr.js → bell-ChbDmW45.js} +1 -1
  36. package/web-app/dist/assets/{bot-CNaH16Sk.js → bot-Bow5CxhR.js} +1 -1
  37. package/web-app/dist/assets/{check-DPEjbajs.js → check-C6z_VKxt.js} +1 -1
  38. package/web-app/dist/assets/{chevron-left-Bjpl7ppH.js → chevron-left-CtNPwe_a.js} +1 -1
  39. package/web-app/dist/assets/{circle-alert-oLGFOWKI.js → circle-alert-BcZBNqNl.js} +1 -1
  40. package/web-app/dist/assets/{clock-CqgVeZ71.js → clock-D6MGOKCN.js} +1 -1
  41. package/web-app/dist/assets/{cloud-h613PjBO.js → cloud-C7hhY4s1.js} +1 -1
  42. package/web-app/dist/assets/{code-xml-BHK84Q9T.js → code-xml-R2JQYhUl.js} +1 -1
  43. package/web-app/dist/assets/{database-BmATItmp.js → database-DcU3sv4I.js} +1 -1
  44. package/web-app/dist/assets/{dollar-sign-CBK90p2H.js → dollar-sign-CXaAbt70.js} +1 -1
  45. package/web-app/dist/assets/{file-code-corner-DvZVlODz.js → file-code-corner-Bun9BjgZ.js} +1 -1
  46. package/web-app/dist/assets/{file-plus-BspVb-4q.js → file-plus-KK4yoAkQ.js} +1 -1
  47. package/web-app/dist/assets/{globe-BnTCbwlb.js → globe-DFLl00Pj.js} +1 -1
  48. package/web-app/dist/assets/{hammer-CcGM6GYK.js → hammer-CVD7DMu4.js} +1 -1
  49. package/web-app/dist/assets/{index-BtSaY_cC.js → index-yPWLJII1.js} +3 -3
  50. package/web-app/dist/assets/{layers-DDXekGUb.js → layers-CV7oNVC-.js} +1 -1
  51. package/web-app/dist/assets/{loader-circle-sCKIOcoF.js → loader-circle-Bf4J_8jp.js} +1 -1
  52. package/web-app/dist/assets/{lock-Hb4Jj75Q.js → lock-dTresGzx.js} +1 -1
  53. package/web-app/dist/assets/{package-QYQYyffM.js → package-CIPzEw1l.js} +1 -1
  54. package/web-app/dist/assets/{plus-B-Xdqaf_.js → plus-vWvbwF6L.js} +1 -1
  55. package/web-app/dist/assets/{refresh-cw-COj3YgYv.js → refresh-cw-CaPlloc6.js} +1 -1
  56. package/web-app/dist/assets/{rotate-ccw-UXzy1Vv6.js → rotate-ccw-B_mW2M6X.js} +1 -1
  57. package/web-app/dist/assets/{scroll-text-CjH0Vfib.js → scroll-text-B2KfWFf6.js} +1 -1
  58. package/web-app/dist/assets/{server-BgJ8nyft.js → server-gQJB6pCm.js} +1 -1
  59. package/web-app/dist/assets/{shield-alert-cdhaBk20.js → shield-alert-BsTfxDt9.js} +1 -1
  60. package/web-app/dist/assets/{thumbs-up-BtbTuJH-.js → thumbs-up-XdfWhcys.js} +1 -1
  61. package/web-app/dist/assets/{trash-2-DBnEeLwC.js → trash-2-EYBhkvw9.js} +1 -1
  62. package/web-app/dist/assets/{trending-down-Cz52GTQF.js → trending-down-DVO2961t.js} +1 -1
  63. package/web-app/dist/assets/{trending-up-D2MNziP0.js → trending-up-PzXQfRTb.js} +1 -1
  64. package/web-app/dist/assets/{upload-DFidbejv.js → upload-D1DyzNgQ.js} +1 -1
  65. package/web-app/dist/assets/{usePolling-CpiUp9am.js → usePolling-gv2Be2ka.js} +1 -1
  66. package/web-app/dist/assets/{user-BGzMA1gf.js → user-z2NKrnPj.js} +1 -1
  67. 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.3
6
+ # Loki Mode v11.72.1
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.3 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
479
+ **v11.72.1 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 11.71.3
1
+ 11.72.1
@@ -7,6 +7,6 @@ Modules:
7
7
  control: Session control helpers (status, atomic writes, origin check)
8
8
  """
9
9
 
10
- __version__ = "11.71.3"
10
+ __version__ = "11.72.1"
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.3. Do not edit by hand.
3
+ Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.72.1. 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.3
5
+ **Version:** v11.72.1
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
 
@@ -1990,3 +1990,21 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
1990
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).
1991
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.
1992
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.
2003
+
2004
+ ## FC-L0-GUARD-RED-ON-MAIN
2005
+ - User-visible vs raw: raw (tests/engine10/l0_guard.test.ts red on main e4e5043ea, 2 of 3 tests failing; no user effect).
2006
+ - Law broken: Engine Law gate integrity. A guard that is red on main means merged slices bypassed it, so it no longer protects the generic-not-per-stack rule.
2007
+ - Cause (measured, git log -S): six new hits landed on 2026-10-23 in 6912e4a21 (failures.ts go test and cargo test, repo_profile.ts npm test comment), 8e5dc5028 (verify.ts pyproject.toml, requirements.txt) and e409e4b91 (util/shell.ts go test comment); 62f946e19 removed wall.ts jest and vitest without shrinking the allowlist. scripts/select-tests.sh --files-from on the 8e5dc5028 file list DOES select loki-ts/tests/engine10/l0_guard.test.ts (R8, measured), so the selector is not the gap; the slice gates that approved these commits did not run or did not heed the selected guard, and only the post-merge run showed it red. The guard itself was always correct.
2008
+ - Siblings swept: all six hits plus both stale rows, decided per hit: 3 comment-only hits reworded away (repo_profile.ts, util/shell.ts) or kept as output-parser rows (failures.ts go and cargo, same role as the listed jest, pytest, vitest rows); verify.ts manifests allowlisted with a reason (lint tool detection of the target repo as data); 2 stale wall.ts rows removed.
2009
+ - Mechanism: the allowlist stays reviewed one row at a time; no regeneration.
2010
+ - Fixture: tests/engine10/l0_guard.test.ts 3 pass; mutation: re-adding a removed probe makes "no unlisted manifest probe" red.