loki-mode 11.17.74 → 11.17.75

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 (69) 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 +12 -0
  7. package/docs/v10/PROGRESS.md +3 -0
  8. package/loki-ts/dist/loki.js +1212 -1212
  9. package/mcp/__init__.py +1 -1
  10. package/package.json +2 -2
  11. package/packages/control-plane/dist/server.js +445 -349
  12. package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
  13. package/web-app/dist/assets/{AdminPage-BMEz6PjD.js → AdminPage-ckrZehcf.js} +1 -1
  14. package/web-app/dist/assets/{Avatar-CWqr7n5f.js → Avatar-B0cf3aVA.js} +1 -1
  15. package/web-app/dist/assets/{Badge-0HwtDygF.js → Badge-Ds_hvQoP.js} +1 -1
  16. package/web-app/dist/assets/{Button-9dckZRDN.js → Button-DTUAVmt5.js} +1 -1
  17. package/web-app/dist/assets/{CockpitPage-nYMuXSfl.js → CockpitPage-DF7RtcXW.js} +1 -1
  18. package/web-app/dist/assets/{ComparePage-Bc5srye5.js → ComparePage-BHAQBZK0.js} +1 -1
  19. package/web-app/dist/assets/{ErrorBoundary-BkDMHZsx.js → ErrorBoundary-Xg5ORKQJ.js} +1 -1
  20. package/web-app/dist/assets/{EvidenceReceiptPanel-M8zrEQxG.js → EvidenceReceiptPanel-CdS9tMxc.js} +1 -1
  21. package/web-app/dist/assets/{GitHubIssuesPanel-MvOtqrJO.js → GitHubIssuesPanel-hvk0yVL-.js} +1 -1
  22. package/web-app/dist/assets/{GitHubPRsPanel-Cx6sFkSQ.js → GitHubPRsPanel-CfIFqgI3.js} +1 -1
  23. package/web-app/dist/assets/{HomePage-KoGFVyhn.js → HomePage-CyijuFBr.js} +2 -2
  24. package/web-app/dist/assets/{LoginPage-BJKuRfBJ.js → LoginPage-B5S7e7ee.js} +1 -1
  25. package/web-app/dist/assets/{MagicPage-CH19MKyX.js → MagicPage-Bjc2F-ce.js} +1 -1
  26. package/web-app/dist/assets/{MetricsPage-CTiPy6uL.js → MetricsPage-0jsT2phC.js} +1 -1
  27. package/web-app/dist/assets/{NotFoundPage-B3x9Admx.js → NotFoundPage-rQ2fotgB.js} +1 -1
  28. package/web-app/dist/assets/{ProjectPage-B7NMYrmn.js → ProjectPage-BToxnl4V.js} +3 -3
  29. package/web-app/dist/assets/{ProjectsPage-BNbo3wR3.js → ProjectsPage-CDZb1rLe.js} +1 -1
  30. package/web-app/dist/assets/{SettingsPage-Dk9w3rKx.js → SettingsPage-DZXRZ9gX.js} +1 -1
  31. package/web-app/dist/assets/{ShowcasePage-Dk7LBonS.js → ShowcasePage-Dx0RfAv3.js} +1 -1
  32. package/web-app/dist/assets/{SystemSettingsPage-FTbJ_2Hn.js → SystemSettingsPage-Bjh8M7PU.js} +1 -1
  33. package/web-app/dist/assets/{TeamsPage-CdKmEVIO.js → TeamsPage-D8VRFBhr.js} +1 -1
  34. package/web-app/dist/assets/{TemplatesPage-Du6EHrwu.js → TemplatesPage-M2fz0DZW.js} +1 -1
  35. package/web-app/dist/assets/{TerminalOutput-BTlTI6D7.js → TerminalOutput-CFiTiJiH.js} +1 -1
  36. package/web-app/dist/assets/{activity-BXuoHaM2.js → activity-BpEti4MN.js} +1 -1
  37. package/web-app/dist/assets/{bell-DCDgirjw.js → bell-DGSGGaVr.js} +1 -1
  38. package/web-app/dist/assets/{bot-vJgiSrdQ.js → bot-BhbuP5Jx.js} +1 -1
  39. package/web-app/dist/assets/{check-D-RGuqkl.js → check-XA1EKiOV.js} +1 -1
  40. package/web-app/dist/assets/{chevron-left-NKl5Cd-R.js → chevron-left-BVn1BhDN.js} +1 -1
  41. package/web-app/dist/assets/{circle-alert-ByXEu_ry.js → circle-alert-CuDH-xVA.js} +1 -1
  42. package/web-app/dist/assets/{clock-sHF7TkaL.js → clock-DOexYJz7.js} +1 -1
  43. package/web-app/dist/assets/{cloud-D6mqiMKo.js → cloud-BzhyIUtk.js} +1 -1
  44. package/web-app/dist/assets/{code-xml-huk-YFT0.js → code-xml-8JwaEdd2.js} +1 -1
  45. package/web-app/dist/assets/{database-BOlnZ1VP.js → database-CHAlm7GD.js} +1 -1
  46. package/web-app/dist/assets/{dollar-sign-BkQRFa0q.js → dollar-sign-DMn1Z2mk.js} +1 -1
  47. package/web-app/dist/assets/{file-code-corner-ugbZnTSY.js → file-code-corner-DXUwz0qn.js} +1 -1
  48. package/web-app/dist/assets/{file-plus-C36sokvh.js → file-plus-9Avu5l_j.js} +1 -1
  49. package/web-app/dist/assets/{globe-CJQelTw1.js → globe-CaI5OyzR.js} +1 -1
  50. package/web-app/dist/assets/{hammer-DPzU4Wtq.js → hammer-39YmcOpO.js} +1 -1
  51. package/web-app/dist/assets/{index-CmNcswQv.js → index-Cud61p9W.js} +3 -3
  52. package/web-app/dist/assets/{layers-DzMH-GEN.js → layers-Cy4XzPLx.js} +1 -1
  53. package/web-app/dist/assets/{loader-circle-BNbNqvck.js → loader-circle-D-xd2rX_.js} +1 -1
  54. package/web-app/dist/assets/{lock-9PCIcJ6T.js → lock-BjX622xw.js} +1 -1
  55. package/web-app/dist/assets/{package-j3aJqney.js → package-DJM9D0vQ.js} +1 -1
  56. package/web-app/dist/assets/{plus-DGAY2LNf.js → plus-NJgfTSYU.js} +1 -1
  57. package/web-app/dist/assets/{refresh-cw-BBJiyS_M.js → refresh-cw-bk2f-EWd.js} +1 -1
  58. package/web-app/dist/assets/{rotate-ccw-BNLXFero.js → rotate-ccw-CAhHbrgP.js} +1 -1
  59. package/web-app/dist/assets/{scroll-text-CGG6Enap.js → scroll-text-Hw2Dmd7B.js} +1 -1
  60. package/web-app/dist/assets/{server-Bv6QDqpn.js → server-BQbvhpJk.js} +1 -1
  61. package/web-app/dist/assets/{shield-alert-BFJHSdqK.js → shield-alert-C2MGmd4Q.js} +1 -1
  62. package/web-app/dist/assets/{thumbs-up-BGbIHMwH.js → thumbs-up-BAQFLfSO.js} +1 -1
  63. package/web-app/dist/assets/{trash-2-C7mlnJL3.js → trash-2-okuerJdv.js} +1 -1
  64. package/web-app/dist/assets/{trending-down-BbxICDz5.js → trending-down-dl0Y9tN6.js} +1 -1
  65. package/web-app/dist/assets/{trending-up-DQqCw2fH.js → trending-up-CzeGIsMl.js} +1 -1
  66. package/web-app/dist/assets/{upload-SWiggmcJ.js → upload-tkq9_bgk.js} +1 -1
  67. package/web-app/dist/assets/{usePolling-CTxzJty2.js → usePolling-BQeWmnOa.js} +1 -1
  68. package/web-app/dist/assets/{user-DPVl5QyH.js → user-DOXirXaZ.js} +1 -1
  69. package/web-app/dist/index.html +1 -1
package/SKILL.md CHANGED
@@ -3,7 +3,7 @@ name: loki-mode
3
3
  description: An autonomous software factory that knows what it is supposed to deliver, and proves it did. Use when the user says Loki Mode or asks to build, fix or verify software autonomously.
4
4
  ---
5
5
 
6
- # Loki Mode v11.17.74
6
+ # Loki Mode v11.17.75
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
 
@@ -483,4 +483,4 @@ See `CHANGELOG.md` entries [7.5.7], [7.5.8], [7.5.13] for the per-fix list and r
483
483
 
484
484
  ---
485
485
 
486
- **v11.17.74 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
486
+ **v11.17.75 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
package/VERSION CHANGED
@@ -1 +1 @@
1
- 11.17.74
1
+ 11.17.75
@@ -7,6 +7,6 @@ Modules:
7
7
  control: Session control helpers (status, atomic writes, origin check)
8
8
  """
9
9
 
10
- __version__ = "11.17.74"
10
+ __version__ = "11.17.75"
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.17.74. Do not edit by hand.
3
+ Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.17.75. 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.17.74
5
+ **Version:** v11.17.75
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
 
@@ -1203,3 +1203,15 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
1203
1203
  - Fixture: loki-ts/tests/engine10/fc22_install.test.ts "absentDepRoots and intakeDeps (FC-DEPS-NOT-INSTALLED)"; loki-ts/tests/engine10/runner_errors.test.ts FC-DEPS-NOT-INSTALLED case.
1204
1204
  - Budget change: the intake stage limit is now STAGE_BUDGETS.intake.limitS + INSTALL_CAP_MS/1000 + SUITE_BASELINE_BUDGET_S (120s), so a repo that needs an install or a per-command baseline gets that extra time at intake; a repo with nothing absent and no suites spends none of it.
1205
1205
  - Hardening (D106, founder 2026-10-19): the intake install is the lockfile-frozen form when a lockfile exists (install.ts lockedInstall, one table for npm, pnpm, yarn, bun, uv, poetry, pipenv, cargo, bundler, composer), fails closed as harness-owned NOT PROVEN with no mutating fallback, and records `locked`, `lock_note` and `model_cmd` on the check. Fixture: fc22_install.test.ts "lockedInstall (locked, reproducible install)".
1206
+
1207
+
1208
+ ## FC-ZERO-ON-BASE An impacted test that is a deliberate skip on base too was listed as NOT PROVEN for the change (ZERO-ON-BASE)
1209
+ - User-visible vs raw: user-visible. In FireLater#20 run e10-20261019T020704Z-103b verify selected `backend/tests/integration/request-approval-race.test.ts`, a deliberate `describe.skip` (needs a real DB), so it executed zero tests and the run carried "not run: vitest:backend/tests/integration/request-approval-race.test.ts" in NOT PROVEN although the change never touched it and the pristine base executes zero tests there too.
1210
+ - Law broken: a result the change did not cause is never charged to the change (the same base-comparison contract as A-112); zero-executed stays fail-closed whenever it could be about the change.
1211
+ - Siblings: any runner whose file-level skip, todo or empty file yields "no tests executed" (vitest, jest, pytest, node:test, go); Wall, task-named (relevant), holdout and edited test files, and a run that edited test configuration, are never exempt; the package and full-suite not_run lines (a suite is a command, not a file) keep their own handling.
1212
+ - Mechanism: verify.ts subtractBase (the A-112 pristine detached base worktree) reruns an untouched, non-Wall, non-relevant zero-executed check once and classifies it with the same classifyCheck; zero on base too puts the name in `skipped_on_base` (verify data, plus a `test.skipped_on_base` event "skipped on base: <check>"), and seal omits only those names from its "not run:" NOT PROVEN lines. Any other base outcome (tests ran, failed, missing, timed out) keeps NOT PROVEN. The rerun happens only in this case, and the check's installed node_modules or .venv are linked into the base worktree, never copied.
1213
+ - Fixture: loki-ts/tests/engine10/verify_prered.test.ts describe "FC-ZERO-ON-BASE" (untouched skip listed; edited file, Wall file and tests-ran-on-base all stay fail-closed) and loki-ts/tests/engine10/seal.test.ts "FC-ZERO-ON-BASE".
1214
+ - Hardening (HIGH review of 4e449d487): linking the head checkout's node_modules into the base worktree lets a workspace link (node_modules/shared -> ../shared, pnpm/npm/yarn workspaces) or an editable install (.venv with pip -e) resolve to HEAD sources, so the base rerun could execute the run's own edits and report a false zero-on-base. Choice: the excusal applies only when the run changed nothing but test files (`changed.every(isTestFile)`) and no test configuration, so no head source, manifest or lockfile exists for any link to expose; deps stay linked because base has none of its own. A run that edits any source keeps zero-executed as NOT PROVEN. Residual: edits made inside a gitignored node_modules or .venv are not in `changed`. Seal also writes one informational line "skipped on base (excused): <check>" next to the retained pre red lines (never downgrades). Regression fixture: verify_prered.test.ts "workspace link" (red before the rule).
1215
+ - Hardening 2 (HIGH re-review of 9a4267335, D99): a changed TEST file can also be reached through a workspace link (node_modules/shared/helper.test.js), so test-files-only is not enough. depsSeeHead (util/base_guard.ts) withholds the excusal whenever the dependency dirs the base rerun would link can see head sources: any top-level or @scope/* node_modules entry that is a symlink whose realpath is inside the repo, or a .venv holding a .pth, *.egg-link or direct_url.json that names the repo; an unreadable dependency dir counts as seeing head. This gate is in addition to the test-files-only gate. Fixture: verify_prered.test.ts "reviewer repro 2" (red before the guard).
1216
+ - Hardening 3 (round 3 HIGH review, D99): depsSeeHead now walks node_modules and .venv recursively without following symlinks (so node_modules/foo/node_modules/shared -> ../../../shared is seen), inspects every symlink target, and withholds when a target is inside the repo but outside the dependency dir it lives in (an npm .bin link or a pnpm store link stays self-contained). The repo is compared as given and as realpath (/var vs /private/var, a symlinked repo dir). Editable-install files (.pth, .egg-link, direct_url.json with its file:// URL decoded by fileURLToPath so %20 matches, and __editable___*_finder.py) are checked for the repo path, each named path also by realpath. The walk is bounded at 50000 entries; exceeding it or any read error other than a missing dir withholds. The helper logic lives in util/base_guard.ts (zeroOnBase, depsSeeHead), outside the engine core cap. A pnpm workspace package links to a path inside the repo but outside node_modules, so workspace pnpm repos are withheld; that is fail-safe, and the excusal is effectively inert wherever workspace links or editable installs exist.
1217
+ - Stated plainly: the motivating incident (FireLater#20, a run that edits source) stays NOT PROVEN by design. The excusal only fires for runs that changed test files alone with dependencies that cannot see head; Seal accuracy outranks delivered accuracy.
@@ -2596,3 +2596,6 @@ v11.17.21 published (Release success on 462fbc40a; npm latest 11.17.21, next 11.
2596
2596
 
2597
2597
  ## 2026-10-19T03:16Z (CoS) v11.17.74
2598
2598
  - 11.17.74: D106 follow-up, NODE_OPTIONS/BASH_ENV/ENV refused like PATH. af838b55 4284ae1fb cherry-picked. HIGH a1168a6d round 7 APPROVE: 4 files 5+/5-, probes 8 refused, no over-match, fc22_install+intake+budget 145 pass 0 fail; red 56/1 with source reverted.
2599
+
2600
+ ## 2026-10-19T03:20Z (CoS) v11.17.75
2601
+ - 11.17.75: FC-ZERO-ON-BASE. a849c264 commits 9a4267335..58bb86a73 cherry-picked as 2a52da847..13b0b64c6 plus unused-import drop. HIGH a6dc6f16: BLOCK x4 (workspace link, nested links, venv spellings, spelled-target exemption), APPROVE round 5: attack set 11/0, verify_prered+seal+verify+budget 209/0. On main after cherry-pick: same 4 suites 209 pass 0 fail, tsc no engine10/base_guard errors.