loki-mode 10.5.16 → 10.5.19
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/.claude-plugin/marketplace.json +12 -0
- package/README.md +878 -29
- package/SKILL.md +3 -3
- package/VERSION +1 -1
- package/autonomy/lib/backlog.py +280 -0
- package/autonomy/lib/loki_yaml.py +225 -0
- package/autonomy/lib/proof-generator.py +251 -0
- package/autonomy/lib/proof-verify.py +1 -0
- package/autonomy/loki +117 -12
- package/autonomy/run.sh +27 -2
- package/autonomy/verify.sh +11 -0
- package/completions/_loki +1 -0
- package/completions/loki.bash +2 -2
- package/dashboard/__init__.py +1 -1
- package/dashboard/api_start.py +463 -0
- package/dashboard/server.py +31 -0
- package/dashboard/static/start.html +100 -0
- package/docs/COMPARISON.md +6 -19
- package/docs/COMPETITIVE-ANALYSIS.md +6 -41
- package/docs/CRASH-REPORTING-PLAN.md +1 -1
- package/docs/ENTERPRISE-IDENTITY-ROADMAP.md +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/docs/PRIVACY.md +1 -1
- package/docs/R8-SHAREABLE-TEAM-ASSETS-PLAN.md +1 -1
- package/docs/WANG-PRINCIPLES-PLAN.md +1 -1
- package/docs/architecture/STATE-MACHINES.md +18 -27
- package/docs/architecture/bmad-integration-validation.md +2 -2
- package/docs/audit-logging.md +12 -86
- package/docs/authentication.md +4 -4
- package/docs/authorization.md +15 -47
- package/docs/auto-claude-comparison.md +1 -33
- package/docs/certification/01-core-concepts/lab.md +3 -3
- package/docs/certification/01-core-concepts/lesson.md +11 -22
- package/docs/certification/01-core-concepts/quiz.md +7 -7
- package/docs/certification/02-enterprise-features/lab.md +0 -2
- package/docs/certification/02-enterprise-features/lesson.md +0 -10
- package/docs/certification/04-production-deployment/lab.md +1 -1
- package/docs/certification/05-troubleshooting/lab.md +2 -2
- package/docs/certification/README.md +1 -1
- package/docs/certification/answer-key.md +37 -20
- package/docs/certification/certification-exam.md +7 -7
- package/docs/competitive/emergence-others-analysis.md +3 -3
- package/docs/competitive/replit-lovable-analysis.md +2 -2
- package/docs/cursor-comparison.md +2 -2
- package/docs/dashboard-guide.md +14 -2
- package/docs/dev/architecture-reference.md +2 -2
- package/docs/dev/project-structure.md +1 -1
- package/docs/enterprise/architecture.md +11 -8
- package/docs/enterprise/integration-cookbook.md +23 -14
- package/docs/enterprise/migration.md +5 -9
- package/docs/enterprise/performance.md +3 -6
- package/docs/enterprise/sdk-guide.md +1 -1
- package/docs/enterprise/security.md +8 -17
- package/docs/exit-codes.md +29 -0
- package/docs/git-workflow.md +4 -62
- package/docs/network-security.md +3 -13
- package/docs/plans/ULTRAPLAN-FORGE-BAAS.md +1 -1
- package/docs/prd-purple-lab-platform-v2.md +1 -1
- package/docs/prd-purple-lab-platform.md +1 -3
- package/docs/research-2026-07/GAP-ANALYSIS-BACKLOG.md +1 -1
- package/docs/show-hn-post.md +3 -4
- package/docs/siem-integration.md +8 -10
- package/docs/test-scenarios/edge-cases.md +2 -2
- package/docs/test-scenarios/enterprise-scenarios.md +4 -4
- package/docs/v10/BOARD.md +21 -11
- package/docs/v10/DECISIONS.md +36 -0
- package/docs/v10/FOUNDER-QUEUE.md +1 -0
- package/docs/v10/GUIDE.md +5 -3
- package/docs/v10/METRICS.md +36 -0
- package/docs/v10/PROGRESS.md +76 -0
- package/docs/walkthrough/README.md +1 -7
- package/loki-ts/dist/loki.js +415 -407
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/web-app/dist/assets/{AdminPage-B1zdOJaF.js → AdminPage-BH_7fpoz.js} +1 -1
- package/web-app/dist/assets/{Avatar-DKjAJ_w7.js → Avatar-BzyhrX0s.js} +1 -1
- package/web-app/dist/assets/{Badge-DP-UrPLv.js → Badge-CL05xwgC.js} +1 -1
- package/web-app/dist/assets/{Button-c8qBEA2K.js → Button-BVHrGLGH.js} +1 -1
- package/web-app/dist/assets/{CockpitPage-CFljzGbi.js → CockpitPage-B9BAEqD-.js} +1 -1
- package/web-app/dist/assets/{ComparePage-BNKqdNRu.js → ComparePage-D4grckhY.js} +1 -1
- package/web-app/dist/assets/{ErrorBoundary-DNkpXGt5.js → ErrorBoundary-Bg52u7eg.js} +1 -1
- package/web-app/dist/assets/{EvidenceReceiptPanel-CQd49V4Z.js → EvidenceReceiptPanel-B15kRZbJ.js} +1 -1
- package/web-app/dist/assets/{GitHubIssuesPanel-B9wji_yi.js → GitHubIssuesPanel-DP_BhJSC.js} +1 -1
- package/web-app/dist/assets/{GitHubPRsPanel-BkfCV4ag.js → GitHubPRsPanel-DJBu83u9.js} +1 -1
- package/web-app/dist/assets/{HomePage-BVV3Cowy.js → HomePage-6mw4uvLs.js} +2 -2
- package/web-app/dist/assets/{LoginPage-CWiOenLJ.js → LoginPage-BWWzFHif.js} +1 -1
- package/web-app/dist/assets/{MagicPage-DckrjTVd.js → MagicPage-CSyo7k5t.js} +1 -1
- package/web-app/dist/assets/{MetricsPage-DNBnH68C.js → MetricsPage-Buq03cch.js} +1 -1
- package/web-app/dist/assets/{NotFoundPage-Ca8za8mL.js → NotFoundPage-BG8vuV4g.js} +1 -1
- package/web-app/dist/assets/{ProjectPage-C92sm9xi.js → ProjectPage-D7eJn--6.js} +3 -3
- package/web-app/dist/assets/{ProjectsPage-BxsCyJ95.js → ProjectsPage-DXPycvjA.js} +1 -1
- package/web-app/dist/assets/{SettingsPage-BKg-6aHI.js → SettingsPage-Blvav87U.js} +1 -1
- package/web-app/dist/assets/{ShowcasePage-Bw_fI5rG.js → ShowcasePage-ZCAKRsNN.js} +1 -1
- package/web-app/dist/assets/{SystemSettingsPage-Bc-2OWUp.js → SystemSettingsPage-ClzjKfI4.js} +1 -1
- package/web-app/dist/assets/{TeamsPage-GsYRD1b9.js → TeamsPage-CKp1-WGX.js} +1 -1
- package/web-app/dist/assets/{TemplatesPage-BN7ZlULA.js → TemplatesPage-C0yAp2Yl.js} +1 -1
- package/web-app/dist/assets/{TerminalOutput-d7__ysTd.js → TerminalOutput-C3KbV8E7.js} +1 -1
- package/web-app/dist/assets/{activity-ycOMpCGz.js → activity-CG5PtpVI.js} +1 -1
- package/web-app/dist/assets/{bell-B93o4lsL.js → bell-CyLp--NR.js} +1 -1
- package/web-app/dist/assets/{bot-CB0kmriG.js → bot-Dp0zY9t7.js} +1 -1
- package/web-app/dist/assets/{check-BAYNAOEO.js → check-ipranz8L.js} +1 -1
- package/web-app/dist/assets/{chevron-left-Bgu8UgyR.js → chevron-left-DhYs9D3t.js} +1 -1
- package/web-app/dist/assets/{circle-alert-n_FciWUP.js → circle-alert-BLAxBNgz.js} +1 -1
- package/web-app/dist/assets/{clock-CNceeS66.js → clock-DzocnapF.js} +1 -1
- package/web-app/dist/assets/{cloud-CJBEdb7m.js → cloud-B3YsIUwq.js} +1 -1
- package/web-app/dist/assets/{code-xml-BHnKVqrH.js → code-xml-BPcy_Eqm.js} +1 -1
- package/web-app/dist/assets/{database-DSVoL7Pl.js → database-DOuuclZf.js} +1 -1
- package/web-app/dist/assets/{dollar-sign-48dvOe4H.js → dollar-sign-o77cj-xB.js} +1 -1
- package/web-app/dist/assets/{file-code-corner-8yzS5DeZ.js → file-code-corner-BZ2VMnYA.js} +1 -1
- package/web-app/dist/assets/{file-plus-BcuVrrey.js → file-plus-DeHfGncj.js} +1 -1
- package/web-app/dist/assets/{globe-Bb-O58oN.js → globe-DmIW-phf.js} +1 -1
- package/web-app/dist/assets/{hammer-DeMMY6xW.js → hammer-CoW8R8V5.js} +1 -1
- package/web-app/dist/assets/{index-9hue9wt2.js → index-5rCTAnsF.js} +3 -3
- package/web-app/dist/assets/{layers-DmCoMrQC.js → layers-DGEk-2RQ.js} +1 -1
- package/web-app/dist/assets/{loader-circle-CJvjM7JW.js → loader-circle-DXn-F-H5.js} +1 -1
- package/web-app/dist/assets/{lock-Dpje5cWO.js → lock-D5nAjeUu.js} +1 -1
- package/web-app/dist/assets/{package-mA_hCaf8.js → package-D8Drpzi8.js} +1 -1
- package/web-app/dist/assets/{plus-Db0JnAoC.js → plus-C-0T9dAu.js} +1 -1
- package/web-app/dist/assets/{refresh-cw-DbCL1y7h.js → refresh-cw-AyYQQPZG.js} +1 -1
- package/web-app/dist/assets/{rotate-ccw-Bt6pp50d.js → rotate-ccw-DYbslLfT.js} +1 -1
- package/web-app/dist/assets/{scroll-text-7j0hXxm7.js → scroll-text-CQFQhF_6.js} +1 -1
- package/web-app/dist/assets/{server-BMJYtpVZ.js → server-DxNytQEJ.js} +1 -1
- package/web-app/dist/assets/{shield-alert-Bu8Pbdy-.js → shield-alert-Xj5wGUSK.js} +1 -1
- package/web-app/dist/assets/{thumbs-up-8erzRJ8k.js → thumbs-up-DW0j9Yxz.js} +1 -1
- package/web-app/dist/assets/{trash-2-DBC_D_Hv.js → trash-2-VOdpiJ1e.js} +1 -1
- package/web-app/dist/assets/{trending-down-DMNq5hSm.js → trending-down-eTizH4_b.js} +1 -1
- package/web-app/dist/assets/{trending-up-9b1IqBqR.js → trending-up-agYVl7bU.js} +1 -1
- package/web-app/dist/assets/{upload-SoA0iiLG.js → upload-DQ3NfXA_.js} +1 -1
- package/web-app/dist/assets/{usePolling-DLP2FX9M.js → usePolling-BKETnkDT.js} +1 -1
- package/web-app/dist/assets/{user-D7Pb9wW3.js → user-Cv6BNmOT.js} +1 -1
- package/web-app/dist/index.html +1 -1
- package/docs/README-FULL.md +0 -977
|
@@ -84,21 +84,6 @@ Loki Mode is built on peer-reviewed research:
|
|
|
84
84
|
|
|
85
85
|
**Verdict: Loki Mode wins** - Academically grounded.
|
|
86
86
|
|
|
87
|
-
### 2. Specialized Agent Types
|
|
88
|
-
Loki Mode has 41 specialized agent roles across 8 domains - prompt-defined specifications the orchestrator adopts per phase, with parallel review (blind council) and optional worktree streams on Claude Code, sequential on other providers:
|
|
89
|
-
- Engineering (8): frontend, backend, database, mobile, API, QA, perf, infra
|
|
90
|
-
- Operations (8): DevOps, SRE, security, monitoring, incident, release, cost, compliance
|
|
91
|
-
- Business (8): marketing, sales, finance, legal, support, HR, investor, partnerships
|
|
92
|
-
- Data (3): ML, engineering, analytics
|
|
93
|
-
- Product (3): PM, design, tech writer
|
|
94
|
-
- Growth (4): hacker, community, success, lifecycle
|
|
95
|
-
- Review (3): code, business, security
|
|
96
|
-
- Orchestration (4): planner, sub-planner, judge, coordinator
|
|
97
|
-
|
|
98
|
-
**Auto-Claude:** 4 agent types: planner, coder, memory_manager, QA
|
|
99
|
-
|
|
100
|
-
**Verdict: Loki Mode wins** - 10x more specialized coverage.
|
|
101
|
-
|
|
102
87
|
### 3. Full SDLC Coverage
|
|
103
88
|
Loki Mode covers:
|
|
104
89
|
- Engineering (code, tests, deployment)
|
|
@@ -143,25 +128,10 @@ Beyond the gates, the SDLC pipeline covers these phases:
|
|
|
143
128
|
|
|
144
129
|
**Verdict: Loki Mode wins** - Comprehensive quality vs single loop.
|
|
145
130
|
|
|
146
|
-
### 6. Published Benchmarks
|
|
147
|
-
Loki Mode:
|
|
148
|
-
- HumanEval: 98.78% Pass@1 (162/164, reproducible harness)
|
|
149
|
-
- SWE-bench: not measured. A patch-generation harness exists (299/300 diffs
|
|
150
|
-
produced), but the official evaluator was never run, so there is no resolve
|
|
151
|
-
rate. Patch generation is not a success metric and is not comparable to
|
|
152
|
-
other tools' resolution scores.
|
|
153
|
-
|
|
154
|
-
**Auto-Claude:** No published benchmarks.
|
|
155
|
-
|
|
156
|
-
**Verdict: Loki Mode wins on HumanEval transparency** - one real, reproducible
|
|
157
|
-
number versus none. No SWE-bench performance claim is made.
|
|
158
|
-
|
|
159
131
|
### 7. Licensing
|
|
160
|
-
- Loki Mode:
|
|
132
|
+
- Loki Mode: BUSL-1.1 (source-available)
|
|
161
133
|
- Auto-Claude: AGPL-3.0 (copyleft, requires open-sourcing modifications)
|
|
162
134
|
|
|
163
|
-
**Verdict: Loki Mode wins** - More permissive for commercial use.
|
|
164
|
-
|
|
165
135
|
### 8. API Access
|
|
166
136
|
- Loki Mode: Works with Claude API (any tier)
|
|
167
137
|
- Auto-Claude: Requires Claude Pro/Max subscription
|
|
@@ -235,10 +205,8 @@ Loki Mode now incorporates proven patterns from Cursor's large-scale agent deplo
|
|
|
235
205
|
## What Auto-Claude Could Learn from Loki Mode
|
|
236
206
|
|
|
237
207
|
1. **Research Foundation** - Document the science behind decisions
|
|
238
|
-
2. **Specialized Agents** - More than 4 generic agent types
|
|
239
208
|
3. **Anti-Sycophancy** - Blind review prevents false positives
|
|
240
209
|
4. **Full SDLC** - Business, marketing, growth automation
|
|
241
|
-
5. **Published Benchmarks** - Verify claims with reproducible tests
|
|
242
210
|
6. **Source-available (BUSL-1.1)** - Inspect and self-host the full code
|
|
243
211
|
|
|
244
212
|
---
|
|
@@ -8,7 +8,7 @@ Install Loki Mode, verify the installation, create a simple PRD, run it, and exa
|
|
|
8
8
|
|
|
9
9
|
- Node.js 18+ installed
|
|
10
10
|
- npm available on your PATH
|
|
11
|
-
- A supported AI provider CLI installed (Claude Code, Codex CLI, or
|
|
11
|
+
- A supported AI provider CLI installed (Claude Code, Cline, Codex CLI, Aider, or opencode)
|
|
12
12
|
- An active API key for your chosen provider
|
|
13
13
|
|
|
14
14
|
## Step 1: Install Loki Mode
|
|
@@ -23,7 +23,7 @@ Verify the installation:
|
|
|
23
23
|
loki version
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
You should see
|
|
26
|
+
You should see the installed version number.
|
|
27
27
|
|
|
28
28
|
## Step 2: Run the Doctor Check
|
|
29
29
|
|
|
@@ -87,7 +87,7 @@ Alternatively, if using a specific provider:
|
|
|
87
87
|
```bash
|
|
88
88
|
loki start --provider claude ./simple-prd.md # Claude Code (default)
|
|
89
89
|
loki start --provider codex ./simple-prd.md # OpenAI Codex CLI
|
|
90
|
-
loki start --provider
|
|
90
|
+
loki start --provider cline ./simple-prd.md # Cline
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
You can also force the simple complexity tier to limit the number of phases:
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## What is Loki Mode?
|
|
4
4
|
|
|
5
|
-
Loki Mode is a multi-agent autonomous system created by [Autonomi](https://www.autonomi.dev/). It takes a Product Requirements Document (PRD) and builds a fully deployed product with minimal human intervention. It supports
|
|
5
|
+
Loki Mode is a multi-agent autonomous system created by [Autonomi](https://www.autonomi.dev/). It takes a Product Requirements Document (PRD) and builds a fully deployed product with minimal human intervention. It supports five provider CLIs: Claude Code (full features), Cline (reduced), OpenAI Codex CLI and Aider (degraded, sequential), and opencode (model-agnostic).
|
|
6
6
|
|
|
7
7
|
Loki Mode is installed as an npm package and invoked through the `loki` CLI or directly within Claude Code as a skill.
|
|
8
8
|
|
|
@@ -70,18 +70,7 @@ Or via the environment variable `LOKI_COMPLEXITY=simple|standard|complex`.
|
|
|
70
70
|
|
|
71
71
|
## Agents
|
|
72
72
|
|
|
73
|
-
Loki Mode defines
|
|
74
|
-
|
|
75
|
-
| Domain | Agent Count | Examples |
|
|
76
|
-
|-------|-------------|----------|
|
|
77
|
-
| Engineering | 8 | frontend, backend, database, mobile, api, qa, perf, infra |
|
|
78
|
-
| Operations | 8 | devops, sre, security, monitor, incident, release, cost, compliance |
|
|
79
|
-
| Business | 8 | marketing, sales, finance, legal, support, hr, investor, partnerships |
|
|
80
|
-
| Data | 3 | ml, eng, analytics |
|
|
81
|
-
| Product | 3 | pm, design, techwriter |
|
|
82
|
-
| Growth | 4 | hacker, community, success, lifecycle |
|
|
83
|
-
| Review | 3 | code, business, security |
|
|
84
|
-
| Orchestration | 4 | (internal system agents) |
|
|
73
|
+
Loki Mode defines specialized agent roles across engineering, operations, product, data, growth and review domains.
|
|
85
74
|
|
|
86
75
|
These agents are **roles defined through prompts**, not separate programs. They are implemented using the Claude Code Task tool with role-specific prompts:
|
|
87
76
|
|
|
@@ -99,7 +88,7 @@ Task(
|
|
|
99
88
|
)
|
|
100
89
|
```
|
|
101
90
|
|
|
102
|
-
|
|
91
|
+
The orchestrator spawns only the agents required for the current task.
|
|
103
92
|
|
|
104
93
|
Full agent type definitions are in `references/agent-types.md`.
|
|
105
94
|
|
|
@@ -154,14 +143,14 @@ The memory engine is implemented in Python (`memory/engine.py`, `memory/retrieva
|
|
|
154
143
|
|
|
155
144
|
Loki Mode maps tasks to model tiers rather than specific model names:
|
|
156
145
|
|
|
157
|
-
| Task Type | Tier | Claude | Codex |
|
|
158
|
-
|
|
159
|
-
| Architecture, system design | planning | opus | effort=xhigh |
|
|
160
|
-
| Feature implementation, bugs | development | opus | effort=high |
|
|
161
|
-
| Code review | development | opus (sonnet for reviewers) | effort=high |
|
|
162
|
-
| Unit tests, linting, docs | fast | sonnet | effort=low |
|
|
146
|
+
| Task Type | Tier | Claude | Codex |
|
|
147
|
+
|-----------|------|--------|-------|
|
|
148
|
+
| Architecture, system design | planning | opus | effort=xhigh |
|
|
149
|
+
| Feature implementation, bugs | development | opus | effort=high |
|
|
150
|
+
| Code review | development | opus (sonnet for reviewers) | effort=high |
|
|
151
|
+
| Unit tests, linting, docs | fast | sonnet | effort=low |
|
|
163
152
|
|
|
164
|
-
Claude Code has full feature support: parallel agents (up to 10 simultaneous), the Task tool, and MCP integration. Codex and
|
|
153
|
+
Claude Code has full feature support: parallel agents (up to 10 simultaneous), the Task tool, and MCP integration. Cline runs in reduced mode; Codex and Aider run in degraded mode (sequential execution only, no Task tool, no parallel agents); opencode is model-agnostic.
|
|
165
154
|
|
|
166
155
|
## Key Files
|
|
167
156
|
|
|
@@ -180,4 +169,4 @@ Every Loki Mode project uses these files in the `.loki/` directory:
|
|
|
180
169
|
|
|
181
170
|
## Summary
|
|
182
171
|
|
|
183
|
-
Loki Mode is an autonomous multi-agent system that follows the RARV cycle to build software from PRDs. It uses
|
|
172
|
+
Loki Mode is an autonomous multi-agent system that follows the RARV cycle to build software from PRDs. It uses specialized agent roles, enforces quality through 8 gates with blind peer review, and maintains episodic/semantic/procedural memory for continuous learning. Projects are classified into simple, standard, or complex tiers that determine the number of phases executed.
|
|
@@ -13,12 +13,12 @@ D) Review, Approve, Release, Validate
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
**Question 2:** How many
|
|
16
|
+
**Question 2:** How many active providers does Loki Mode support?
|
|
17
17
|
|
|
18
|
-
A)
|
|
19
|
-
B)
|
|
20
|
-
C)
|
|
21
|
-
D)
|
|
18
|
+
A) 3
|
|
19
|
+
B) 4
|
|
20
|
+
C) 5
|
|
21
|
+
D) 6
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
@@ -79,9 +79,9 @@ D) That cyclomatic complexity stays under 10
|
|
|
79
79
|
**Question 9:** Which AI provider supports full Loki Mode features including parallel agents and the Task tool?
|
|
80
80
|
|
|
81
81
|
A) OpenAI Codex CLI
|
|
82
|
-
B)
|
|
82
|
+
B) Cline
|
|
83
83
|
C) Claude Code
|
|
84
|
-
D) All
|
|
84
|
+
D) All providers equally
|
|
85
85
|
|
|
86
86
|
---
|
|
87
87
|
|
|
@@ -43,8 +43,6 @@ Review the available audit environment variables:
|
|
|
43
43
|
# LOKI_AUDIT_SYSLOG_HOST -- Enable syslog forwarding
|
|
44
44
|
# LOKI_AUDIT_SYSLOG_PORT -- Syslog port (default: 514)
|
|
45
45
|
# LOKI_AUDIT_SYSLOG_PROTO -- Syslog protocol: udp or tcp
|
|
46
|
-
# LOKI_AUDIT_LEVEL -- Minimum severity to log
|
|
47
|
-
# LOKI_AUDIT_EXCLUDE_EVENTS -- Comma-separated events to skip
|
|
48
46
|
```
|
|
49
47
|
|
|
50
48
|
To temporarily disable audit logging (not recommended for production):
|
|
@@ -63,16 +63,6 @@ loki start ./prd.md
|
|
|
63
63
|
| `LOKI_AUDIT_SYSLOG_PORT` | `514` | Syslog server port |
|
|
64
64
|
| `LOKI_AUDIT_SYSLOG_PROTO` | `udp` | Protocol: `udp` or `tcp` |
|
|
65
65
|
| `LOKI_SYSLOG_FACILITY` | `local0` | Syslog facility (local0-local7) |
|
|
66
|
-
| `LOKI_SYSLOG_SEVERITY` | `info` | Minimum severity to forward |
|
|
67
|
-
|
|
68
|
-
### Filtering
|
|
69
|
-
|
|
70
|
-
Control audit log verbosity:
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
export LOKI_AUDIT_LEVEL=warning # Minimum severity
|
|
74
|
-
export LOKI_AUDIT_EXCLUDE_EVENTS=api.request,api.response # Skip noisy events
|
|
75
|
-
```
|
|
76
66
|
|
|
77
67
|
## OpenTelemetry (OTEL) Observability
|
|
78
68
|
|
|
@@ -71,7 +71,7 @@ ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY docker-compose run \
|
|
|
71
71
|
loki start ./prd.md
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
**Note:** Replace `ANTHROPIC_API_KEY` with the appropriate key for your provider (
|
|
74
|
+
**Note:** Replace `ANTHROPIC_API_KEY` with the appropriate key for your provider (for example `OPENAI_API_KEY` for Codex).
|
|
75
75
|
|
|
76
76
|
## Step 4: Verify the Dashboard
|
|
77
77
|
|
|
@@ -60,7 +60,7 @@ cat > .loki/state/circuit-breakers.json << 'EOF'
|
|
|
60
60
|
"cooldown_until": "2026-02-20T14:30:42Z",
|
|
61
61
|
"failure_window_start": "2026-02-20T14:24:50Z"
|
|
62
62
|
},
|
|
63
|
-
"api/
|
|
63
|
+
"api/opencode": {
|
|
64
64
|
"state": "HALF_OPEN",
|
|
65
65
|
"failure_count": 0,
|
|
66
66
|
"success_count": 1,
|
|
@@ -137,7 +137,7 @@ cat .loki/state/circuit-breakers.json | jq 'to_entries[] | select(.value.state =
|
|
|
137
137
|
cat .loki/state/circuit-breakers.json | jq '.["api/openai"].cooldown_until'
|
|
138
138
|
|
|
139
139
|
# Check how many successes the HALF_OPEN circuit needs
|
|
140
|
-
cat .loki/state/circuit-breakers.json | jq '.["api/
|
|
140
|
+
cat .loki/state/circuit-breakers.json | jq '.["api/opencode"].success_count'
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
**Questions to answer:**
|
|
@@ -27,7 +27,7 @@ The Autonomi Certified Developer certification validates your knowledge of Loki
|
|
|
27
27
|
- Familiarity with command-line tools (bash, git, npm)
|
|
28
28
|
- Basic understanding of AI/LLM concepts (prompts, models, tokens)
|
|
29
29
|
- Node.js 18+ installed
|
|
30
|
-
- A supported AI provider CLI installed (Claude Code, Codex CLI, or
|
|
30
|
+
- A supported AI provider CLI installed (Claude Code, Cline, Codex CLI, Aider, or opencode)
|
|
31
31
|
|
|
32
32
|
## How to Use This Program
|
|
33
33
|
|
|
@@ -9,14 +9,14 @@ This file contains answers for all module quizzes and the final certification ex
|
|
|
9
9
|
| Question | Answer | Explanation |
|
|
10
10
|
|----------|--------|-------------|
|
|
11
11
|
| 1 | B | RARV = Reason, Act, Reflect, Verify |
|
|
12
|
-
| 2 | C |
|
|
12
|
+
| 2 | C | 5 active providers: claude, codex, cline, aider, opencode |
|
|
13
13
|
| 3 | B | After 5 failures, the task moves to `.loki/queue/dead-letter.json` |
|
|
14
14
|
| 4 | C | architecture-strategist is always one of the 3 selected reviewers |
|
|
15
15
|
| 5 | D | 8 quality gates (Static Analysis through Magic Modules Debate); backward-compatibility is a conditional healing-mode auditor, not one of the 8 |
|
|
16
16
|
| 6 | B | Episodic, semantic, and procedural memory |
|
|
17
17
|
| 7 | B | Simple tier uses 3 phases |
|
|
18
18
|
| 8 | C | Gate 7 (Documentation Coverage) checks README presence, docs freshness within 10 commits, and API docs for packages; coverage % is not measured this release |
|
|
19
|
-
| 9 | C | Claude Code supports full features; Codex and
|
|
19
|
+
| 9 | C | Claude Code supports full features; Cline runs reduced, Codex and Aider run degraded |
|
|
20
20
|
| 10 | B | If all 3 reviewers unanimously approve, a Devil's Advocate reviewer runs |
|
|
21
21
|
|
|
22
22
|
---
|
|
@@ -25,16 +25,16 @@ This file contains answers for all module quizzes and the final certification ex
|
|
|
25
25
|
|
|
26
26
|
| Question | Answer | Explanation |
|
|
27
27
|
|----------|--------|-------------|
|
|
28
|
-
| 1 |
|
|
28
|
+
| 1 | B | Audit logging is enabled by default since v5.38.0 |
|
|
29
29
|
| 2 | C | OTEL activates when `LOKI_OTEL_ENDPOINT` is set to an OTLP endpoint |
|
|
30
30
|
| 3 | C | Default dashboard port is 57374 |
|
|
31
|
-
| 4 |
|
|
32
|
-
| 5 |
|
|
33
|
-
| 6 |
|
|
34
|
-
| 7 |
|
|
35
|
-
| 8 |
|
|
36
|
-
| 9 |
|
|
37
|
-
| 10 |
|
|
31
|
+
| 4 | B | `LOKI_ENTERPRISE_AUTH=true` enables token authentication |
|
|
32
|
+
| 5 | B | Syslog supports UDP and TCP via `LOKI_AUDIT_SYSLOG_PROTO` |
|
|
33
|
+
| 6 | C | Without the endpoint set, OTEL uses no-op stubs with zero overhead |
|
|
34
|
+
| 7 | B | `loki enterprise token generate my-token` creates an API token |
|
|
35
|
+
| 8 | B | Set `LOKI_TLS_CERT` and `LOKI_TLS_KEY` to PEM file paths |
|
|
36
|
+
| 9 | B | Controls whether `HUMAN_INPUT.md` can inject directives (disabled by default for security) |
|
|
37
|
+
| 10 | B | `loki enterprise status` shows all enterprise feature states |
|
|
38
38
|
|
|
39
39
|
---
|
|
40
40
|
|
|
@@ -43,13 +43,13 @@ This file contains answers for all module quizzes and the final certification ex
|
|
|
43
43
|
| Question | Answer | Explanation |
|
|
44
44
|
|----------|--------|-------------|
|
|
45
45
|
| 1 | B | Goal, Constraints, Context, Output (documented in `skills/agents.md`) |
|
|
46
|
-
| 2 |
|
|
46
|
+
| 2 | C | Confidence below 0.40 triggers human decision flag |
|
|
47
47
|
| 3 | C | Each verification runs independently without seeing the original response |
|
|
48
|
-
| 4 |
|
|
49
|
-
| 5 |
|
|
50
|
-
| 6 |
|
|
48
|
+
| 4 | B | security-sentinel > test-coverage-auditor > performance-oracle > dependency-analyst |
|
|
49
|
+
| 5 | B | Prevents "technically correct but wrong feature" by separating spec and quality reviews |
|
|
50
|
+
| 6 | B | Extraction triggers on novel insights: bug fixes, non-obvious solutions, reusable patterns |
|
|
51
51
|
| 7 | C | 4 parallel research agents enhance the plan in the deepen-plan phase |
|
|
52
|
-
| 8 |
|
|
52
|
+
| 8 | B | on_file_write triggers lint, typecheck, and secrets scan immediately after writes |
|
|
53
53
|
| 9 | C | Stage 1 failure returns to implementation; Stage 2 does not start |
|
|
54
54
|
| 10 | B | Handoffs include completed work, files modified, decisions, open questions, and mistakes |
|
|
55
55
|
|
|
@@ -61,17 +61,34 @@ This file contains answers for all module quizzes and the final certification ex
|
|
|
61
61
|
|----------|--------|-------------|
|
|
62
62
|
| 1 | C | Dockerfile uses Ubuntu 24.04 as the base image |
|
|
63
63
|
| 2 | B | `.:/workspace:rw` mounts the current directory read-write |
|
|
64
|
-
| 3 |
|
|
64
|
+
| 3 | B | Staged autonomy requires human approval before execution |
|
|
65
65
|
| 4 | C | Default `LOKI_MAX_PARALLEL_AGENTS` is 10 |
|
|
66
|
-
| 5 |
|
|
67
|
-
| 6 |
|
|
68
|
-
| 7 |
|
|
66
|
+
| 5 | B | `loki start --budget 10.00 ./prd.md` or `LOKI_BUDGET_LIMIT=10.00` |
|
|
67
|
+
| 6 | B | The council votes on project completion to prevent premature termination |
|
|
68
|
+
| 7 | C | Default dashboard port is 57374 |
|
|
69
69
|
| 8 | B | `LOKI_TLS_CERT` and `LOKI_TLS_KEY` environment variables |
|
|
70
|
-
| 9 |
|
|
70
|
+
| 9 | B | Stagnation limit flags when N iterations pass with no git changes |
|
|
71
71
|
| 10 | B | SANDBOX-SCOPED: `LOKI_ALLOWED_PATHS` restricts which host paths the Docker sandbox bind-mounts writable (`autonomy/sandbox.sh:1222`). It does NOT restrict agent writes inside the workspace. |
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
75
|
+
## Module 5: Troubleshooting Quiz
|
|
76
|
+
|
|
77
|
+
| Question | Answer | Explanation |
|
|
78
|
+
|----------|--------|-------------|
|
|
79
|
+
| 1 | B | Closed, Open, Half-Open |
|
|
80
|
+
| 2 | C | 3 failures within 60 seconds open the breaker |
|
|
81
|
+
| 3 | C | 300 seconds (5 minutes) cooldown |
|
|
82
|
+
| 4 | B | After 5 failures the task moves to the dead-letter queue |
|
|
83
|
+
| 5 | B | A context clear is triggered and state is reloaded |
|
|
84
|
+
| 6 | B | `.loki/CONTINUITY.md` is read first |
|
|
85
|
+
| 7 | C | `loki reset retries` resets retry counters only |
|
|
86
|
+
| 8 | A | `LOKI_GATE_MOCK=false` disables the mock integrity gate (`autonomy/run.sh`) |
|
|
87
|
+
| 9 | C | After 10+ total attempts, or the same error with 3 different approaches |
|
|
88
|
+
| 10 | B | Hedging language ("probably", "should be fine") is the red flag |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
75
92
|
## Final Certification Exam
|
|
76
93
|
|
|
77
94
|
| Question | Answer | Question | Answer |
|
|
@@ -17,12 +17,12 @@ D) Review, Approve, Release, Validate
|
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
**Question 2:** How many
|
|
20
|
+
**Question 2:** How many active providers does Loki Mode support?
|
|
21
21
|
|
|
22
|
-
A)
|
|
23
|
-
B)
|
|
24
|
-
C)
|
|
25
|
-
D)
|
|
22
|
+
A) 3
|
|
23
|
+
B) 4
|
|
24
|
+
C) 5
|
|
25
|
+
D) 6
|
|
26
26
|
|
|
27
27
|
---
|
|
28
28
|
|
|
@@ -83,9 +83,9 @@ D) That cyclomatic complexity stays under 10
|
|
|
83
83
|
**Question 9:** Which AI provider supports full Loki Mode features including parallel agents and the Task tool?
|
|
84
84
|
|
|
85
85
|
A) OpenAI Codex CLI
|
|
86
|
-
B)
|
|
86
|
+
B) Cline
|
|
87
87
|
C) Claude Code
|
|
88
|
-
D) All
|
|
88
|
+
D) All providers equally
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
@@ -282,7 +282,7 @@ Developers who value open-source tooling, speed, and terminal-native workflows.
|
|
|
282
282
|
| **Primary Focus** | Web automation | Mobile apps | Coding assistant | Coding assistant | PRD-to-deploy |
|
|
283
283
|
| **Open Source / Source model** | Partial (Agent-E only) | No | Source-available | Yes (Apache-2.0) | Source-available (BUSL-1.1) |
|
|
284
284
|
| **Multi-Provider** | Yes (OpenAI, Azure, Ollama) | Yes (Gemini, Claude) | Partial (Claude models via Bedrock/Vertex/Foundry) | No (GPT only) | Yes (5 providers, 3+ model families) |
|
|
285
|
-
| **Multi-Agent** | Yes (2-agent model) | No | Yes (coordinated teams) | Yes (experimental) | Yes (
|
|
285
|
+
| **Multi-Agent** | Yes (2-agent model) | No | Yes (coordinated teams) | Yes (experimental) | Yes (agent types) |
|
|
286
286
|
| **Autonomous Iteration** | No (task-level) | No | Partial (/loop, /schedule) | No (requires prompting) | Yes (RARV loop + completion council) |
|
|
287
287
|
| **SDLC Pipeline** | No | No | No | No | Yes (9 phases) |
|
|
288
288
|
| **Code Review** | No | No | Yes (single-pass) | Yes (single-pass) | Yes (3-reviewer blind) |
|
|
@@ -457,7 +457,7 @@ This positioning highlights three unique capabilities no competitor offers toget
|
|
|
457
457
|
| Source model | Open source (Apache-2.0) | Source-available (BUSL-1.1) |
|
|
458
458
|
| Speed | 240+ tokens/sec | Depends on provider |
|
|
459
459
|
| Providers | OpenAI only | 5 providers |
|
|
460
|
-
| Multi-agent | Experimental (isolated) |
|
|
460
|
+
| Multi-agent | Experimental (isolated) | Agent types across domains |
|
|
461
461
|
| Quality | Single-pass review | 8-gate system |
|
|
462
462
|
| **Loki Mode advantage:** | Autonomous pipeline, multi-provider, mature multi-agent |
|
|
463
463
|
|
|
@@ -542,7 +542,7 @@ Emergence AI charges enterprise contract rates for VPC deployment. Loki Mode is
|
|
|
542
542
|
|--------|----------|----------|------------|
|
|
543
543
|
| Claude Code Agent SDK enables custom SDLC pipelines | HIGH | 3-6 months | Deepen multi-provider advantage (Agent SDK is Claude-only); publish PRD-to-Deploy benchmarks that prove the integrated pipeline |
|
|
544
544
|
| Claude Code adds autonomous mode natively | HIGH | 6-12 months | Quality gates, memory system, and multi-provider flexibility are structural advantages that cannot be replicated by adding a single feature |
|
|
545
|
-
| Codex CLI adds orchestration layer | MEDIUM | 6-12 months | Codex is OpenAI-only; emphasize
|
|
545
|
+
| Codex CLI adds orchestration layer | MEDIUM | 6-12 months | Codex is OpenAI-only; emphasize agent types, cross-project memory, healing |
|
|
546
546
|
| New entrant builds "Rork for full-stack" | MEDIUM | 6-12 months | Add mobile PRD template; Loki Mode's quality gates differentiate from naive generation |
|
|
547
547
|
| Open-source Auto-Claude gains traction | LOW | Ongoing | Already adopted key patterns (v3.4.0); maintain feature lead |
|
|
548
548
|
| Enterprise CI/CD platforms (GitHub, GitLab) add native AI SDLC | HIGH | 12-18 months | Self-hosted, provider-agnostic positioning; these will be vendor-locked |
|
|
@@ -312,7 +312,7 @@ Replit Agent has evolved rapidly through four major versions:
|
|
|
312
312
|
|-----------|:-----------:|:-----------:|:---------:|
|
|
313
313
|
| Natural language to app | Yes | Yes | Yes (via PRD) |
|
|
314
314
|
| Autonomous execution | 200 min sessions | Per-prompt | Unlimited (budget-gated) |
|
|
315
|
-
| Multi-agent orchestration | Parallel agents (Agent 4) | No | Yes (
|
|
315
|
+
| Multi-agent orchestration | Parallel agents (Agent 4) | No | Yes (agent types across domains) |
|
|
316
316
|
| Self-testing loop | Yes | No | Yes (RARV cycle) |
|
|
317
317
|
| Code review | No | No | Yes (3-reviewer blind review) |
|
|
318
318
|
| Anti-sycophancy | No | No | Yes (devil's advocate) |
|
|
@@ -566,7 +566,7 @@ The term "vibe coding" (coined by Andrej Karpathy) has driven explosive growth i
|
|
|
566
566
|
1. **Credit fatigue will drive users to transparent pricing** -- Loki Mode's BYOK model becomes more attractive as credit complaints mount
|
|
567
567
|
2. **Production quality will become the differentiator** -- Prototype generation is commoditized; who can ship production code wins
|
|
568
568
|
3. **Enterprise adoption requires compliance** -- SOC 2, on-premises, audit logs become table stakes
|
|
569
|
-
4. **Multi-agent orchestration is the next frontier** -- Replit Agent 4's parallel agents are primitive; Loki Mode's
|
|
569
|
+
4. **Multi-agent orchestration is the next frontier** -- Replit Agent 4's parallel agents are primitive; Loki Mode's agent types are ahead
|
|
570
570
|
5. **Brownfield/legacy support is underserved** -- No competitor addresses existing codebases; Loki Mode's healing system is unique
|
|
571
571
|
6. **Self-hosted alternatives are emerging** -- Projects like December (fully local Lovable/Replit alternative with own LLM) and Tinykit (self-hosted AI app builder) validate the demand for local-first, privacy-preserving alternatives. Loki Mode is already positioned here.
|
|
572
572
|
|
|
@@ -164,7 +164,7 @@ For critical changes:
|
|
|
164
164
|
- "Trillions of tokens" deployed
|
|
165
165
|
- Hundreds of concurrent agents
|
|
166
166
|
|
|
167
|
-
**Loki Mode:**
|
|
167
|
+
**Loki Mode:** No 1M+ LoC projects demonstrated.
|
|
168
168
|
|
|
169
169
|
### 2. Empirical Iteration
|
|
170
170
|
Cursor learned through failure:
|
|
@@ -177,7 +177,7 @@ Cursor learned through failure:
|
|
|
177
177
|
### 3. Simplicity Principle
|
|
178
178
|
> "A surprising amount of the system's behavior comes down to how we prompt the agents. The harness and models matter, but the prompts matter more."
|
|
179
179
|
|
|
180
|
-
**Loki Mode:** More elaborate infrastructure (8 gates,
|
|
180
|
+
**Loki Mode:** More elaborate infrastructure (8 gates, agent role prompts, memory systems). May be over-engineered for some use cases.
|
|
181
181
|
|
|
182
182
|
---
|
|
183
183
|
|
package/docs/dashboard-guide.md
CHANGED
|
@@ -35,7 +35,7 @@ The dashboard automatically syncs with Loki Mode when it's running, polling `das
|
|
|
35
35
|
The sidebar provides navigation and system status at a glance.
|
|
36
36
|
|
|
37
37
|
#### Logo & Version
|
|
38
|
-
- Loki Mode branding with
|
|
38
|
+
- Loki Mode branding with the running version
|
|
39
39
|
- Version updates automatically from server state
|
|
40
40
|
|
|
41
41
|
#### Theme Toggle
|
|
@@ -305,6 +305,18 @@ The dashboard includes several security measures:
|
|
|
305
305
|
| **Python injection fix** | `completion-council.sh` sanitizes inputs to prevent code injection |
|
|
306
306
|
| **CORS configuration** | Configurable via `LOKI_DASHBOARD_CORS` environment variable (default: localhost only) |
|
|
307
307
|
|
|
308
|
+
### Host allowlist (DNS rebinding defense)
|
|
309
|
+
|
|
310
|
+
The dashboard refuses any request whose `Host` header is not loopback (`127.0.0.1`, `localhost`, `[::1]`) with 403, except `GET /health` and `GET /metrics`, which are always exempt so container probes (Host = pod IP) and scrapers work.
|
|
311
|
+
|
|
312
|
+
| Deployment | Behavior |
|
|
313
|
+
|------------|----------|
|
|
314
|
+
| Local default (bound to 127.0.0.1) | Only loopback Hosts; add others via `LOKI_DASHBOARD_ALLOWED_HOSTS` |
|
|
315
|
+
| Non-loopback bind (`0.0.0.0` or `LOKI_DASHBOARD_HOST` set) with `LOKI_ENTERPRISE_AUTH` or OIDC enabled | Any Host accepted; authentication is the boundary |
|
|
316
|
+
| Non-loopback bind without auth | Only loopback plus `LOKI_DASHBOARD_ALLOWED_HOSTS` |
|
|
317
|
+
|
|
318
|
+
`LOKI_DASHBOARD_ALLOWED_HOSTS` is a comma-separated list of host names (no port), e.g. `loki.example.com,10.0.0.5`. Helm: `config.dashboardAllowedHosts`. Terraform (aws-ecs): `dashboard_allowed_hosts`.
|
|
319
|
+
|
|
308
320
|
---
|
|
309
321
|
|
|
310
322
|
## Technical Architecture
|
|
@@ -465,6 +477,6 @@ Useful for:
|
|
|
465
477
|
## Related Documentation
|
|
466
478
|
|
|
467
479
|
- [Core Workflow](../references/core-workflow.md) - RARV cycle details
|
|
468
|
-
- [Agent Types](../references/agent-types.md) -
|
|
480
|
+
- [Agent Types](../references/agent-types.md) - Agent role definitions
|
|
469
481
|
- [Quality Control](../references/quality-control.md) - Quality gates system
|
|
470
482
|
- [Memory System](../references/memory-system.md) - Memory architecture
|
|
@@ -21,9 +21,9 @@ regardless of vote count. D13 requires every council/review agent to pin its
|
|
|
21
21
|
model explicitly rather than inherit the session model.
|
|
22
22
|
|
|
23
23
|
## Legacy System Healing (introduced v6.67.0)
|
|
24
|
-
- **
|
|
24
|
+
- **Status**: Still active, no breaking changes since v6.67.0. Note: in v7.4.20 the `legacy-healing-auditor` reviewer was gated on healing-mode signals to avoid firing on non-healing changes.
|
|
25
25
|
- **Inspired by**: Amazon AGI Lab's "How Agentic AI Helps Heal Systems We Can't Replace"
|
|
26
|
-
- **CLI**: `loki heal <path> [--phase archaeology|stabilize|isolate|modernize|validate]` (`autonomy/loki
|
|
26
|
+
- **CLI**: `loki heal <path> [--phase archaeology|stabilize|isolate|modernize|validate]` (`autonomy/loki` `cmd_heal`)
|
|
27
27
|
- **Principles**: Friction-as-semantics, failure-first learning, universal adapters, incremental healing, institutional knowledge preservation
|
|
28
28
|
- **Artifacts**: `.loki/healing/` (friction-map.json, failure-modes.json, institutional-knowledge.md)
|
|
29
29
|
- **Review**: `legacy-healing-auditor` specialist added to code review pool (gated)
|
|
@@ -33,7 +33,7 @@ skills/ # On-demand skill modules (v3.0 architecture)
|
|
|
33
33
|
testing.md # Playwright, E2E, property-based testing
|
|
34
34
|
production.md # HN patterns, CI/CD, context management
|
|
35
35
|
troubleshooting.md # Common issues, red flags, fallbacks
|
|
36
|
-
agents.md #
|
|
36
|
+
agents.md # Agent types, structured prompting
|
|
37
37
|
artifacts.md # Generation, code transformation
|
|
38
38
|
patterns-advanced.md # OptiMind, k8s-valkey, Constitutional AI
|
|
39
39
|
parallel-workflows.md # Git worktrees, parallel streams, auto-merge
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Loki Mode
|
|
1
|
+
# Loki Mode Enterprise Architecture
|
|
2
2
|
|
|
3
3
|
## Overview
|
|
4
4
|
|
|
@@ -27,14 +27,14 @@ Loki Mode's enterprise layer is a non-breaking extension to the core autonomous
|
|
|
27
27
|
| | OTEL Bridge | | Policy Engine | | Audit Trail | |
|
|
28
28
|
| | (otel.js) | | (engine.js) | | (log.js) | |
|
|
29
29
|
| | Spans, Metrics | | YAML/JSON rules | | Hash-chained | |
|
|
30
|
-
| | OTLP/HTTP export | |
|
|
30
|
+
| | OTLP/HTTP export | | policy checks | | JSONL, syslog | |
|
|
31
31
|
| +--------+---------+ +--------+---------+ +--------+---------+ |
|
|
32
32
|
| | | | |
|
|
33
33
|
| +--------v---------+ +--------v---------+ +--------v---------+ |
|
|
34
34
|
| | Span Helpers | | Cost Controller | | Compliance | |
|
|
35
35
|
| | (spans.js) | | (cost.js) | | (compliance.js) | |
|
|
36
|
-
| | RARV, agents, | | Token budgets, | |
|
|
37
|
-
| | quality gates | | alerts | |
|
|
36
|
+
| | RARV, agents, | | Token budgets, | | Audit evidence | |
|
|
37
|
+
| | quality gates | | alerts | | report templates | |
|
|
38
38
|
| +-------------------+ +--------+---------+ +--------+---------+ |
|
|
39
39
|
| | | |
|
|
40
40
|
| +------------------+ +--------v---------+ +--------v---------+ |
|
|
@@ -115,9 +115,12 @@ The `OTLPExporter` class batches spans (flush at 100 or every 5 seconds) and sen
|
|
|
115
115
|
|
|
116
116
|
**Source:** `src/policies/engine.js` (core), `src/policies/index.js` (public API), `src/policies/types.js` (validators)
|
|
117
117
|
|
|
118
|
-
The policy engine provides governance-as-code through declarative policy files. Policies are loaded from `.loki/policies.json` or `.loki/policies.yaml` and evaluated synchronously
|
|
118
|
+
The policy engine provides governance-as-code through declarative policy files. Policies are loaded from `.loki/policies.json` or `.loki/policies.yaml` and evaluated synchronously.
|
|
119
119
|
|
|
120
|
-
**
|
|
120
|
+
**Policy points.** The engine accepts the four points below, but at runtime
|
|
121
|
+
`autonomy/run.sh` evaluates only `pre_execution`. The other three are not
|
|
122
|
+
invoked by Loki itself; they are available only to code that calls the engine
|
|
123
|
+
API directly.
|
|
121
124
|
|
|
122
125
|
| Point | Purpose | Context Fields |
|
|
123
126
|
|-------|---------|----------------|
|
|
@@ -223,14 +226,14 @@ All integrations extend `IntegrationAdapter`, which provides:
|
|
|
223
226
|
**Jira Integration:** `src/integrations/jira/`
|
|
224
227
|
|
|
225
228
|
- `api-client.js` -- Jira Cloud REST API v3 client with Basic Auth, rate limiting, 10MB response cap
|
|
226
|
-
- `sync-manager.js` --
|
|
229
|
+
- `sync-manager.js` -- Epic-to-PRD import, RARV-to-Jira status mapping, quality report posting
|
|
227
230
|
- `epic-converter.js` -- Converts Jira epics with children to PRD format
|
|
228
231
|
- `webhook-handler.js` -- Handles inbound Jira webhooks
|
|
229
232
|
|
|
230
233
|
**Linear Integration:** `src/integrations/linear/`
|
|
231
234
|
|
|
232
235
|
- `client.js` -- Linear GraphQL API client with rate limit tracking, auto-retry
|
|
233
|
-
- `sync.js` --
|
|
236
|
+
- `sync.js` -- Linear sync using the reusable adapter pattern
|
|
234
237
|
- `config.js` -- Config loader from `.loki/config.yaml` with minimal YAML parser
|
|
235
238
|
|
|
236
239
|
**GitHub Integration:** `src/integrations/github/`
|