loki-mode 7.0.1 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/SKILL.md +4 -4
- package/VERSION +1 -1
- package/autonomy/run.sh +51 -0
- package/dashboard/__init__.py +1 -1
- package/docs/INSTALLATION.md +1 -1
- package/mcp/__init__.py +1 -1
- package/mcp/managed_tools.py +11 -0
- package/package.json +1 -1
- package/providers/managed.py +1 -1
- package/skills/memory.md +6 -4
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 v7.0.
|
|
6
|
+
# Loki Mode v7.0.2
|
|
7
7
|
|
|
8
8
|
**You are an autonomous agent. You make decisions. You do not ask questions. You do not stop.**
|
|
9
9
|
|
|
@@ -271,14 +271,14 @@ Auto-detected or force with `LOKI_COMPLEXITY`:
|
|
|
271
271
|
|
|
272
272
|
---
|
|
273
273
|
|
|
274
|
-
## Managed Agents Integration (v7.0.
|
|
274
|
+
## Managed Agents Integration (v7.0.2)
|
|
275
275
|
|
|
276
276
|
Opt-in integration with Claude Managed Agents (released Apr 2026). Gives
|
|
277
277
|
Loki cross-project audited memory and real multiagent councils. Features
|
|
278
278
|
are BAKED INTO existing RARV-C and council flows -- no new commands to
|
|
279
279
|
learn.
|
|
280
280
|
|
|
281
|
-
**All flags default false.** Default behavior is identical to v7.0.
|
|
281
|
+
**All flags default false.** Default behavior is identical to v7.0.2.
|
|
282
282
|
|
|
283
283
|
| Flag | Purpose | Status |
|
|
284
284
|
|------|---------|--------|
|
|
@@ -320,4 +320,4 @@ The following features are documented in skill modules but not yet fully automat
|
|
|
320
320
|
| Quality gates 3-reviewer system | Implemented (v5.35.0) | 5 specialist reviewers in `skills/quality-gates.md`; execution in run.sh |
|
|
321
321
|
| Benchmarks (HumanEval, SWE-bench) | Infrastructure only | Runner scripts and datasets exist in `benchmarks/`; no published results |
|
|
322
322
|
|
|
323
|
-
**v7.0.
|
|
323
|
+
**v7.0.2 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
7.0.
|
|
1
|
+
7.0.2
|
package/autonomy/run.sh
CHANGED
|
@@ -1040,6 +1040,41 @@ emit_event_json() {
|
|
|
1040
1040
|
log_debug "Event: $event_type - $json_data"
|
|
1041
1041
|
}
|
|
1042
1042
|
|
|
1043
|
+
# v7.0.2: Bash helper to emit a managed-agents event to the dashboard's
|
|
1044
|
+
# managed event log (.loki/managed/events.ndjson). Mirrors the Python
|
|
1045
|
+
# emit_managed_event helper so bash callers can land events in the same
|
|
1046
|
+
# stream the dashboard reads. Schema: {ts, type, payload}.
|
|
1047
|
+
emit_managed_event_bash() {
|
|
1048
|
+
local event_type="$1"
|
|
1049
|
+
shift
|
|
1050
|
+
local target_dir="${TARGET_DIR:-.}"
|
|
1051
|
+
local events_file="$target_dir/.loki/managed/events.ndjson"
|
|
1052
|
+
mkdir -p "$target_dir/.loki/managed"
|
|
1053
|
+
|
|
1054
|
+
local timestamp
|
|
1055
|
+
timestamp=$(date -u +%Y-%m-%dT%H:%M:%SZ)
|
|
1056
|
+
|
|
1057
|
+
# Build payload JSON from key=value args (same convention as emit_event_json)
|
|
1058
|
+
local payload="{"
|
|
1059
|
+
local first=true
|
|
1060
|
+
while [ $# -gt 0 ]; do
|
|
1061
|
+
local key="${1%%=*}"
|
|
1062
|
+
local value="${1#*=}"
|
|
1063
|
+
if [ "$first" = true ]; then first=false; else payload+=","; fi
|
|
1064
|
+
if [[ "$value" =~ ^[0-9]+\.?[0-9]*$ ]] || [[ "$value" =~ ^(true|false|null)$ ]]; then
|
|
1065
|
+
payload+="\"$key\":$value"
|
|
1066
|
+
else
|
|
1067
|
+
value=$(printf '%s' "$value" | sed 's/\\/\\\\/g; s/"/\\"/g; s/ /\\t/g')
|
|
1068
|
+
payload+="\"$key\":\"$value\""
|
|
1069
|
+
fi
|
|
1070
|
+
shift
|
|
1071
|
+
done
|
|
1072
|
+
payload+="}"
|
|
1073
|
+
|
|
1074
|
+
local json_event="{\"ts\":\"$timestamp\",\"type\":\"$event_type\",\"payload\":$payload}"
|
|
1075
|
+
echo "$json_event" >> "$events_file"
|
|
1076
|
+
}
|
|
1077
|
+
|
|
1043
1078
|
# Emit event to .loki/events/pending/ directory (for event bus subscribers)
|
|
1044
1079
|
# Used by OTEL bridge and other enterprise services that watch the pending dir.
|
|
1045
1080
|
# Usage: emit_event_pending <type> [key=value ...]
|
|
@@ -6146,6 +6181,10 @@ MANAGED_REVIEW
|
|
|
6146
6181
|
"op=run_code_review" \
|
|
6147
6182
|
"reason=subprocess_failed" \
|
|
6148
6183
|
"review_id=$review_id"
|
|
6184
|
+
emit_managed_event_bash "managed_agents_fallback" \
|
|
6185
|
+
"op=run_code_review" \
|
|
6186
|
+
"reason=subprocess_failed" \
|
|
6187
|
+
"review_id=$review_id"
|
|
6149
6188
|
return 1
|
|
6150
6189
|
fi
|
|
6151
6190
|
|
|
@@ -6160,6 +6199,11 @@ MANAGED_REVIEW
|
|
|
6160
6199
|
"reason=managed_unavailable" \
|
|
6161
6200
|
"detail=${reason//\"/}" \
|
|
6162
6201
|
"review_id=$review_id"
|
|
6202
|
+
emit_managed_event_bash "managed_agents_fallback" \
|
|
6203
|
+
"op=run_code_review" \
|
|
6204
|
+
"reason=managed_unavailable" \
|
|
6205
|
+
"detail=${reason//\"/}" \
|
|
6206
|
+
"review_id=$review_id"
|
|
6163
6207
|
return 1
|
|
6164
6208
|
fi
|
|
6165
6209
|
|
|
@@ -6171,12 +6215,19 @@ MANAGED_REVIEW
|
|
|
6171
6215
|
"op=run_code_review" \
|
|
6172
6216
|
"reason=verdict_write_failed" \
|
|
6173
6217
|
"review_id=$review_id"
|
|
6218
|
+
emit_managed_event_bash "managed_agents_fallback" \
|
|
6219
|
+
"op=run_code_review" \
|
|
6220
|
+
"reason=verdict_write_failed" \
|
|
6221
|
+
"review_id=$review_id"
|
|
6174
6222
|
return 1
|
|
6175
6223
|
fi
|
|
6176
6224
|
|
|
6177
6225
|
emit_event_json "managed_review_council_ok" \
|
|
6178
6226
|
"review_id=$review_id" \
|
|
6179
6227
|
"iteration=${ITERATION_COUNT:-0}"
|
|
6228
|
+
emit_managed_event_bash "managed_review_council_ok" \
|
|
6229
|
+
"review_id=$review_id" \
|
|
6230
|
+
"iteration=${ITERATION_COUNT:-0}"
|
|
6180
6231
|
return 0
|
|
6181
6232
|
}
|
|
6182
6233
|
|
package/dashboard/__init__.py
CHANGED
package/docs/INSTALLATION.md
CHANGED
package/mcp/__init__.py
CHANGED
package/mcp/managed_tools.py
CHANGED
|
@@ -98,6 +98,17 @@ def redact_memory_versions(
|
|
|
98
98
|
"scanned": 0,
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
# v7.0.2: bound pattern length to mitigate ReDoS. Catastrophic-backtracking
|
|
102
|
+
# patterns like (a+)+$ can hang the MCP server. 512 chars is generous for
|
|
103
|
+
# legitimate compliance/PII patterns.
|
|
104
|
+
if not isinstance(pattern, str) or len(pattern) > 512:
|
|
105
|
+
return {
|
|
106
|
+
"error": "pattern must be a string of <=512 characters (ReDoS guard)",
|
|
107
|
+
"redacted_count": 0,
|
|
108
|
+
"errors": [],
|
|
109
|
+
"scanned": 0,
|
|
110
|
+
}
|
|
111
|
+
|
|
101
112
|
try:
|
|
102
113
|
compiled = re.compile(pattern)
|
|
103
114
|
except re.error as e:
|
package/package.json
CHANGED
package/providers/managed.py
CHANGED
package/skills/memory.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Memory Integration (v7.0.
|
|
1
|
+
# Memory Integration (v7.0.2+)
|
|
2
2
|
|
|
3
3
|
Loki Mode ships two memory layers:
|
|
4
4
|
|
|
@@ -109,8 +109,10 @@ With managed memory on, a new project gets access to:
|
|
|
109
109
|
- `.loki/memory/skills/*.json` (org store, RO)
|
|
110
110
|
- `.loki/memory/anti_patterns/*.json` (org store, RO)
|
|
111
111
|
|
|
112
|
-
Promotions from user-RW to org-RO
|
|
113
|
-
|
|
112
|
+
Promotions from user-RW to org-RO are MANUAL only at v7.0.x. Use the
|
|
113
|
+
Managed Agents API directly (`memory_stores.memories.create` against the
|
|
114
|
+
org store) with human review. An MCP `loki_memory_promote` tool is on
|
|
115
|
+
the roadmap but NOT shipped in v7.0.x; do not depend on it. Never
|
|
114
116
|
auto-promote.
|
|
115
117
|
|
|
116
118
|
## PII redaction
|
|
@@ -182,4 +184,4 @@ Dashboard endpoints (read-only, view-layer merge):
|
|
|
182
184
|
|
|
183
185
|
---
|
|
184
186
|
|
|
185
|
-
**v7.0.
|
|
187
|
+
**v7.0.2** | Opt-in, additive, rollback-safe. Default behavior unchanged.
|