loki-mode 11.67.0 → 11.67.2
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/docs/CLI-REFERENCE.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/docs/v10/FAILURE-CLASSES.md +16 -0
- package/loki-ts/dist/loki.js +993 -993
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/packages/control-plane/dist/server.js +251 -237
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-pnb8GqLL.js → AdminPage-CaH7FYKu.js} +1 -1
- package/web-app/dist/assets/{Avatar-Df0MLTRe.js → Avatar-ChI96m5b.js} +1 -1
- package/web-app/dist/assets/{Badge-BFmRUW-G.js → Badge-DHc-VssS.js} +1 -1
- package/web-app/dist/assets/{Button-CdRsiK11.js → Button-D4waKHIS.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-BNkH2nsx.js → CockpitPage-D0yIEnLk.js} +1 -1
- package/web-app/dist/assets/{ComparePage-9EDMje2L.js → ComparePage-CDGYdCPZ.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-CRXOaeth.js → ErrorBoundary-BMwBb6PQ.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-BeIn9IS4.js → EvidenceReceiptPanel-DWhh1m1J.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-BzXf_IWf.js → GitHubIssuesPanel-B_CXzxzl.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-Be8AX8m3.js → GitHubPRsPanel-BCrtCQ0t.js} +1 -1
- package/web-app/dist/assets/{HomePage-7uHlpZ1X.js → HomePage-Bkwf561V.js} +2 -2
- package/web-app/dist/assets/{LoginPage-B-BVtsFl.js → LoginPage-WcgzZhU0.js} +1 -1
- package/web-app/dist/assets/{MagicPage-DXJUesvf.js → MagicPage-BtKX2wmM.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-31GX67Bk.js → MetricsPage-CWOQRPMl.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-DIRbLqyd.js → NotFoundPage-joexSxW-.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-DmnT8Eob.js → ProjectPage-COeDN8ux.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BbZyOf8X.js → ProjectsPage-D37t3pNx.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-WMEloF8e.js → SettingsPage-DDZAecTB.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-NhFO8hM7.js → ShowcasePage-BPEELMcE.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-DHMuEj8i.js → SystemSettingsPage-CouJimOI.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-BVuR1bjf.js → TeamsPage-hzSLyzDf.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-Bi2IGt_i.js → TemplatesPage-IzTTgU7Z.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-BJ2UIfW3.js → TerminalOutput-CFoZ6P1I.js} +1 -1
- package/web-app/dist/assets/{activity-BtcZyrmh.js → activity-Do4zT6Oq.js} +1 -1
- package/web-app/dist/assets/{bell-CkRCJ0_W.js → bell-CAfovgH9.js} +1 -1
- package/web-app/dist/assets/{bot-Bt2VFSSb.js → bot-CyNisuC8.js} +1 -1
- package/web-app/dist/assets/{check-C0EyXSbq.js → check-BcbhVRvF.js} +1 -1
- package/web-app/dist/assets/{chevron-left-BTaEKmGt.js → chevron-left-d8g_GBta.js} +1 -1
- package/web-app/dist/assets/{circle-alert-0X9tOAOg.js → circle-alert-BHQzcmpS.js} +1 -1
- package/web-app/dist/assets/{clock-DnaNg1a3.js → clock-CMJJ5Uc0.js} +1 -1
- package/web-app/dist/assets/{cloud-DTqtg9kT.js → cloud-CiTm0FKn.js} +1 -1
- package/web-app/dist/assets/{code-xml-DeuJEsGe.js → code-xml-BAzSTYv8.js} +1 -1
- package/web-app/dist/assets/{database-D4urtXxg.js → database-BHVksK_E.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-SPSC5Sq8.js → dollar-sign-CxDHWhtp.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-BhQRVhhE.js → file-code-corner-Swq99s0m.js} +1 -1
- package/web-app/dist/assets/{file-plus-BI8fEGar.js → file-plus-DB5ah50f.js} +1 -1
- package/web-app/dist/assets/{globe-CH2JF0Ao.js → globe-Bk8ySWoX.js} +1 -1
- package/web-app/dist/assets/{hammer-Cj5E6zW1.js → hammer-DuA_MIau.js} +1 -1
- package/web-app/dist/assets/{index-BxSKCoJB.js → index-CBbDTAdp.js} +3 -3
- package/web-app/dist/assets/{layers-C7B1CRSW.js → layers--yF4xv-3.js} +1 -1
- package/web-app/dist/assets/{loader-circle-CLm-JO6c.js → loader-circle-DosDD3fh.js} +1 -1
- package/web-app/dist/assets/{lock-qPb-TBSc.js → lock-CSJ63IoX.js} +1 -1
- package/web-app/dist/assets/{package-DmAR0Ll7.js → package-B2yKEi3g.js} +1 -1
- package/web-app/dist/assets/{plus-B7rYXFp5.js → plus-CxklZUNG.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-VlmoP5U8.js → refresh-cw-DIHcrd5W.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-IJm4_17B.js → rotate-ccw-MnzCckWJ.js} +1 -1
- package/web-app/dist/assets/{scroll-text-R7twjS6p.js → scroll-text-6V03f8rQ.js} +1 -1
- package/web-app/dist/assets/{server-De6O84hn.js → server-7YdA-CsZ.js} +1 -1
- package/web-app/dist/assets/{shield-alert-rm8URrpT.js → shield-alert-BmSLXFXB.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-d5BvwuYN.js → thumbs-up-COkn2q8Y.js} +1 -1
- package/web-app/dist/assets/{trash-2-Bj-3uyaP.js → trash-2-C4CNq8nK.js} +1 -1
- package/web-app/dist/assets/{trending-down-DkTl9WJ6.js → trending-down-BKdJFdy6.js} +1 -1
- package/web-app/dist/assets/{trending-up-DUXqt2N7.js → trending-up-op1Twsih.js} +1 -1
- package/web-app/dist/assets/{upload-b6DOZWGH.js → upload-IVbmDDQg.js} +1 -1
- package/web-app/dist/assets/{usePolling-C_tHlbhz.js → usePolling-B_c4s5kj.js} +1 -1
- package/web-app/dist/assets/{user-BluxyiHB.js → user-DvGOQNdS.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: 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.67.
|
|
6
|
+
# Loki Mode v11.67.2
|
|
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.67.
|
|
479
|
+
**v11.67.2 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.67.
|
|
1
|
+
11.67.2
|
package/dashboard/__init__.py
CHANGED
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.67.
|
|
3
|
+
Generated from `loki-ts/src/cli/registry.ts` by `scripts/generate-stale-zero.sh` for v11.67.2. 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.67.
|
|
5
|
+
**Version:** v11.67.2
|
|
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
|
|
|
@@ -1725,6 +1725,14 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
1725
1725
|
- Mechanism: in the P9 AST scan, a literal `await import("...safe_git...")` is accepted only as the initializer of an object destructuring whose every element is a plain identifier property (no rest, no computed key, no string key, no nested pattern) and none of whose names is an opt-in helper. Any other dynamic or require form still flags. A destructured safeGit with allowToken is still caught by the raw allowToken grep outside the two fetch callers.
|
|
1726
1726
|
- Fixture: tests/moat/p9-rule-of-two.sh positive controls for a rest destructure, a computed-key destructure, a renamed opt-in helper and a destructured safeGit carrying allowToken (each must be flagged), and a negative control for the real `{ reviewerGitEnv }` form (must not flag). Mutant: accept any destructure shape; the rest and computed controls must go red.
|
|
1727
1727
|
|
|
1728
|
+
## FC-MERGED-SLICE-BROKE-REPO-WIDE-ENGINE10-GUARD Three merged slices (35f9a1988, 8b439ee51, 5fc8c5d46) left main red on repo-wide engine10 size and stack-knowledge guards that their selected tests never ran
|
|
1729
|
+
- User-visible vs raw: raw (red guards on main; no user-facing message). One consequence is user-visible: the implement lead named a Python runner, which is stack knowledge in a harness that must stay generic.
|
|
1730
|
+
- Law: the e10ext tree stays under 1500 lines, the engine10 core stays under 5000 lines, and no file under loki-ts/src names a manifest or runner unless l0_guard.allowlist lists it. Slice gates that run only the touched test files never execute these guards.
|
|
1731
|
+
- Cause (measured on clean origin/main 5cae48655): tests/engine10/budget.test.ts e10ext count was 1513 after 35f9a1988 (FC-COMMIT-STAGES-USER-UNTRACKED, +14 lines in preexisting_dirty.ts); l0_guard.test.ts failed on src/e10ext/context.ts naming pytest after 8b439ee51; the core count (the test's split("\n") rule, summed over src/engine10 excluding modernize/) was 4972 at 837abdc40, 5011 at 5fc8c5d46 (FC-ENGINE10-CACHE-KEY-NOT-PRODUCER-BOUND, cache.ts +49 lines since the 9872ddead trim to 4959), 5012 at 8066c0108 and 5025 at c955a15e8 (R100-022 preflight); history is not linear, so 5fc8c5d46 is the first measured crossing and c955a15e8 the final count on main.
|
|
1732
|
+
- Siblings swept: every test under tests/engine10 that reads src repo-wide was listed; the three failing here are the only ones red on main. The same weakness exists for any future slice, so the sweep rule is that a slice touching loki-ts/src runs budget.test.ts and l0_guard.test.ts, not only its own files.
|
|
1733
|
+
- Mechanism: untouchedUntracked moved to features/untouched_untracked.ts; the producer fingerprint code moved from engine10/cache.ts to util/producer_fingerprint.ts; the implement lead now says to run tests with the exact command the Project Model lists instead of naming a runner. No cap was raised and no allowlist entry was added.
|
|
1734
|
+
- Fixture: the existing guards themselves, red before (1513, a pytest literal in context.ts, 5025) and green after. Mutants: five blank lines appended to commit_filter.ts turn the e10ext cap red, five to cache.ts turn the core cap red, and a pytest literal put back into context.ts turns the L0 guard red.
|
|
1735
|
+
|
|
1728
1736
|
## FC-FULL-SUITE-IGNORES-PROJECT-INTERPRETER The deep-verify full pytest suite ran under bare `python`, not the project's own interpreter, so a repo with a working .venv and no `python` on PATH could never prove its suite
|
|
1729
1737
|
- User-visible vs raw: user-visible. An uninterrupted run on a Python fixture with a working .venv and ruff ended PARTIAL because the full-suite check could not run (bare `python` missing or without pytest), while per-test runs under the same repo used the venv.
|
|
1730
1738
|
- Law: every check that executes project code resolves its interpreter through one resolver (project venv first), and no stage hardcodes a bare interpreter name.
|
|
@@ -1922,3 +1930,11 @@ L0 review rule (ENGINE-LAWS.md L0): a fix that adds an `if` or a regex about the
|
|
|
1922
1930
|
- Fixture: loki-ts/tests/engine10/verify_prered.test.ts "FC-FULLSUITE-GO-CARGO-IDS"; loki-ts/tests/runner/harness_intelligence.test.ts "FC-FULLSUITE-GO-CARGO-IDS: a go or cargo full suite red on base is excused for the same failing id, not for a new one".
|
|
1923
1931
|
| FC-GO-PACKAGE-ID-CHANGED-FILE | A go full suite fails on base and head with a package id ("pkg" build failure or "pkg::Test") and the change edits a .go file in that package; the id excuses itself as pre-existing though the change touched the failing code | user-visible: a verdict excuses a red the change may own | Engine Law 1 (no excuse without proof): an id excuses only if no changed file maps to it | Siblings: cargo ids (closed by FC-CARGO-ID-CHANGED-CRATE below); pytest, jest, vitest ids use the changed-file substring check already | Mechanism: repo_profile.ts goIdTouched walks up from each changed .go file to its nearest go.mod (nested modules and go.work members included) and compares the id to that module path plus the file's directory below it (suffix match only when no go.mod exists); a changed go.mod or go.sum touches every package of its module (id equal to the module path or under it); a changed go.work or go.work.sum touches every go id; attributeFullSuite eligibility requires !goIdTouched and the line gains "NOT PROVEN: package <p> did not build on base or head; its tests ran on neither" | Fixture (module-root M2 and non-.go M4 mutants): loki-ts/tests/runner/harness_intelligence.test.ts "FC-GO-PACKAGE-ID-CHANGED-FILE: the module-root package is touched only by a root .go file, and only a .go file touches a package"; also loki-ts/tests/runner/harness_intelligence.test.ts "FC-GO-PACKAGE-ID-CHANGED-FILE" (mutant dropping the check goes red) |
|
|
1924
1932
|
| FC-CARGO-ID-CHANGED-CRATE | A cargo full suite fails on base and head with the same test id and the change edits Rust source or a manifest; the id (a module path with no crate or file) excuses itself as pre-existing though the edited crate may own it | user-visible: a verdict excuses a red the change may own | Engine Law 1 (no excuse without proof): fail closed when the id cannot be mapped to the change | Siblings: go ids (FC-GO-PACKAGE-ID-CHANGED-FILE); pytest, jest, vitest ids use the changed-file substring check | Mechanism: repo_profile.ts cargoTouched makes every failing full-suite check ineligible, whatever its command (make test and npm test wrap cargo), when any changed file is .rs, Cargo.toml, Cargo.lock or build.rs, and the line gains "NOT PROVEN: <name> may run cargo tests and the diff edits Rust source or a manifest" | Fixture: loki-ts/tests/runner/harness_intelligence.test.ts "FC-CARGO-ID-CHANGED-CRATE"; mutants: drop the cargoTouched term, or key it on the command name again (wrapper fixture goes red); walk only the root go.mod (nested-module fixture goes red); ignore go.mod and go.sum edits (module-file fixture goes red) |
|
|
1933
|
+
|
|
1934
|
+
## FC-GUARD-FIXTURE-MISSES-NEW-DEPENDENCY A change that added a guarded token (98a3c7a67 codex bench adapter) or a runtime file read (77f1196c5 secret-paths.json) did not update the guard fixture, so claude_flags.test.ts P12-26b and the dist-layout test went red on main
|
|
1935
|
+
- User-visible vs raw: raw only. P12-26b fired on docstring prose in benchmarks/bench/adapters/codex.py, not a launch. The layout test gap fails closed to plan, never to skip-permissions.
|
|
1936
|
+
- Law broken: a change that adds a guarded token or a runtime file read updates the guard's allowlist or fixture in the same slice.
|
|
1937
|
+
- Siblings swept: claude_flags.ts loadPermissionsModule (repo-root and dist paths); autonomy/lib/claude-flags.sh and tests/test-claude-flags.sh (bash route, does not load the compiler); os_sandbox.py and tests/lib/test_os_sandbox.py (repo-relative secret-paths.json reads, unaffected); SCOPED_OUT rows claude_code.py and attribution.py (bench arms, same rationale as codex.py).
|
|
1938
|
+
- Mechanism: bench adapters register in SCOPED_OUT when added. The layout test copy set follows the compiler's declared dependencies (pd/303d, not this row).
|
|
1939
|
+
- Fixture: claude_flags.test.ts "P12-26b" goes red for any new unlisted benchmarks/ file carrying the flag.
|
|
1940
|
+
- Open: the dist-layout half (secret-paths.json copy) is owned by pd/303d 1be1e118d.
|