loki-mode 11.3.0 → 11.3.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.
- package/README.md +68 -650
- package/SKILL.md +4 -4
- package/VERSION +1 -1
- package/autonomy/completion-council.sh +2 -2
- package/autonomy/context-tracker.py +4 -4
- package/autonomy/council-v2.sh +1 -1
- package/autonomy/grill.sh +1 -1
- package/autonomy/lib/done-recognition.sh +1 -1
- package/autonomy/lib/prd-enrich.sh +1 -1
- package/autonomy/lib/voter-agents.sh +1 -1
- package/autonomy/loki +99 -75
- package/autonomy/run.sh +30 -18
- package/autonomy/sandbox.sh +1 -1
- package/autonomy/tui.sh +6 -5
- package/autonomy/verify.sh +1 -1
- package/bin/loki +166 -59
- package/completions/_loki +2 -0
- package/completions/loki.bash +2 -2
- package/dashboard/__init__.py +1 -1
- package/dashboard/server.py +25 -31
- package/docs/ARCHITECTURE.md +337 -0
- package/docs/BRANDING.md +124 -0
- package/docs/CLI-REFERENCE.md +7 -1
- package/docs/COMPONENTS.md +447 -0
- package/docs/DEPLOYMENT.md +9 -9
- package/docs/DOCKER.md +469 -0
- package/docs/INSTALLATION.md +67 -1045
- package/docs/KNOWN-ISSUES.md +11 -35
- package/docs/TESTING.md +161 -0
- package/docs/air-gapped.md +1 -2
- package/docs/alternative-installations.md +14 -24
- package/docs/architecture/DECISIONS.md +333 -0
- package/docs/audit-logging.md +7 -7
- package/docs/authentication.md +3 -3
- package/docs/authorization.md +1 -1
- package/docs/certification/04-production-deployment/lab.md +6 -6
- package/docs/certification/04-production-deployment/lesson.md +4 -4
- package/docs/certification/README.md +1 -1
- package/docs/control-plane-container.md +2 -2
- package/docs/dev/real-run.md +34 -0
- package/docs/dev/release-checklist.md +2 -2
- package/docs/exit-codes.md +3 -3
- package/docs/git-workflow.md +3 -3
- package/docs/metrics.md +37 -55
- package/docs/network-security.md +1 -1
- package/docs/siem-integration.md +5 -5
- package/docs/v10/CLI-MODERN.md +4 -3
- package/docs/v10/DECISIONS.md +44 -0
- package/docs/v10/DEPS.md +22 -22
- package/docs/v10/ENGINE.md +1 -1
- package/docs/v10/FAILURE-CLASSES.md +118 -1
- package/docs/v10/FOUNDER-QUEUE.md +1 -0
- package/docs/v10/GUARDS.md +13 -0
- package/docs/v10/LEGACY-REMOVAL.md +4 -6
- package/docs/v10/METRICS.md +2 -2
- package/docs/v10/MODERNIZE.md +1 -1
- package/docs/v10/OPERATING-MODEL.md +2 -1
- package/docs/v10/PROGRESS.md +29 -0
- package/docs/v11/COST-HALF.md +352 -0
- package/docs/v11/MARKET-SLICES.md +315 -0
- package/docs/v11/REGISTRIES.md +730 -0
- package/loki-ts/data/model-pricing.json +52 -24
- package/loki-ts/dist/loki.js +1036 -957
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/packages/control-plane/dist/server.js +2467 -736
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/src/protocols/mcp-client.js +6 -2
- package/src/protocols/mcp-server.js +13 -3
- package/tools/audit-docs.py +1 -1
- package/web-app/dist/assets/{AdminPage-D_e45uTw.js → AdminPage-CMkHNJbF.js} +1 -1
- package/web-app/dist/assets/{Avatar-T3nIpoaf.js → Avatar-BJyjV7Zi.js} +1 -1
- package/web-app/dist/assets/{Badge-BKqb59pP.js → Badge-D572l0uq.js} +1 -1
- package/web-app/dist/assets/{Button-DjVlkh8_.js → Button-T4BnOZgl.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-DXJgLGmh.js → CockpitPage-Cj_GFsNn.js} +1 -1
- package/web-app/dist/assets/{ComparePage-BRP_eVc_.js → ComparePage-A8m4ZXak.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-CLjpGLjC.js → ErrorBoundary-hugCg5yg.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-DX-vb4Xy.js → EvidenceReceiptPanel-CuJKDC2G.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-214HVHtX.js → GitHubIssuesPanel-BYGKjarC.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-BEiZKc4t.js → GitHubPRsPanel-c7sFIJlf.js} +1 -1
- package/web-app/dist/assets/{HomePage-VvMHS5ga.js → HomePage-A1MIkG2P.js} +2 -2
- package/web-app/dist/assets/{LoginPage-5WD-v7n3.js → LoginPage-8KQMRhtR.js} +1 -1
- package/web-app/dist/assets/{MagicPage-DUQT_Jye.js → MagicPage-C05QW2Lx.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-lga-z79v.js → MetricsPage-Oukv5hme.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-CGhBX3G1.js → NotFoundPage-DKIwsawz.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-CdzF2GzZ.js → ProjectPage-DwFRPLCG.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-DRG64N8s.js → ProjectsPage-CgY4YYDX.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-5fzW9Frb.js → SettingsPage-BpfcSjUA.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-DrTdxO4y.js → ShowcasePage-BqBakC4K.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-C9Mqs6Rd.js → SystemSettingsPage-CZLu5VB0.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-CUGPdSWo.js → TeamsPage-D55S1jKz.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-CNraDY0F.js → TemplatesPage-D3SydvxN.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-BIu_6Pea.js → TerminalOutput-hNg8G1-e.js} +1 -1
- package/web-app/dist/assets/{activity-Bk-kgqaf.js → activity-D2C0VagO.js} +1 -1
- package/web-app/dist/assets/{bell-BXmUdmo8.js → bell-CMvYi36w.js} +1 -1
- package/web-app/dist/assets/{bot-CiuzXxUR.js → bot-BvtQ6lmo.js} +1 -1
- package/web-app/dist/assets/{check-BEzjXppd.js → check-B13xkXed.js} +1 -1
- package/web-app/dist/assets/{chevron-left-AYWCXHf8.js → chevron-left-emu6r49E.js} +1 -1
- package/web-app/dist/assets/{circle-alert-BNg2uSRq.js → circle-alert-CExlwjuy.js} +1 -1
- package/web-app/dist/assets/{clock-DTj0kkGT.js → clock-D7Uas3oL.js} +1 -1
- package/web-app/dist/assets/{cloud-x4nTDBLT.js → cloud-CkB4S86C.js} +1 -1
- package/web-app/dist/assets/{code-xml-BVh_MLrk.js → code-xml-SL9IIWIn.js} +1 -1
- package/web-app/dist/assets/{database-DdfBaowG.js → database-BQFkd7t1.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-XuYFmAOY.js → dollar-sign-qHmnNYsU.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-D4cRnmeL.js → file-code-corner-C2YUDP0K.js} +1 -1
- package/web-app/dist/assets/{file-plus-CyoVlHc_.js → file-plus-C_ooIkDe.js} +1 -1
- package/web-app/dist/assets/{globe-Y6IK2RPW.js → globe-CQ-GL485.js} +1 -1
- package/web-app/dist/assets/{hammer-BKzr9VZI.js → hammer-U05L_D7V.js} +1 -1
- package/web-app/dist/assets/{index-B20cSx5G.js → index-CooHd7I-.js} +3 -3
- package/web-app/dist/assets/{layers-DebNOhGS.js → layers-Buo17rjW.js} +1 -1
- package/web-app/dist/assets/{loader-circle-DyGbrEgd.js → loader-circle-15vK3oV1.js} +1 -1
- package/web-app/dist/assets/{lock-BKPpyt20.js → lock-BeXLebuJ.js} +1 -1
- package/web-app/dist/assets/{package-egF5Wi4y.js → package-MVh_6-6R.js} +1 -1
- package/web-app/dist/assets/{plus-OiEgKIc-.js → plus-Dh_nd9vS.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-CzKvrONq.js → refresh-cw-C9cBJEAT.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-Bu2mII0p.js → rotate-ccw-D3PAtzST.js} +1 -1
- package/web-app/dist/assets/{scroll-text-CSkiyax8.js → scroll-text-DZCoXQjo.js} +1 -1
- package/web-app/dist/assets/{server-DlPthJFw.js → server-OCOLI5J_.js} +1 -1
- package/web-app/dist/assets/{shield-alert-CbpHWQQX.js → shield-alert-oVhmf1_h.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-DgGpZe-Q.js → thumbs-up-B-kbX4vN.js} +1 -1
- package/web-app/dist/assets/{trash-2-BV3GlCB-.js → trash-2-EL6moveW.js} +1 -1
- package/web-app/dist/assets/{trending-down-Y4TJtXhD.js → trending-down-Cl3kjpsx.js} +1 -1
- package/web-app/dist/assets/{trending-up-DsDNoHZY.js → trending-up-DST7I6M2.js} +1 -1
- package/web-app/dist/assets/{upload-gkThrc_I.js → upload-CUOT780G.js} +1 -1
- package/web-app/dist/assets/{usePolling-jpNSeNAe.js → usePolling-Djmt90eb.js} +1 -1
- package/web-app/dist/assets/{user-3Zez1WOK.js → user-BRBohA6J.js} +1 -1
- package/web-app/dist/index.html +1 -1
- package/docs/ARCHITECTURE-OVERVIEW.md +0 -209
- package/docs/AUTONOMI-ECOSYSTEM.md +0 -107
- package/docs/COCKPIT-SPEC.md +0 -72
- package/docs/COCKPIT-UX-MANDATE.md +0 -53
- package/docs/COMPETITIVE-ANALYSIS.md +0 -303
- package/docs/COMPETITIVE-NEXT-10.md +0 -316
- package/docs/COMPETITIVE-RALPH-ZEROSHOT-2026-07-08.md +0 -81
- package/docs/DASHBOARD-9.12-EVIDENCE.md +0 -97
- package/docs/DASHBOARD-ARCHITECTURE.md +0 -425
- package/docs/DASHBOARD_V2_CHECKLIST.md +0 -243
- package/docs/DEMOS.md +0 -63
- package/docs/ENTERPRISE-IDENTITY-ROADMAP.md +0 -206
- package/docs/EVIDENCE-RECEIPT-BUILD-APPLICABILITY.md +0 -79
- package/docs/FEAT-PRDREUSE-DOCKER-PLAN.md +0 -144
- package/docs/GATE-FAILURE-TRIAGE.md +0 -254
- package/docs/HANDOFF-2026-08-03.md +0 -439
- package/docs/LOOP-CANDIDATE-PROPOSAL-v1.md +0 -167
- package/docs/LOOP-HARNESS-AUDIT.md +0 -684
- package/docs/MERGE-DEDUP-MAP.md +0 -420
- package/docs/MERGE-ROUTE-MAP.md +0 -139
- package/docs/MODEL-REGISTRY-PLAN.md +0 -155
- package/docs/OUTCOME-FRONTIER.md +0 -536
- package/docs/P2-SPEC-ROBUSTNESS-PLAN.md +0 -192
- package/docs/PLANS-INDEX.md +0 -32
- package/docs/PRD-REUSE-DONE-RECOGNITION-PLAN.md +0 -536
- package/docs/PROMPT-ABLATION-RESULT.md +0 -97
- package/docs/R4-TRUST-TRAJECTORY-DESIGN.md +0 -127
- package/docs/R5-AUTO-WIKI-DESIGN.md +0 -137
- package/docs/R6-ROLLBACK-CHECKPOINT-PLAN.md +0 -107
- package/docs/R7-ZERO-CONFIG-FIRST-RUN-PLAN.md +0 -137
- package/docs/R8-SHAREABLE-TEAM-ASSETS-PLAN.md +0 -129
- package/docs/R9-OPEN-CORE-HOOKS-PLAN.md +0 -113
- package/docs/RARV-C-100X-PLAN.md +0 -286
- package/docs/RARV-C-LOOP-EFFICIENCY-PLAN.md +0 -470
- package/docs/SHAREABLE-PROOF-PLAN.md +0 -194
- package/docs/SONNET5-DEFAULT-PLAN.md +0 -157
- package/docs/SPEED-AND-FIRST-PASS-PLAN.md +0 -281
- package/docs/STALE-STATE-AUDIT.md +0 -174
- package/docs/SYNERGY-TASKS.md +0 -143
- package/docs/TASKLIST-ACCURACY-PLAN.md +0 -355
- package/docs/TOP-100-BACKLOG.md +0 -159
- package/docs/V8-ACCEPTANCE-TRIAGE-2026-07-24.md +0 -114
- package/docs/V8-COMPLEXITY-AUDIT-2026-07-24.md +0 -45
- package/docs/V8-MAJOR-RELEASE-PLAN.md +0 -137
- package/docs/V8-OVERNIGHT-PLAN-2026-07-25.md +0 -82
- package/docs/V8-SDK-RESEARCH-RAW.md +0 -129
- package/docs/WELCOME-OPENER-PLAN.md +0 -106
- package/docs/adoption-baseline-2026-07-31.md +0 -84
- package/docs/architecture/bmad-integration-epic.md +0 -271
- package/docs/architecture/bmad-integration-review.md +0 -86
- package/docs/architecture/bmad-integration-validation.md +0 -249
- package/docs/architecture/bmad-loki-voice-agent-council-analysis.md +0 -61
- package/docs/auto-claude-comparison.md +0 -250
- package/docs/bug-fixes/agent-01-cli-fixes.md +0 -101
- package/docs/bug-fixes/agent-02-purplelab-fixes.md +0 -88
- package/docs/bug-fixes/agent-03-dashboard-fixes.md +0 -119
- package/docs/bug-fixes/agent-04-memory-fixes.md +0 -105
- package/docs/bug-fixes/agent-05-provider-fixes.md +0 -86
- package/docs/bug-fixes/agent-06-integration-fixes.md +0 -101
- package/docs/bug-fixes/agent-07-dash-run-fixes.md +0 -101
- package/docs/bug-fixes/agent-08-docker-fixes.md +0 -164
- package/docs/bug-fixes/agent-09-e2e-build-fixes.md +0 -69
- package/docs/bug-fixes/agent-10-e2e-fullstack-fixes.md +0 -102
- package/docs/bug-fixes/agent-11-e2e-session-fixes.md +0 -70
- package/docs/bug-fixes/agent-12-scenario-fixes.md +0 -120
- package/docs/bug-fixes/agent-13-enterprise-fixes.md +0 -143
- package/docs/bug-fixes/agent-14-uat-newuser-fixes.md +0 -88
- package/docs/bug-fixes/agent-15-uat-poweruser-fixes.md +0 -132
- package/docs/bug-fixes/agent-19-code-review.md +0 -316
- package/docs/bug-fixes/agent-20-architecture-review.md +0 -331
- package/docs/competitive/bolt-new-analysis.md +0 -579
- package/docs/competitive/emergence-others-analysis.md +0 -605
- package/docs/competitive/replit-lovable-analysis.md +0 -622
- package/docs/dashboard-guide.md +0 -487
- package/docs/enterprise/migration.md +0 -265
- package/docs/history/one-run-audit.md +0 -304
- package/docs/plans/FORGE-AUTONOMOUS-QUEUE.md +0 -312
- package/docs/plans/ULTRAPLAN-FORGE-BAAS.md +0 -612
- package/docs/plans/UT2-6-LSP-DIAGNOSTIC-BROADCAST.md +0 -394
- package/docs/prd-purple-lab-ide.md +0 -152
- package/docs/prd-purple-lab-platform-v2.md +0 -223
- package/docs/prd-purple-lab-platform.md +0 -319
- package/docs/retrospectives/v7.5.15-fleet-postmortem.md +0 -325
- package/docs/retrospectives/v7.5.15-honesty-audit.md +0 -136
- package/docs/retrospectives/v7.5.15-llm-failure-modes.md +0 -49
- package/docs/show-hn-post.md +0 -46
- package/docs/test-scenarios/enterprise-scenarios.md +0 -732
- package/docs/thick2thin.md +0 -173
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.3.
|
|
6
|
+
# Loki Mode v11.3.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 legacy engine, which still ships and is being removed (`loki start owner/repo#N` still routes to it; prefer `loki owner/repo#N`).
|
|
9
9
|
|
|
@@ -15,7 +15,7 @@ description: An autonomous software factory that knows what it is supposed to de
|
|
|
15
15
|
|
|
16
16
|
**Provider-agnostic (stable since v5.0.0):** runs on Claude/Codex/Cline/Aider with abstract model tiers and degraded mode for non-Claude providers; no vendor lock-in. Gemini deprecated v7.5.18. See `skills/providers.md`. **Legacy track (v8.0.0):** the Anthropic Agent SDK route (see below), spec-mode expansion for OpenAPI/GraphQL/Postman contracts, the runtime-boot and secret-leak evidence axes, and `loki steer` / `loki why` for mid-run control. Earlier tracks: LSP grounding as a first-class agent tool (v7.7.x) and Phase 1 RARV-C closure (real provider judges, gate-failure flock, synthetic PRD e2e, status `--json`).
|
|
17
17
|
|
|
18
|
-
**Runtime migration:** Bash-to-Bun migration. `bin/loki` is the router: the commands in its Bun-route `case` (read-only ones such as `version`, `status`, `stats`, `doctor`, `provider`, `memory`, plus stateful ones such as `rollback`, `trust`, `proof`/`receipt`, `control`, `answer`) run through `loki-ts/src/cli.ts` on Bun; the rest, and some flag forms (for example `doctor --airgap`, `trust detail`), run on Bash (`autonomy/loki`). `start` is Bash by default and goes to Bun only for the SDK loop (`LOKI_SDK_LOOP=1`) or Loki 10 engine inputs (issue refs, multi-word tasks). Read `bin/loki` and `cli.ts` for the exact set rather than trusting a list here. Rollback: `LOKI_LEGACY_BASH=1`. See `
|
|
18
|
+
**Runtime migration:** Bash-to-Bun migration. `bin/loki` is the router: the commands in its Bun-route `case` (read-only ones such as `version`, `status`, `stats`, `doctor`, `provider`, `memory`, plus stateful ones such as `rollback`, `trust`, `proof`/`receipt`, `control`, `answer`) run through `loki-ts/src/cli.ts` on Bun; the rest, and some flag forms (for example `doctor --airgap`, `trust detail`), run on Bash (`autonomy/loki`). `start` is Bash by default and goes to Bun only for the SDK loop (`LOKI_SDK_LOOP=1`) or Loki 10 engine inputs (issue refs, multi-word tasks). Read `bin/loki` and `cli.ts` for the exact set rather than trusting a list here. Rollback: `LOKI_LEGACY_BASH=1`. See `docs/architecture/ADR-001-runtime-migration.md`.
|
|
19
19
|
|
|
20
20
|
**Anthropic Agent SDK route (v8.0.0, opt-in, default-off):** a claude-binary-free path where the RARV loop runs on `@anthropic-ai/claude-agent-sdk` `query()` and judges run on the raw `@anthropic-ai/sdk`. One operator switch `LOKI_SDK_MODE` (`off` default / `judges` / `full`), mirrored byte-for-byte in bash (`autonomy/lib/sdk-mode.sh`) and TypeScript (`loki-ts/src/runner/sdk_mode.ts`). Unset = byte-identical to the claude-CLI route. See `references/sdk-mode.md`.
|
|
21
21
|
|
|
@@ -200,7 +200,7 @@ This protocol governs **skill module** loading -- task-scoped instruction files
|
|
|
200
200
|
<!-- generated:commands -->
|
|
201
201
|
Commands (generated from `loki-ts/src/cli/registry.ts`; full reference in `docs/CLI-REFERENCE.md`):
|
|
202
202
|
|
|
203
|
-
`version`, `status`, `doctor`, `provider`, `memory`, `rollback`, `proof`, `wiki`, `control`, `kpis`, `report`, `trust`, `crash`, `contract`, `start`, `slack`, `answer`, `engine10`, `help`, `quick`, `quickstart`, `init`, `template`, `verify`, `keys`, `review`, `dashboard`, `config`, `mcp`, `acp`, `stop`, `pause`, `resume`, `why`, `next`, `logs`, `ship`, `deploy`, `import`, `github`, `issue`, `ci`, `modernize`, `share`, `assets`, `export`, `notify`, `tour`, `welcome`, `onboard`, `setup-skill`, `self-update`, `remote`, `cockpit`, `code`, `context`, `secrets`, `api`, `sandbox`, `docker`, `web`, `preview`, `telemetry`, `syslog`, `explain`, `docs`, `test`, `bench`, `voice`, `own`, `secure`, `compliance`, `enterprise`, `projects`, `audit`, `cost`, `metrics`, `sentrux`, `magic`
|
|
203
|
+
`version`, `status`, `doctor`, `provider`, `memory`, `rollback`, `proof`, `wiki`, `control`, `kpis`, `report`, `trust`, `crash`, `contract`, `start`, `slack`, `queue`, `answer`, `engine10`, `help`, `quick`, `quickstart`, `init`, `template`, `verify`, `keys`, `review`, `dashboard`, `config`, `mcp`, `acp`, `stop`, `pause`, `resume`, `why`, `next`, `logs`, `ship`, `deploy`, `import`, `github`, `issue`, `ci`, `modernize`, `share`, `assets`, `export`, `notify`, `tour`, `welcome`, `onboard`, `setup-skill`, `self-update`, `remote`, `cockpit`, `code`, `context`, `secrets`, `api`, `sandbox`, `docker`, `web`, `preview`, `telemetry`, `syslog`, `explain`, `docs`, `test`, `bench`, `voice`, `own`, `secure`, `compliance`, `enterprise`, `projects`, `audit`, `cost`, `metrics`, `sentrux`, `magic`
|
|
204
204
|
<!-- /generated -->
|
|
205
205
|
|
|
206
206
|
---
|
|
@@ -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.3.
|
|
486
|
+
**v11.3.1 | [Autonomi](https://www.autonomi.dev/) flagship product | core skill**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
11.3.
|
|
1
|
+
11.3.1
|
|
@@ -3233,7 +3233,7 @@ ISSUES: CRITICAL:description (optional, one per line per issue)"
|
|
|
3233
3233
|
else _cv_wrap=""; fi
|
|
3234
3234
|
_cv_out="$($_cv_wrap "$_cv_loki" internal sdk-text \
|
|
3235
3235
|
--prompt-file "$_cv_pf" \
|
|
3236
|
-
--model "${LOKI_SDK_COUNCIL_MODEL:-
|
|
3236
|
+
--model "${LOKI_SDK_COUNCIL_MODEL:-haiku}" --effort medium \
|
|
3237
3237
|
--timeout-ms "$(( _cv_to_s * 1000 ))" 2>/dev/null)" || _cv_rc=$?
|
|
3238
3238
|
rm -f "$_cv_pf" 2>/dev/null || true
|
|
3239
3239
|
if [ "$_cv_rc" -eq 0 ] && [ -n "$_cv_out" ]; then
|
|
@@ -3458,7 +3458,7 @@ REASON: your reasoning"
|
|
|
3458
3458
|
else _dv_wrap=""; fi
|
|
3459
3459
|
_dv_out="$($_dv_wrap "$_dv_loki" internal sdk-text \
|
|
3460
3460
|
--prompt-file "$_dv_pf" \
|
|
3461
|
-
--model "${LOKI_SDK_COUNCIL_MODEL:-
|
|
3461
|
+
--model "${LOKI_SDK_COUNCIL_MODEL:-haiku}" --effort medium \
|
|
3462
3462
|
--timeout-ms "$(( _dv_to_s * 1000 ))" 2>/dev/null)" || _dv_rc=$?
|
|
3463
3463
|
rm -f "$_dv_pf" 2>/dev/null || true
|
|
3464
3464
|
if [ "$_dv_rc" -eq 0 ] && [ -n "$_dv_out" ]; then
|
|
@@ -38,10 +38,10 @@ from pathlib import Path
|
|
|
38
38
|
# of this provider-keyed fallback.
|
|
39
39
|
PRICING_BY_PROVIDER = {
|
|
40
40
|
"claude": {
|
|
41
|
-
"input":
|
|
42
|
-
"output":
|
|
43
|
-
"cache_read": 0.
|
|
44
|
-
"cache_creation":
|
|
41
|
+
"input": 2.0,
|
|
42
|
+
"output": 10.0,
|
|
43
|
+
"cache_read": 0.10,
|
|
44
|
+
"cache_creation": 2.5,
|
|
45
45
|
},
|
|
46
46
|
"codex": {
|
|
47
47
|
"input": 2.0,
|
package/autonomy/council-v2.sh
CHANGED
|
@@ -386,7 +386,7 @@ Respond ONLY with a valid JSON object. No markdown fencing."
|
|
|
386
386
|
else _c2_wrap=""; fi
|
|
387
387
|
_c2_sdk_out="$($_c2_wrap "$_c2_sdk_loki" internal sdk-judge \
|
|
388
388
|
--prompt-file "$_c2_sdk_pf" --schema-file "$_c2_sdk_schema" \
|
|
389
|
-
--model "${LOKI_SDK_JUDGE_MODEL:-
|
|
389
|
+
--model "${LOKI_SDK_JUDGE_MODEL:-haiku}" --effort low \
|
|
390
390
|
--timeout-ms "$(( _c2_to_s * 1000 ))" 2>/dev/null)" || _c2_sdk_rc=$?
|
|
391
391
|
rm -f "$_c2_sdk_pf" 2>/dev/null || true
|
|
392
392
|
if [ "$_c2_sdk_rc" -eq 0 ] && [ -n "$_c2_sdk_out" ]; then
|
package/autonomy/grill.sh
CHANGED
|
@@ -218,7 +218,7 @@ grill_invoke_provider() {
|
|
|
218
218
|
else _gs_wrap=""; fi
|
|
219
219
|
_gs_out="$($_gs_wrap "$_gs_loki" internal sdk-text \
|
|
220
220
|
--prompt-file "$_gs_pf" \
|
|
221
|
-
--model "${LOKI_SDK_GRILL_MODEL:-
|
|
221
|
+
--model "${LOKI_SDK_GRILL_MODEL:-sonnet}" --effort high \
|
|
222
222
|
--timeout-ms "$(( _gs_to_s * 1000 ))" 2>/dev/null)" || _gs_rc=$?
|
|
223
223
|
rm -f "$_gs_pf" 2>/dev/null || true
|
|
224
224
|
if [ "$_gs_rc" -eq 0 ] && [ -n "$_gs_out" ]; then
|
|
@@ -121,7 +121,7 @@ _loki_done_recog_invoke() {
|
|
|
121
121
|
else _sdk_wrap=""; fi
|
|
122
122
|
_sdk_out="$($_sdk_wrap "$_sdk_loki" internal sdk-judge \
|
|
123
123
|
--prompt-file "$_sdk_prompt_f" --schema-file "$_sdk_schema" \
|
|
124
|
-
--model "${LOKI_SDK_JUDGE_MODEL:-
|
|
124
|
+
--model "${LOKI_SDK_JUDGE_MODEL:-haiku}" --effort low \
|
|
125
125
|
--timeout-ms "$(( ${LOKI_DONE_RECOG_TIMEOUT:-180} * 1000 ))" 2>/dev/null)" || _sdk_rc=$?
|
|
126
126
|
rm -f "$_sdk_prompt_f" 2>/dev/null || true
|
|
127
127
|
if [ "$_sdk_rc" -eq 0 ] && [ -n "$_sdk_out" ]; then
|
|
@@ -65,7 +65,7 @@ _loki_prd_enrich_invoke() {
|
|
|
65
65
|
else _pe_wrap=""; fi
|
|
66
66
|
_pe_out="$($_pe_wrap "$_pe_loki" internal sdk-text \
|
|
67
67
|
--prompt-file "$_pe_pf" \
|
|
68
|
-
--model "${LOKI_SDK_PRD_ENRICH_MODEL:-
|
|
68
|
+
--model "${LOKI_SDK_PRD_ENRICH_MODEL:-sonnet}" --effort medium \
|
|
69
69
|
--timeout-ms "$(( _pe_to_s * 1000 ))" 2>/dev/null)" || _pe_rc=$?
|
|
70
70
|
rm -f "$_pe_pf" 2>/dev/null || true
|
|
71
71
|
if [ "$_pe_rc" -eq 0 ] && [ -n "$_pe_out" ]; then
|
|
@@ -327,7 +327,7 @@ loki_council_dispatch_agents() {
|
|
|
327
327
|
else _va_wrap=""; fi
|
|
328
328
|
_va_out="$($_va_wrap "$_va_loki" internal sdk-judge \
|
|
329
329
|
--prompt-file "$_va_pf" --schema-file "$_va_schema_f" \
|
|
330
|
-
--model "${LOKI_SDK_COUNCIL_MODEL:-
|
|
330
|
+
--model "${LOKI_SDK_COUNCIL_MODEL:-sonnet}" --effort high \
|
|
331
331
|
--timeout-ms "$(( _va_to_s * 1000 ))" 2>"$COUNCIL_STATE_DIR/votes/dispatch-stderr-${iteration}.log")" || _va_rc=$?
|
|
332
332
|
rm -f "$_va_pf" 2>/dev/null || true
|
|
333
333
|
if [ "$_va_rc" -eq 0 ] && [ -n "$_va_out" ]; then
|
package/autonomy/loki
CHANGED
|
@@ -1860,7 +1860,7 @@ show_help() {
|
|
|
1860
1860
|
echo " # only the OpenAI-shaped /v1/chat/completions. Use the aider or"
|
|
1861
1861
|
echo " # cline route above for OpenRouter."
|
|
1862
1862
|
echo ""
|
|
1863
|
-
echo " # Cross-project context (Phase F
|
|
1863
|
+
echo " # Cross-project context (Phase F)"
|
|
1864
1864
|
echo " # Drop .loki/app.json with {schema_version:1,app_id:myapp,members:[ui,api]}"
|
|
1865
1865
|
echo " # at the parent of related repos for shared CLAUDE.md + memory."
|
|
1866
1866
|
echo ""
|
|
@@ -1871,7 +1871,7 @@ show_help() {
|
|
|
1871
1871
|
echo ""
|
|
1872
1872
|
echo " # Config + dashboard"
|
|
1873
1873
|
echo " loki config set maxTier sonnet # Cap model cost"
|
|
1874
|
-
echo " loki dashboard start #
|
|
1874
|
+
echo " loki dashboard start # Open the Control Plane UI"
|
|
1875
1875
|
echo " loki watch # Auto-rerun on PRD changes"
|
|
1876
1876
|
echo " loki cockpit # Live multi-repo cockpit (terminal image)"
|
|
1877
1877
|
echo " loki remote # Remote session (phone/browser)"
|
|
@@ -1904,7 +1904,7 @@ show_help() {
|
|
|
1904
1904
|
echo ""
|
|
1905
1905
|
echo "Any command: loki <command> --help"
|
|
1906
1906
|
echo ""
|
|
1907
|
-
echo "Phase A-J features
|
|
1907
|
+
echo "Phase A-J features are default-on. See CHANGELOG."
|
|
1908
1908
|
echo ""
|
|
1909
1909
|
echo "Environment variables an operator would set: docs/environment-variables.md"
|
|
1910
1910
|
echo "Cost controls (budget, iteration and wall-clock caps): docs/cost-controls.md"
|
|
@@ -2534,7 +2534,7 @@ cmd_start() {
|
|
|
2534
2534
|
while [[ $# -gt 0 ]]; do
|
|
2535
2535
|
case "$1" in
|
|
2536
2536
|
--help|-h)
|
|
2537
|
-
echo -e "${BOLD}loki start${NC} - Unified entry point for Loki Mode
|
|
2537
|
+
echo -e "${BOLD}loki start${NC} - Unified entry point for Loki Mode"
|
|
2538
2538
|
echo ""
|
|
2539
2539
|
echo "Usage: loki start [REPO|PRD|ISSUE-REF] [options]"
|
|
2540
2540
|
echo ""
|
|
@@ -2574,6 +2574,8 @@ cmd_start() {
|
|
|
2574
2574
|
echo " --sandbox Run in Docker sandbox (default: off; requires Docker)"
|
|
2575
2575
|
echo " --isolation LEVEL Per-run isolation: none (default) | worktree | docker."
|
|
2576
2576
|
echo " Unified dial; --parallel = worktree, --sandbox = docker."
|
|
2577
|
+
echo " --attempts N Run N (1-5, default 1) independent attempts in separate git worktrees;"
|
|
2578
|
+
echo " the most executed passing checks wins, losers are recorded on the receipt"
|
|
2577
2579
|
echo " --skip-memory Skip loading memory context at startup"
|
|
2578
2580
|
echo " --fresh-prd Regenerate the PRD from the codebase on a no-PRD run"
|
|
2579
2581
|
echo " (ignores the reusable generated PRD; aliases: --regen-prd,"
|
|
@@ -2728,6 +2730,17 @@ cmd_start() {
|
|
|
2728
2730
|
args+=("--parallel")
|
|
2729
2731
|
shift
|
|
2730
2732
|
;;
|
|
2733
|
+
--attempts)
|
|
2734
|
+
# 11.3.0 T5: N>=2 is routed to the Bun route by bin/loki; N=1 is today's behavior.
|
|
2735
|
+
if [[ "${2:-}" != "1" ]]; then
|
|
2736
|
+
echo -e "${RED}--attempts N (2-5) needs the Bun route: run via bin/loki${NC}"
|
|
2737
|
+
exit 1
|
|
2738
|
+
fi
|
|
2739
|
+
shift 2
|
|
2740
|
+
;;
|
|
2741
|
+
--attempts=1)
|
|
2742
|
+
shift
|
|
2743
|
+
;;
|
|
2731
2744
|
--allow-haiku)
|
|
2732
2745
|
# Enable Haiku for the fast tier. Mirrors the LOKI_ALLOW_HAIKU=true
|
|
2733
2746
|
# env var (consumed by providers/claude.sh and run.sh). Documented in
|
|
@@ -4232,7 +4245,7 @@ cmd_stop() {
|
|
|
4232
4245
|
while [[ $# -gt 0 ]]; do
|
|
4233
4246
|
case "$1" in
|
|
4234
4247
|
--help|-h)
|
|
4235
|
-
echo -e "${BOLD}loki stop${NC} - Stop running sessions
|
|
4248
|
+
echo -e "${BOLD}loki stop${NC} - Stop running sessions"
|
|
4236
4249
|
echo ""
|
|
4237
4250
|
echo "Usage: loki stop [session-id] [--all]"
|
|
4238
4251
|
echo ""
|
|
@@ -7085,7 +7098,7 @@ cmd_provider() {
|
|
|
7085
7098
|
echo " info Show provider details"
|
|
7086
7099
|
echo " models Show resolved model configuration for all providers"
|
|
7087
7100
|
echo ""
|
|
7088
|
-
echo "Precedence (
|
|
7101
|
+
echo "Precedence (highest wins):"
|
|
7089
7102
|
echo " 1. loki start --provider NAME CLI flag (per-invocation)"
|
|
7090
7103
|
echo " 2. .loki/state/provider saved value (per-project)"
|
|
7091
7104
|
echo " 3. LOKI_PROVIDER env var shell session default"
|
|
@@ -7591,13 +7604,14 @@ cmd_dashboard_help() {
|
|
|
7591
7604
|
echo ""
|
|
7592
7605
|
echo "Usage: loki dashboard <command> [options]"
|
|
7593
7606
|
echo ""
|
|
7594
|
-
echo "
|
|
7595
|
-
echo "
|
|
7596
|
-
echo "
|
|
7597
|
-
echo "
|
|
7607
|
+
echo "'loki dashboard', 'loki dashboard start' and 'loki dashboard open' open the Control Plane,"
|
|
7608
|
+
echo "the browser UI for runs, cost, receipts and events (default port 47821; override with"
|
|
7609
|
+
echo "LOKI_CONTROL_PORT). Needs bun; see 'loki control --help'."
|
|
7610
|
+
echo "The commands below manage the classic dashboard server, which serves the API only."
|
|
7611
|
+
echo "Setting LOKI_LEGACY_DASHBOARD=1, or passing --host, --tls-cert or --tls-key, selects it."
|
|
7598
7612
|
echo ""
|
|
7599
7613
|
echo "Commands:"
|
|
7600
|
-
echo " start
|
|
7614
|
+
echo " start Open the Control Plane (or start the classic API server with the flags below)"
|
|
7601
7615
|
echo " stop Stop the dashboard server"
|
|
7602
7616
|
echo " status Show server status and URL"
|
|
7603
7617
|
echo " url Get the dashboard URL"
|
|
@@ -7605,7 +7619,7 @@ cmd_dashboard_help() {
|
|
|
7605
7619
|
echo " help Show this help"
|
|
7606
7620
|
echo ""
|
|
7607
7621
|
echo "Options for 'start':"
|
|
7608
|
-
echo " --port PORT Port
|
|
7622
|
+
echo " --port PORT Port for the classic API server (default: see LOKI_DASHBOARD_PORT)"
|
|
7609
7623
|
echo " --host HOST Host to bind to (default: $DASHBOARD_DEFAULT_HOST)"
|
|
7610
7624
|
echo " --tls-cert PATH Path to PEM certificate (enables HTTPS)"
|
|
7611
7625
|
echo " --tls-key PATH Path to PEM private key (enables HTTPS)"
|
|
@@ -7614,7 +7628,7 @@ cmd_dashboard_help() {
|
|
|
7614
7628
|
echo " --format FMT Output format: text (default) or json"
|
|
7615
7629
|
echo ""
|
|
7616
7630
|
echo "Environment:"
|
|
7617
|
-
echo " LOKI_DASHBOARD_PORT
|
|
7631
|
+
echo " LOKI_DASHBOARD_PORT Port for the classic API server"
|
|
7618
7632
|
echo " LOKI_DASHBOARD_HOST Default host (overrides $DASHBOARD_DEFAULT_HOST)"
|
|
7619
7633
|
echo " LOKI_TLS_CERT Path to PEM certificate (enables HTTPS)"
|
|
7620
7634
|
echo " LOKI_TLS_KEY Path to PEM private key (enables HTTPS)"
|
|
@@ -7625,7 +7639,7 @@ cmd_dashboard_help() {
|
|
|
7625
7639
|
echo " loki dashboard start --tls-cert cert.pem --tls-key key.pem"
|
|
7626
7640
|
echo " loki dashboard status # Check if running"
|
|
7627
7641
|
echo " loki dashboard url --format json # Get URL as JSON"
|
|
7628
|
-
echo " loki dashboard open #
|
|
7642
|
+
echo " loki dashboard open # Open the Control Plane"
|
|
7629
7643
|
echo " loki dashboard stop # Stop server"
|
|
7630
7644
|
}
|
|
7631
7645
|
|
|
@@ -8409,39 +8423,29 @@ cmd_web_redirect_to_dashboard() {
|
|
|
8409
8423
|
}
|
|
8410
8424
|
|
|
8411
8425
|
cmd_web_help() {
|
|
8412
|
-
echo -e "${BOLD}
|
|
8426
|
+
echo -e "${BOLD}loki web${NC} - Deprecated alias for the Control Plane"
|
|
8413
8427
|
echo ""
|
|
8414
8428
|
echo "Usage: loki web [command] [options]"
|
|
8415
8429
|
echo ""
|
|
8416
|
-
echo "
|
|
8417
|
-
echo "
|
|
8418
|
-
echo "
|
|
8419
|
-
echo " Lab, so the obvious command lands you on the working UI. Use the embedded"
|
|
8420
|
-
echo " 'Lab' tab there to submit a PRD. For the hosted platform, see Autonomi Cloud."
|
|
8421
|
-
echo ""
|
|
8422
|
-
echo "Note: the canonical command is 'loki dashboard' (operations UI, port ${DASHBOARD_DEFAULT_PORT})."
|
|
8423
|
-
echo " Use it to monitor running agents, tasks, costs, council, escalations."
|
|
8430
|
+
echo "The standalone web UI was folded into the Control Plane. 'loki web' with no"
|
|
8431
|
+
echo "subcommand launches the Control Plane (default port 47821, override with"
|
|
8432
|
+
echo "LOKI_CONTROL_PORT). The canonical command is 'loki dashboard'."
|
|
8424
8433
|
echo ""
|
|
8425
8434
|
echo "Commands:"
|
|
8426
|
-
echo " start Launch the
|
|
8427
|
-
echo " stop Stop
|
|
8428
|
-
echo " status Show
|
|
8429
|
-
echo " logs Show
|
|
8435
|
+
echo " start Launch the Control Plane (default)"
|
|
8436
|
+
echo " stop Stop a standalone web server started the old way"
|
|
8437
|
+
echo " status Show standalone web server status"
|
|
8438
|
+
echo " logs Show standalone web server logs"
|
|
8430
8439
|
echo " help Show this help"
|
|
8431
8440
|
echo ""
|
|
8432
8441
|
echo "Options (for start):"
|
|
8433
|
-
echo " --port PORT Use custom port
|
|
8434
|
-
echo " --no-open Accepted for back-compat; ignored (no-op
|
|
8442
|
+
echo " --port PORT Use custom port"
|
|
8443
|
+
echo " --no-open Accepted for back-compat; ignored (no-op)"
|
|
8435
8444
|
echo ""
|
|
8436
8445
|
echo "Examples:"
|
|
8437
|
-
echo " loki web Launch the
|
|
8438
|
-
echo " loki web --no-open
|
|
8439
|
-
echo " loki web stop Stop a
|
|
8440
|
-
echo ""
|
|
8441
|
-
echo "Note (since v7.5.30):"
|
|
8442
|
-
echo " The same PRD-input UI is embedded in the dashboard as a 'Lab' sidebar entry."
|
|
8443
|
-
echo " 'loki web stop|status|logs' still operate on a standalone Purple Lab"
|
|
8444
|
-
echo " process so anyone who started one the old way is never stranded."
|
|
8446
|
+
echo " loki web Launch the Control Plane"
|
|
8447
|
+
echo " loki web --no-open Same (--no-open is a no-op)"
|
|
8448
|
+
echo " loki web stop Stop a standalone web server started the old way"
|
|
8445
8449
|
}
|
|
8446
8450
|
|
|
8447
8451
|
cmd_web_start() {
|
|
@@ -11836,7 +11840,7 @@ cmd_watch() {
|
|
|
11836
11840
|
while [[ $# -gt 0 ]]; do
|
|
11837
11841
|
case "$1" in
|
|
11838
11842
|
--help|-h)
|
|
11839
|
-
echo -e "${BOLD}loki watch${NC} - Auto-rerun on PRD file changes
|
|
11843
|
+
echo -e "${BOLD}loki watch${NC} - Auto-rerun on PRD file changes"
|
|
11840
11844
|
echo ""
|
|
11841
11845
|
echo "Usage: loki watch [prd-path] [options]"
|
|
11842
11846
|
echo ""
|
|
@@ -12134,7 +12138,7 @@ cmd_cockpit() {
|
|
|
12134
12138
|
while [[ $# -gt 0 ]]; do
|
|
12135
12139
|
case "$1" in
|
|
12136
12140
|
--help|-h)
|
|
12137
|
-
echo -e "${BOLD}loki cockpit${NC} - Live multi-repo status as a terminal inline image
|
|
12141
|
+
echo -e "${BOLD}loki cockpit${NC} - Live multi-repo status as a terminal inline image"
|
|
12138
12142
|
echo ""
|
|
12139
12143
|
echo "Usage: loki cockpit [options]"
|
|
12140
12144
|
echo ""
|
|
@@ -12380,7 +12384,7 @@ cmd_export() {
|
|
|
12380
12384
|
|
|
12381
12385
|
case "$format" in
|
|
12382
12386
|
--help|-h)
|
|
12383
|
-
echo -e "${BOLD}loki export${NC} - Export session data
|
|
12387
|
+
echo -e "${BOLD}loki export${NC} - Export session data"
|
|
12384
12388
|
echo ""
|
|
12385
12389
|
echo "Usage: loki export <format> [output-path]"
|
|
12386
12390
|
echo ""
|
|
@@ -12936,7 +12940,7 @@ cmd_config() {
|
|
|
12936
12940
|
echo " schema Print the key -> env-var mapping table"
|
|
12937
12941
|
echo " validate [FILE] Validate loki.yaml (no FILE: repo root, then ~/.loki) or a --config file"
|
|
12938
12942
|
echo ""
|
|
12939
|
-
echo "Settable keys
|
|
12943
|
+
echo "Settable keys:"
|
|
12940
12944
|
echo " maxTier Cost ceiling: opus, sonnet, haiku (default: opus)"
|
|
12941
12945
|
echo " model.planning Model for planning tier"
|
|
12942
12946
|
echo " model.development Model for development tier"
|
|
@@ -13291,7 +13295,7 @@ cmd_config_show() {
|
|
|
13291
13295
|
echo " max_iterations: ${LOKI_MAX_ITERATIONS:-1000}"
|
|
13292
13296
|
echo " autonomy_mode: ${LOKI_AUTONOMY_MODE:-perpetual}"
|
|
13293
13297
|
echo ""
|
|
13294
|
-
echo "
|
|
13298
|
+
echo "Settings:"
|
|
13295
13299
|
echo " maxTier: ${LOKI_MAX_TIER:-(unlimited)}"
|
|
13296
13300
|
echo " blind_validation: ${LOKI_BLIND_VALIDATION:-true}"
|
|
13297
13301
|
echo " adversarial_testing: ${LOKI_ADVERSARIAL_TESTING:-true}"
|
|
@@ -14396,7 +14400,7 @@ cmd_logs() {
|
|
|
14396
14400
|
# Resolve the log the runner ACTUALLY writes.
|
|
14397
14401
|
#
|
|
14398
14402
|
# This read a logs/session.log path that nothing in the tree writes (other
|
|
14399
|
-
# readers of it exist in web-app/ and api
|
|
14403
|
+
# readers of it exist in web-app/ and examples/api/, all equally dead). So
|
|
14400
14404
|
# `loki logs`, the
|
|
14401
14405
|
# most natural "what is it doing?" command, reported "No log file found"
|
|
14402
14406
|
# while the real logs sat in that same directory. run.sh:22409 writes
|
|
@@ -14585,7 +14589,7 @@ cmd_api() {
|
|
|
14585
14589
|
echo " status Check if dashboard server is running"
|
|
14586
14590
|
echo ""
|
|
14587
14591
|
echo "Environment:"
|
|
14588
|
-
echo " LOKI_DASHBOARD_PORT Port
|
|
14592
|
+
echo " LOKI_DASHBOARD_PORT Port for the API server"
|
|
14589
14593
|
echo ""
|
|
14590
14594
|
echo "Endpoints:"
|
|
14591
14595
|
echo " GET /api/health - Health check"
|
|
@@ -17957,7 +17961,7 @@ cmd_mcp() {
|
|
|
17957
17961
|
}
|
|
17958
17962
|
|
|
17959
17963
|
cmd_heal_help() {
|
|
17960
|
-
echo -e "${BOLD}loki heal${NC} - Legacy system healing
|
|
17964
|
+
echo -e "${BOLD}loki heal${NC} - Legacy system healing"
|
|
17961
17965
|
echo ""
|
|
17962
17966
|
echo "Heal legacy codebases by understanding their real behaviors -- the quirks,"
|
|
17963
17967
|
echo "delays, error states, and invisible dependencies -- then modernizing"
|
|
@@ -18992,7 +18996,7 @@ cmd_cluster() {
|
|
|
18992
18996
|
|
|
18993
18997
|
case "$subcmd" in
|
|
18994
18998
|
--help|-h|help)
|
|
18995
|
-
echo -e "${BOLD}loki cluster${NC} - Custom workflow templates
|
|
18999
|
+
echo -e "${BOLD}loki cluster${NC} - Custom workflow templates"
|
|
18996
19000
|
echo ""
|
|
18997
19001
|
echo "Usage: loki cluster <command> [options]"
|
|
18998
19002
|
echo ""
|
|
@@ -19710,7 +19714,7 @@ with open(failover_file, 'w') as f: json.dump(d, f, indent=2)
|
|
|
19710
19714
|
shift
|
|
19711
19715
|
;;
|
|
19712
19716
|
--help|-h)
|
|
19713
|
-
echo -e "${BOLD}loki failover${NC} - Cross-provider auto-failover management
|
|
19717
|
+
echo -e "${BOLD}loki failover${NC} - Cross-provider auto-failover management"
|
|
19714
19718
|
echo ""
|
|
19715
19719
|
echo "Usage: loki failover [options]"
|
|
19716
19720
|
echo ""
|
|
@@ -19949,7 +19953,7 @@ def _resolve_session_pin(alias):
|
|
|
19949
19953
|
# fable unavailable, collapse to opus. Claude Fable 5 is not available at
|
|
19950
19954
|
# the Claude API (advises use Opus 4.8); the runner dispatches opus for a
|
|
19951
19955
|
# fable pin (claude.sh resolve_model_for_tier, run.sh dispatch backstop).
|
|
19952
|
-
# Quote opus pricing (\$
|
|
19956
|
+
# Quote opus pricing (\$4/\$20) so the estimator agrees with dispatch and
|
|
19953
19957
|
# the dashboard (v7.39.1).
|
|
19954
19958
|
_m = 'opus'
|
|
19955
19959
|
else: # development (and the '*' fallthrough)
|
|
@@ -20279,22 +20283,23 @@ tokens_per_tier = {
|
|
|
20279
20283
|
'fast': {'input': 30000, 'output': 5000, 'model': 'Haiku'},
|
|
20280
20284
|
}
|
|
20281
20285
|
|
|
20282
|
-
# Pricing per 1M tokens. Fable 5 is the top-tier advisory model at
|
|
20283
|
-
# Opus per token (published \$10/\$50 in/out vs Opus \$
|
|
20284
|
-
# corrected
|
|
20285
|
-
# row from a stale \$0.25/\$1.25 (Haiku 3.5) to the
|
|
20286
|
-
#
|
|
20286
|
+
# Pricing per 1M tokens. Fable 5 is the top-tier advisory model at 2.5x
|
|
20287
|
+
# Opus per token (published \$10/\$50 in/out vs Opus 5.5 \$4/\$20). The Opus row was
|
|
20288
|
+
# corrected to the published Opus 5.5 \$4/\$20 (platform.claude.com pricing, 2026-10-08), and the Haiku
|
|
20289
|
+
# row from a stale \$0.25/\$1.25 (Haiku 3.5) to Haiku 5.5 \$0.10/\$0.50 (the haiku alias target
|
|
20290
|
+
# in the model catalog, up to 100K prompt tokens), so all four rows now
|
|
20287
20291
|
# match the three canonical model-keyed tables (run.sh pricing.json, run.sh
|
|
20288
20292
|
# check_budget_limit, dashboard _DEFAULT_PRICING). The Fable row (\$10/\$50) is
|
|
20289
20293
|
# kept as the reference price, but since v7.39.1 fable is unavailable at the API
|
|
20290
20294
|
# and a fable pin RESOLVES to Opus everywhere -- so a fable-pinned run both
|
|
20291
|
-
# dispatches AND quotes Opus (\$
|
|
20295
|
+
# dispatches AND quotes Opus (\$4/\$20), matching the runner. The Fable price row
|
|
20292
20296
|
# is only reachable as an explicit advisory reference, not via a session pin.
|
|
20293
20297
|
pricing = {
|
|
20294
20298
|
'Fable': {'input': 10.00, 'output': 50.00},
|
|
20295
|
-
'Opus': {'input':
|
|
20299
|
+
'Opus': {'input': 4.00, 'output': 20.00},
|
|
20296
20300
|
'Sonnet': {'input': 2.00, 'output': 10.00},
|
|
20297
|
-
|
|
20301
|
+
# Haiku = Haiku 5.5 up to 100K prompt tokens (alias target in the model catalog)
|
|
20302
|
+
'Haiku': {'input': 0.10, 'output': 0.50},
|
|
20298
20303
|
}
|
|
20299
20304
|
|
|
20300
20305
|
# Build per-iteration plan
|
|
@@ -20888,6 +20893,23 @@ main() {
|
|
|
20888
20893
|
# (CLI > config). The pre-pass SCANS without consuming; the per-command
|
|
20889
20894
|
# loops carry consume-and-ignore arms for the three aliases. Gated to
|
|
20890
20895
|
# start/run/quick so status/config/stop never trigger a config load.
|
|
20896
|
+
# T5-D2 (FC-38 sweep): the bash entries have no attempts engine. --attempts (any value) is refused
|
|
20897
|
+
# here, before cmd_start / cmd_run / cmd_quick / cmd_demo can reach the legacy loop. bin/loki sends
|
|
20898
|
+
# `start --attempts N` to the Bun start command and never gets here with it.
|
|
20899
|
+
case "$command" in
|
|
20900
|
+
start|run|quick|demo|tour)
|
|
20901
|
+
local _att_a
|
|
20902
|
+
for _att_a in "$@"; do
|
|
20903
|
+
case "$_att_a" in
|
|
20904
|
+
--attempts|--attempts=*)
|
|
20905
|
+
echo -e "${RED}--attempts is only supported by 'loki start --attempts N --no-pr' (the Loki 10 engine); 'loki $command' would run the removed legacy loop.${NC}" >&2
|
|
20906
|
+
exit 2
|
|
20907
|
+
;;
|
|
20908
|
+
esac
|
|
20909
|
+
done
|
|
20910
|
+
;;
|
|
20911
|
+
esac
|
|
20912
|
+
|
|
20891
20913
|
case "$command" in
|
|
20892
20914
|
start|run|quick)
|
|
20893
20915
|
if declare -f loki_maybe_apply_config_file >/dev/null 2>&1; then
|
|
@@ -21017,13 +21039,13 @@ main() {
|
|
|
21017
21039
|
echo "Usage: loki serve [options]"
|
|
21018
21040
|
echo ""
|
|
21019
21041
|
echo "Alias for 'loki api start'. Starts the dashboard HTTP API"
|
|
21020
|
-
echo "server (FastAPI
|
|
21042
|
+
echo "server (FastAPI)."
|
|
21021
21043
|
echo ""
|
|
21022
21044
|
echo "For the UI, run 'loki' (opens the Control Plane) or 'loki control serve'."
|
|
21023
21045
|
echo ""
|
|
21024
21046
|
echo "Options:"
|
|
21025
21047
|
echo " --host HOST Bind host (default: 127.0.0.1)"
|
|
21026
|
-
echo " --port PORT Bind port (default:
|
|
21048
|
+
echo " --port PORT Bind port (default: LOKI_DASHBOARD_PORT)"
|
|
21027
21049
|
echo " --help, -h Show this help and exit"
|
|
21028
21050
|
echo ""
|
|
21029
21051
|
echo "Side effects: starts a long-running HTTP server bound to a TCP port."
|
|
@@ -22449,7 +22471,7 @@ MERGE_VALIDATE_PY
|
|
|
22449
22471
|
;;
|
|
22450
22472
|
|
|
22451
22473
|
--help|-h|help)
|
|
22452
|
-
echo -e "${BOLD}loki worktree${NC} - Manage parallel worktrees
|
|
22474
|
+
echo -e "${BOLD}loki worktree${NC} - Manage parallel worktrees"
|
|
22453
22475
|
echo ""
|
|
22454
22476
|
echo "Usage: loki worktree <command>"
|
|
22455
22477
|
echo ""
|
|
@@ -22475,7 +22497,7 @@ cmd_state() {
|
|
|
22475
22497
|
|
|
22476
22498
|
case "$subcmd" in
|
|
22477
22499
|
--help|-h|help)
|
|
22478
|
-
echo -e "${BOLD}loki state${NC} - Query the SQLite state layer
|
|
22500
|
+
echo -e "${BOLD}loki state${NC} - Query the SQLite state layer"
|
|
22479
22501
|
echo ""
|
|
22480
22502
|
echo "Usage: loki state <command> [options]"
|
|
22481
22503
|
echo ""
|
|
@@ -24356,7 +24378,7 @@ except Exception as e:
|
|
|
24356
24378
|
echo " skill [name] Show skill by name or list all skills"
|
|
24357
24379
|
echo " vectors [rebuild] Show vector index stats or rebuild indices"
|
|
24358
24380
|
echo ""
|
|
24359
|
-
echo "Namespace Commands
|
|
24381
|
+
echo "Namespace Commands:"
|
|
24360
24382
|
echo " namespace detect Auto-detect namespace from current directory"
|
|
24361
24383
|
echo " namespace list List all available namespaces"
|
|
24362
24384
|
echo " namespace create NAME Create a new namespace"
|
|
@@ -24384,14 +24406,14 @@ except Exception as e:
|
|
|
24384
24406
|
echo " loki memory vectors"
|
|
24385
24407
|
echo " loki memory vectors rebuild"
|
|
24386
24408
|
echo ""
|
|
24387
|
-
echo " loki memory ingest --from-claude-transcript <path>
|
|
24388
|
-
echo " loki memory ingest --from-stdin
|
|
24389
|
-
echo " loki memory replay <episode-id> [--json]
|
|
24390
|
-
echo " loki memory crossproject --for 'build api'
|
|
24391
|
-
echo " loki memory graph --export graph.json
|
|
24392
|
-
echo " loki memory graph rebuild
|
|
24393
|
-
echo " loki memory enable-hook
|
|
24394
|
-
echo " loki memory disable-hook
|
|
24409
|
+
echo " loki memory ingest --from-claude-transcript <path>"
|
|
24410
|
+
echo " loki memory ingest --from-stdin"
|
|
24411
|
+
echo " loki memory replay <episode-id> [--json]"
|
|
24412
|
+
echo " loki memory crossproject --for 'build api'"
|
|
24413
|
+
echo " loki memory graph --export graph.json"
|
|
24414
|
+
echo " loki memory graph rebuild"
|
|
24415
|
+
echo " loki memory enable-hook"
|
|
24416
|
+
echo " loki memory disable-hook"
|
|
24395
24417
|
echo ""
|
|
24396
24418
|
echo " loki memory namespace detect"
|
|
24397
24419
|
echo " loki memory namespace list"
|
|
@@ -27166,15 +27188,17 @@ TELEM_DISABLE_PY
|
|
|
27166
27188
|
echo " status Show OTEL config + collection state + pending crash reports"
|
|
27167
27189
|
echo " enable [endpoint] Enable OTEL (default: http://localhost:4318)"
|
|
27168
27190
|
echo " disable Disable OTEL for current project"
|
|
27169
|
-
echo " on Opt in to anonymous diagnostics
|
|
27191
|
+
echo " on Opt in explicitly to anonymous diagnostics"
|
|
27170
27192
|
echo " off Opt out of all anonymous diagnostics (telemetry + crash)"
|
|
27171
27193
|
echo " start Alias for 'on' (persistent opt-in across all sessions)"
|
|
27172
27194
|
echo " stop Alias for 'off' (persistent opt-out across all sessions)"
|
|
27173
27195
|
echo " analytics on|off|status"
|
|
27174
27196
|
echo " Opt in/out of build-outcome analytics (off by default)"
|
|
27175
27197
|
echo ""
|
|
27176
|
-
echo "Anonymous diagnostics are
|
|
27177
|
-
echo "
|
|
27198
|
+
echo "Anonymous diagnostics are ON by default for individual interactive installs,"
|
|
27199
|
+
echo "and OFF in CI, enterprise, air-gapped and non-interactive contexts. An opt-out"
|
|
27200
|
+
echo "(loki telemetry off, LOKI_TELEMETRY=off or DO_NOT_TRACK=1) always wins."
|
|
27201
|
+
echo "See docs/PRIVACY.md for the full disclosure."
|
|
27178
27202
|
echo ""
|
|
27179
27203
|
;;
|
|
27180
27204
|
*)
|
|
@@ -29829,7 +29853,7 @@ PYEOF
|
|
|
29829
29853
|
;;
|
|
29830
29854
|
|
|
29831
29855
|
--help|-h|help)
|
|
29832
|
-
echo -e "${BOLD}loki agent${NC} - Agent type dispatch
|
|
29856
|
+
echo -e "${BOLD}loki agent${NC} - Agent type dispatch"
|
|
29833
29857
|
echo ""
|
|
29834
29858
|
echo "Usage: loki agent <command> [args]"
|
|
29835
29859
|
echo ""
|
|
@@ -31506,7 +31530,7 @@ _docs_invoke_provider() {
|
|
|
31506
31530
|
# not the workload that needs the top tier. Pinned to the same
|
|
31507
31531
|
# default the review subcall uses (run.sh:13762), and overridable
|
|
31508
31532
|
# for anyone who wants a different trade.
|
|
31509
|
-
result=$($t_prefix env CAVEMAN_DEFAULT_MODE=off claude -p --model "${LOKI_DOCS_MODEL:-
|
|
31533
|
+
result=$($t_prefix env CAVEMAN_DEFAULT_MODE=off claude -p --model "${LOKI_DOCS_MODEL:-sonnet}" "$prompt" 2>/dev/null) || exit_code=$?
|
|
31510
31534
|
;;
|
|
31511
31535
|
codex)
|
|
31512
31536
|
result=$($t_prefix codex exec --sandbox workspace-write "$prompt" 2>/dev/null) || exit_code=$?
|
|
@@ -35029,7 +35053,7 @@ cmd_report_legacy() {
|
|
|
35029
35053
|
while [[ $# -gt 0 ]]; do
|
|
35030
35054
|
case "$1" in
|
|
35031
35055
|
--help|-h)
|
|
35032
|
-
echo -e "${BOLD}loki report${NC} - Session report generator
|
|
35056
|
+
echo -e "${BOLD}loki report${NC} - Session report generator"
|
|
35033
35057
|
echo ""
|
|
35034
35058
|
echo "Usage: loki report [subcommand] [options]"
|
|
35035
35059
|
echo ""
|