loki-mode 6.11.0 → 6.11.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/SKILL.md +2 -2
- package/VERSION +1 -1
- package/autonomy/loki +16 -1
- package/dashboard/__init__.py +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/skills/openspec-integration.md +67 -22
package/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: loki-mode
|
|
|
3
3
|
description: Multi-agent autonomous startup system. Triggers on "Loki Mode". Takes PRD to deployed product with minimal human intervention. Requires --dangerously-skip-permissions flag.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Loki Mode v6.11.
|
|
6
|
+
# Loki Mode v6.11.1
|
|
7
7
|
|
|
8
8
|
**You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
|
|
9
9
|
|
|
@@ -267,4 +267,4 @@ The following features are documented in skill modules but not yet fully automat
|
|
|
267
267
|
| Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
|
|
268
268
|
| Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
|
|
269
269
|
|
|
270
|
-
**v6.11.
|
|
270
|
+
**v6.11.1 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.11.
|
|
1
|
+
6.11.1
|
package/autonomy/loki
CHANGED
|
@@ -11585,7 +11585,22 @@ cmd_remote() {
|
|
|
11585
11585
|
emit_event session cli remote_start "prd=${prd_abs:-none}"
|
|
11586
11586
|
|
|
11587
11587
|
# Hand off to claude remote-control
|
|
11588
|
-
exec
|
|
11588
|
+
# Note: not using exec so we can provide guidance if it fails
|
|
11589
|
+
claude remote-control ${rc_flags[@]+"${rc_flags[@]}"}
|
|
11590
|
+
local rc_exit=$?
|
|
11591
|
+
|
|
11592
|
+
if [ $rc_exit -ne 0 ]; then
|
|
11593
|
+
echo ""
|
|
11594
|
+
echo -e "${YELLOW}Troubleshooting:${NC}"
|
|
11595
|
+
echo ""
|
|
11596
|
+
echo -e " ${CYAN}Workspace not trusted?${NC}"
|
|
11597
|
+
echo " Run 'claude' in this directory first to accept the trust dialog,"
|
|
11598
|
+
echo " then exit (/exit) and run 'loki remote' again."
|
|
11599
|
+
echo ""
|
|
11600
|
+
echo -e " ${CYAN}Not logged in?${NC}"
|
|
11601
|
+
echo " Run 'claude' then '/login' -- requires a Pro or Max subscription."
|
|
11602
|
+
exit $rc_exit
|
|
11603
|
+
fi
|
|
11589
11604
|
}
|
|
11590
11605
|
|
|
11591
11606
|
# Syslog/SIEM integration management
|
package/dashboard/__init__.py
CHANGED
package/docs/INSTALLATION.md
CHANGED
package/mcp/__init__.py
CHANGED
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
- Your prompt contains an `OPENSPEC DELTA CONTEXT` section
|
|
10
10
|
- The project has `.loki/openspec/delta-context.json`
|
|
11
11
|
- The session was started with `--openspec` flag
|
|
12
|
-
- Tasks in `.loki/queue/pending.json` have `openspec_group`
|
|
12
|
+
- Tasks in `.loki/queue/pending.json` have `metadata.openspec_group`
|
|
13
13
|
|
|
14
14
|
**If none of the above are true, do not load this module.**
|
|
15
15
|
|
|
@@ -24,7 +24,7 @@ New behavior that does not exist in the codebase yet.
|
|
|
24
24
|
1. Create NEW files and functions following existing codebase patterns
|
|
25
25
|
2. Do NOT modify existing code unless the new feature integrates with it
|
|
26
26
|
3. Write tests for every scenario (GIVEN/WHEN/THEN from the delta spec)
|
|
27
|
-
4. Reference: `delta-context.json`
|
|
27
|
+
4. Reference: `delta-context.json` → `deltas.<domain>.added[]`
|
|
28
28
|
|
|
29
29
|
```
|
|
30
30
|
# Mental model for ADDED
|
|
@@ -39,7 +39,7 @@ Existing behavior that is changing. This is the most common delta type in brownf
|
|
|
39
39
|
2. Modify IN PLACE -- do NOT create new files for modified behavior
|
|
40
40
|
3. Check the `(Previously: ...)` annotation to understand what changed
|
|
41
41
|
4. Update existing tests to match the new behavior
|
|
42
|
-
5. Reference: `delta-context.json`
|
|
42
|
+
5. Reference: `delta-context.json` → `deltas.<domain>.modified[]` (each entry has a `"previously"` field)
|
|
43
43
|
|
|
44
44
|
```
|
|
45
45
|
# Mental model for MODIFIED
|
|
@@ -56,7 +56,7 @@ Behavior that is being deprecated or deleted.
|
|
|
56
56
|
2. Check the `(Deprecated: ...)` annotation for the reason
|
|
57
57
|
3. Remove associated tests
|
|
58
58
|
4. Ensure no orphaned imports or dead code remains
|
|
59
|
-
5. Reference: `delta-context.json`
|
|
59
|
+
5. Reference: `delta-context.json` → `deltas.<domain>.removed[]` (each entry has a `"reason"` field)
|
|
60
60
|
|
|
61
61
|
```
|
|
62
62
|
# Mental model for REMOVED
|
|
@@ -69,18 +69,23 @@ Read "(Deprecated: ...)" -> Find existing code -> Remove code -> Remove tests ->
|
|
|
69
69
|
|
|
70
70
|
Tasks are generated from OpenSpec `tasks.md` and loaded into `.loki/queue/pending.json`.
|
|
71
71
|
|
|
72
|
-
- Each task has `openspec_group`
|
|
72
|
+
- Each task has `metadata.openspec_group` indicating its group name (string, from `## N. Group Name` headings in tasks.md)
|
|
73
73
|
- Execute tasks in group order (group 1 before group 2, etc.)
|
|
74
74
|
- Within a group, tasks can run in parallel if they touch different files
|
|
75
75
|
- Mark tasks complete in the queue when done
|
|
76
76
|
|
|
77
77
|
```json
|
|
78
78
|
{
|
|
79
|
-
"id": "
|
|
79
|
+
"id": "openspec-1.3",
|
|
80
80
|
"title": "Implement session timeout change",
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
81
|
+
"description": "[OpenSpec] Authentication: Implement session timeout change",
|
|
82
|
+
"priority": "medium",
|
|
83
|
+
"status": "pending",
|
|
84
|
+
"source": "openspec",
|
|
85
|
+
"metadata": {
|
|
86
|
+
"openspec_source": "tasks.md",
|
|
87
|
+
"openspec_group": "Authentication"
|
|
88
|
+
}
|
|
84
89
|
}
|
|
85
90
|
```
|
|
86
91
|
|
|
@@ -93,7 +98,7 @@ After implementing a requirement, verify its scenarios.
|
|
|
93
98
|
1. Each scenario has GIVEN (precondition), WHEN (action), THEN (expected outcome)
|
|
94
99
|
2. Write test cases that map 1:1 to scenarios
|
|
95
100
|
3. Use the scenario name as the test name for traceability
|
|
96
|
-
4. Verification results are tracked in `.loki/openspec/verification-
|
|
101
|
+
4. Verification results are tracked in `.loki/openspec/verification-map.json`
|
|
97
102
|
|
|
98
103
|
```python
|
|
99
104
|
# Scenario: "Idle timeout" -> test name matches scenario
|
|
@@ -106,19 +111,43 @@ def test_idle_timeout():
|
|
|
106
111
|
assert session.is_expired()
|
|
107
112
|
```
|
|
108
113
|
|
|
114
|
+
The verification map tracks each scenario with `"verified": false` initially. After tests pass, the orchestrator updates verified status.
|
|
115
|
+
|
|
116
|
+
```json
|
|
117
|
+
{
|
|
118
|
+
"scenarios": [
|
|
119
|
+
{
|
|
120
|
+
"domain": "auth",
|
|
121
|
+
"requirement": "Session Expiration",
|
|
122
|
+
"scenario": "Idle timeout",
|
|
123
|
+
"given": "an authenticated session",
|
|
124
|
+
"when": "15 minutes pass without activity",
|
|
125
|
+
"then": "the session is invalidated",
|
|
126
|
+
"verified": false
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
```
|
|
131
|
+
|
|
109
132
|
---
|
|
110
133
|
|
|
111
134
|
## Source Mapping
|
|
112
135
|
|
|
113
|
-
`.loki/openspec/source-map.json` maps each task ID to its origin in
|
|
136
|
+
`.loki/openspec/source-map.json` maps each task ID to its origin in tasks.md.
|
|
114
137
|
|
|
115
138
|
| Field | Purpose |
|
|
116
139
|
|-------|---------|
|
|
117
|
-
| `
|
|
118
|
-
| `
|
|
119
|
-
| `
|
|
120
|
-
|
|
121
|
-
|
|
140
|
+
| `file` | Source file (always `tasks.md`) |
|
|
141
|
+
| `line` | Line number in tasks.md (1-indexed) |
|
|
142
|
+
| `group` | Task group name from `## N. Group Name` heading |
|
|
143
|
+
|
|
144
|
+
```json
|
|
145
|
+
{
|
|
146
|
+
"openspec-1.1": { "file": "tasks.md", "line": 3, "group": "Authentication" },
|
|
147
|
+
"openspec-1.2": { "file": "tasks.md", "line": 4, "group": "Authentication" },
|
|
148
|
+
"openspec-2.1": { "file": "tasks.md", "line": 7, "group": "Dashboard" }
|
|
149
|
+
}
|
|
150
|
+
```
|
|
122
151
|
|
|
123
152
|
Use this to trace implementation decisions back to the specification.
|
|
124
153
|
|
|
@@ -126,12 +155,28 @@ Use this to trace implementation decisions back to the specification.
|
|
|
126
155
|
|
|
127
156
|
## Complexity Levels
|
|
128
157
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
|
132
|
-
|
|
133
|
-
|
|
|
134
|
-
|
|
|
158
|
+
The adapter classifies complexity based on task count, spec file count, and design.md presence. Checked in order (first match wins):
|
|
159
|
+
|
|
160
|
+
| Level | Condition | Agent Strategy |
|
|
161
|
+
|-------|-----------|----------------|
|
|
162
|
+
| enterprise | 20+ tasks OR 10+ spec files | Full agent team |
|
|
163
|
+
| complex | 11-20 tasks OR 6-10 spec files | Task tool parallelization |
|
|
164
|
+
| standard | 4-10 tasks OR 2-5 spec files OR design.md present | Parallel where possible |
|
|
165
|
+
| simple | 1-3 tasks, 1 spec file, no design | Single agent, sequential |
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Output Files Reference
|
|
170
|
+
|
|
171
|
+
All output files are written to `.loki/` by the adapter (`autonomy/openspec-adapter.py`):
|
|
172
|
+
|
|
173
|
+
| File | Purpose |
|
|
174
|
+
|------|---------|
|
|
175
|
+
| `.loki/openspec-prd-normalized.md` | Synthesized PRD from proposal + specs + design |
|
|
176
|
+
| `.loki/openspec-tasks.json` | Task list parsed from tasks.md |
|
|
177
|
+
| `.loki/openspec/delta-context.json` | Structured deltas with stats and complexity |
|
|
178
|
+
| `.loki/openspec/source-map.json` | Task ID to tasks.md line mapping |
|
|
179
|
+
| `.loki/openspec/verification-map.json` | Scenario verification tracking |
|
|
135
180
|
|
|
136
181
|
---
|
|
137
182
|
|