loki-mode 11.17.71 → 11.17.72
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.
- package/SKILL.md +2 -2
- package/VERSION +1 -1
- package/dashboard/__init__.py +1 -1
- package/dashboard/api_start.py +1 -1
- package/docs/CLI-REFERENCE.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/docs/v10/FAILURE-CLASSES.md +8 -0
- package/docs/v10/PROGRESS.md +3 -0
- package/loki-ts/dist/loki.js +1105 -1105
- package/mcp/__init__.py +1 -1
- package/mcp/tests/test_v10_tools.py +12 -0
- package/mcp/v10_tools.py +1 -1
- package/package.json +2 -2
- package/packages/control-plane/dist/ask-tools-server.js +6 -2
- package/packages/control-plane/dist/server.js +8 -3
- package/packages/control-plane/src/server/answer.ts +2 -1
- package/packages/control-plane/src/server/runs.ts +2 -2
- package/packages/control-plane/ui/dist/assets/{index-Dww-8G06.js → index-BJq1KhqJ.js} +1 -1
- package/packages/control-plane/ui/dist/index.html +1 -1
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-D9E5rMDa.js → AdminPage-q7AvWPmz.js} +1 -1
- package/web-app/dist/assets/{Avatar-2HIimGbJ.js → Avatar-DX0Ro-Kx.js} +1 -1
- package/web-app/dist/assets/{Badge-X1pm0Suj.js → Badge-B6aMP7ok.js} +1 -1
- package/web-app/dist/assets/{Button-D3JPQKEY.js → Button-B4ly42_O.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-yg3fHf13.js → CockpitPage-CUItj7z8.js} +1 -1
- package/web-app/dist/assets/{ComparePage-CZcaSHhK.js → ComparePage-BWnt4_MV.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-AbJVpUqd.js → ErrorBoundary-DRVM0zGG.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-c1YRf1qj.js → EvidenceReceiptPanel-DfO4dvGV.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-0wLSsoUy.js → GitHubIssuesPanel-DYZFX6o-.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-BhY2M87Z.js → GitHubPRsPanel-BgkAFMqI.js} +1 -1
- package/web-app/dist/assets/{HomePage-BGGhvITG.js → HomePage-CzJznn_a.js} +2 -2
- package/web-app/dist/assets/{LoginPage-SWb9qWEA.js → LoginPage-B_mZt6Sp.js} +1 -1
- package/web-app/dist/assets/{MagicPage-M8MSb7l_.js → MagicPage-Ls9c71fL.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-D_hgyPT5.js → MetricsPage-8lpb75g8.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-DACxcv9V.js → NotFoundPage-BaicmKYS.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-Crhlw7MG.js → ProjectPage-DxjqqFKI.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-Da-dndE0.js → ProjectsPage-DSMmh50F.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-DZVy9d-7.js → SettingsPage-B0cCvoM9.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-K549XnJu.js → ShowcasePage-BNxpthYk.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-BzYX8exp.js → SystemSettingsPage-CmTwMh5i.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-B-NFe-RU.js → TeamsPage-W9rWeLgb.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-B0rflxjJ.js → TemplatesPage-i3iRj6Gh.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-Cztmzbib.js → TerminalOutput-DcmUp7At.js} +1 -1
- package/web-app/dist/assets/{activity-D6OLvSTu.js → activity-CtB07gdy.js} +1 -1
- package/web-app/dist/assets/{bell-CEbcuu6k.js → bell-CW3mpbA-.js} +1 -1
- package/web-app/dist/assets/{bot-DvUoBtIi.js → bot-B-HD8ThU.js} +1 -1
- package/web-app/dist/assets/{check-k1SeYCYx.js → check-CIELTwXt.js} +1 -1
- package/web-app/dist/assets/{chevron-left-CeUTHzvt.js → chevron-left-e5Mb1gVD.js} +1 -1
- package/web-app/dist/assets/{circle-alert-C7qJ5LE9.js → circle-alert-CKqDQz6l.js} +1 -1
- package/web-app/dist/assets/{clock-2mey5blZ.js → clock-BTqJOjXa.js} +1 -1
- package/web-app/dist/assets/{cloud-DYOkaKXJ.js → cloud-BxntKOGA.js} +1 -1
- package/web-app/dist/assets/{code-xml-BrfSPBeq.js → code-xml-Dpfd5NCk.js} +1 -1
- package/web-app/dist/assets/{database-BT8Fq2mO.js → database-BbsI4cut.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-DxwW6pq5.js → dollar-sign-B8aOi92U.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-BFcn4EtI.js → file-code-corner-wC1AYauR.js} +1 -1
- package/web-app/dist/assets/{file-plus-Nxp-eviU.js → file-plus-Citl6qA-.js} +1 -1
- package/web-app/dist/assets/{globe-lrcCFaSs.js → globe-mDkZYUTR.js} +1 -1
- package/web-app/dist/assets/{hammer-6dyrHj_E.js → hammer-C2fVEIcT.js} +1 -1
- package/web-app/dist/assets/{index-CfG9cuZ-.js → index-jKPg1ndO.js} +3 -3
- package/web-app/dist/assets/{layers-Beh61xd-.js → layers-rwZFcMlR.js} +1 -1
- package/web-app/dist/assets/{loader-circle-BkQN4_tt.js → loader-circle-DeOuSCFS.js} +1 -1
- package/web-app/dist/assets/{lock-C614_wuJ.js → lock-DsCkUel5.js} +1 -1
- package/web-app/dist/assets/{package-4CpdKErA.js → package-DKnYDpLL.js} +1 -1
- package/web-app/dist/assets/{plus-FozAX8-T.js → plus-CM1HV1o9.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-DElhmy2T.js → refresh-cw-CjSls06A.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-BiqvSaHk.js → rotate-ccw-CBvpmOst.js} +1 -1
- package/web-app/dist/assets/{scroll-text-BTOP8eTS.js → scroll-text-B3UbaZ5b.js} +1 -1
- package/web-app/dist/assets/{server-D_hT6jF9.js → server-BUrmAE6N.js} +1 -1
- package/web-app/dist/assets/{shield-alert-UcwG-fFq.js → shield-alert-DkRN-hAa.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-CCBQEpsU.js → thumbs-up-zW7CQqpr.js} +1 -1
- package/web-app/dist/assets/{trash-2-CURJAi5R.js → trash-2-DpIfXzL9.js} +1 -1
- package/web-app/dist/assets/{trending-down-BoiOB4Qf.js → trending-down-YPIRE8kJ.js} +1 -1
- package/web-app/dist/assets/{trending-up-BhFeoKLJ.js → trending-up-B0rfGJk5.js} +1 -1
- package/web-app/dist/assets/{upload-Dm4LbLvG.js → upload-DP61hjp9.js} +1 -1
- package/web-app/dist/assets/{usePolling-Dt1olG1R.js → usePolling-DyVk1DpE.js} +1 -1
- package/web-app/dist/assets/{user-Dpu23ils.js → user-DABxdGCx.js} +1 -1
- 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.
|
|
6
|
+
# Loki Mode v11.17.72
|
|
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.
|
|
486
|
+
**v11.17.72 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.17.
|
|
1
|
+
11.17.72
|
package/dashboard/__init__.py
CHANGED
package/dashboard/api_start.py
CHANGED
|
@@ -245,7 +245,7 @@ def _read_outcome(workdir: str, rc: int) -> dict:
|
|
|
245
245
|
d = e.get("data") or {}
|
|
246
246
|
if e.get("type") == "pr.opened" and d.get("url"):
|
|
247
247
|
pr_url = d["url"] if str(d["url"]).startswith("https://") else None
|
|
248
|
-
if e.get("type") == "stage.completed" and e.get("stage")
|
|
248
|
+
if e.get("type") == "stage.completed" and e.get("stage") in ("implement", "fix") and d.get("spec_conflict_reason"): # mirror of conflictReasonOf (loki-ts/src/engine10/events.ts): a later fix reason overwrites implement's
|
|
249
249
|
question = str(d["spec_conflict_reason"])
|
|
250
250
|
if rc == 0:
|
|
251
251
|
return {"status": "pr_open", "pr_url": pr_url} if pr_url else {"status": "done", "detail": outcome or "no change needed"}
|
package/docs/CLI-REFERENCE.md
CHANGED
|
@@ -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.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.17.72. 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 |
|
package/docs/INSTALLATION.md
CHANGED
|
@@ -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.
|
|
5
|
+
**Version:** v11.17.72
|
|
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
|
|
|
@@ -1147,6 +1147,14 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
1147
1147
|
- Mechanism: the fix loop condition stops when implement.exit is spec_conflict (verify still runs once, E-98b); FIXED_RULES and the stage prefix forbid docs, changelog or README text announcing behavior the code lacks and direct the agent to LOKI_SPEC_CONFLICT. The A-110/E-67 draft PR for a conflict with real implement work is kept.
|
|
1148
1148
|
- Fixture: loki-ts/tests/engine10/machine.test.ts E-98b case (one verify, no fix round; red on the old loop), implement brief and spec-first goldens re-captured.
|
|
1149
1149
|
|
|
1150
|
+
## FC-FIX-CONFLICT-STALLED A spec conflict declared by a fix round was ignored and the run ended STALLED (FIX-CONFLICT-STALLED)
|
|
1151
|
+
- User-visible vs raw: user-visible. `loki start asklokesh/FireLater#20` (run e10-20261019T020704Z-103b): fix round 2 ended with LOKI_SPEC_CONFLICT and no tree change; the fix stage dropped the marker, the anti-loop fired (loop.repeat) and the run ended STALLED "same failure 3 times" instead of BLOCKED with the agent's question and the `loki answer` next step.
|
|
1152
|
+
- Law broken: an agent's explicit, evidenced report that the task conflicts with the repository ends the run as a spec conflict wherever it is made; a stall verdict never hides the question.
|
|
1153
|
+
- Siblings: implement (the only stage that consumed the marker), the fix stage (dropped it), seal verdictOf and the receipt reason (read implement only), reasonOf and the supervisor blocked comment (read the implement event only). plan, wall and deep sessions are not told the marker exists and never consume it; swept, no change. A claim from a fix round that changed the tree is not believed (the agent did work; verify decides), so a conflict cannot escape a real failure.
|
|
1154
|
+
- Mechanism: one rule shared with implement (util/conflict_resume.ts): a fix session that signals the conflict gets the same single correction resume (resumeAfterConflict) and, if it still signals it with the tree unchanged, the fix stage reports exit spec_conflict with the reason; the machine records it on the implement output so seal, output and the supervisor use their existing SPEC_CONFLICT path, and the fix loop stops before the anti-loop.
|
|
1155
|
+
- Readers: conflictReasonOf (engine10/events.ts) is the one event reader (last fix reason, else implement's); output.ts, supervisor.ts, run_outputs.ts workItemBlockers, blocked_answer.ts readBlocked and slack_inbound.ts all use it. In deep mode implementLeftS may skip the correction resume; the unchanged-tree check still applies.
|
|
1156
|
+
- Fixture: loki-ts/tests/engine10/machine.test.ts (red: stopped "stalled" and verdict not SPEC_CONFLICT; green: BLOCKED path with reason; tree-changed claim is not believed).
|
|
1157
|
+
|
|
1150
1158
|
## FC-LINT-OOM Tests shard 0 died with "runner has received a shutdown signal" (exit 143) during ShellCheck Linting (LINT-OOM)
|
|
1151
1159
|
- User-visible vs raw: user-visible (red Tests on main for 11.17.61 and 11.17.63). Raw: no suite failed; the hosted runner was killed mid-lint.
|
|
1152
1160
|
- Law broken: a gate must fit its machine; resource exhaustion read as a red verdict hides real results.
|
package/docs/v10/PROGRESS.md
CHANGED
|
@@ -2587,3 +2587,6 @@ v11.17.21 published (Release success on 462fbc40a; npm latest 11.17.21, next 11.
|
|
|
2587
2587
|
|
|
2588
2588
|
## 2026-10-19T02:46Z (CoS) v11.17.71
|
|
2589
2589
|
- 11.17.71: install hardening d4170dc68+1b52683ed (cherry-picked d42be9af1, f1fa80b95). HIGH BLOCK B1/B2 fixed; HIGH re-review APPROVE: fc22+budget+intake 142/0, real npm ci in workspace member rc=0. On main: fc22+intake+budget 143 pass 0 fail. Follow-ups: pnpm yaml inline/unindented lists, uv --locked/pipenv --deploy, D106 || wording.
|
|
2590
|
+
|
|
2591
|
+
## 2026-10-19T02:54Z (CoS) v11.17.72
|
|
2592
|
+
- 11.17.72: FC-FIX-CONFLICT-STALLED (FireLater#20 rerun 11.17.67 ended STALLED). 60f95df4f+1c43b5130+e5321f613 cherry-picked as 82f536d85, 9aa74fab0, b0b7b2066. HIGH: BLOCK x2 (sibling readers), then APPROVE: control-plane 539/0, pytest 35 passed, red 2 fail each without reader changes. On main: blocked_answer+machine+fix+budget 112 pass 0 fail.
|