loki-mode 6.25.0 → 6.25.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/dashboard/__init__.py +1 -1
- package/dashboard/api_v2.py +1 -1
- package/dashboard/server.py +19 -3
- package/dashboard/static/index.html +110 -94
- package/docs/INSTALLATION.md +1 -1
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
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.25.
|
|
6
|
+
# Loki Mode v6.25.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.25.
|
|
270
|
+
**v6.25.1 | [Autonomi](https://www.autonomi.dev/) flagship product | ~260 lines core**
|
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.25.
|
|
1
|
+
6.25.1
|
package/dashboard/__init__.py
CHANGED
package/dashboard/api_v2.py
CHANGED
|
@@ -333,7 +333,7 @@ async def get_run_timeline(
|
|
|
333
333
|
"""Get the timeline of events for a run."""
|
|
334
334
|
timeline = await runs_mod.get_run_timeline(db, run_id)
|
|
335
335
|
if timeline is None:
|
|
336
|
-
|
|
336
|
+
return {"run_id": run_id, "phases": [], "current_phase": None, "events": []}
|
|
337
337
|
return timeline
|
|
338
338
|
|
|
339
339
|
|
package/dashboard/server.py
CHANGED
|
@@ -4174,16 +4174,32 @@ async def remove_checklist_waiver(item_id: str):
|
|
|
4174
4174
|
# Council Hard Gate Endpoint (Phase 4)
|
|
4175
4175
|
# =============================================================================
|
|
4176
4176
|
|
|
4177
|
+
_DEFAULT_QUALITY_GATES = [
|
|
4178
|
+
{"name": "Static Analysis", "description": "CodeQL, ESLint, type checking", "status": "pending"},
|
|
4179
|
+
{"name": "Parallel Code Review", "description": "3-reviewer blind review system", "status": "pending"},
|
|
4180
|
+
{"name": "Anti-Sycophancy Check", "description": "Devil's advocate on unanimous approval", "status": "pending"},
|
|
4181
|
+
{"name": "Severity Assessment", "description": "Critical/High/Medium = BLOCK", "status": "pending"},
|
|
4182
|
+
{"name": "Unit Test Coverage", "description": "Target >80% coverage, 100% pass", "status": "pending"},
|
|
4183
|
+
{"name": "Integration Tests", "description": "End-to-end verification", "status": "pending"},
|
|
4184
|
+
{"name": "Security Scan", "description": "Dependency audit, OWASP checks", "status": "pending"},
|
|
4185
|
+
{"name": "Build Verification", "description": "Clean build with no warnings", "status": "pending"},
|
|
4186
|
+
{"name": "Council Vote", "description": "Completion council consensus", "status": "pending"},
|
|
4187
|
+
]
|
|
4188
|
+
|
|
4189
|
+
|
|
4177
4190
|
@app.get("/api/council/gate")
|
|
4178
4191
|
async def get_council_gate():
|
|
4179
4192
|
"""Get council hard gate status."""
|
|
4180
4193
|
gate_file = _get_loki_dir() / "council" / "gate-block.json"
|
|
4181
4194
|
if not gate_file.exists():
|
|
4182
|
-
return {"blocked": False}
|
|
4195
|
+
return {"blocked": False, "gates": _DEFAULT_QUALITY_GATES}
|
|
4183
4196
|
try:
|
|
4184
|
-
|
|
4197
|
+
data = json.loads(gate_file.read_text())
|
|
4198
|
+
if "gates" not in data:
|
|
4199
|
+
data["gates"] = _DEFAULT_QUALITY_GATES
|
|
4200
|
+
return data
|
|
4185
4201
|
except (json.JSONDecodeError, IOError):
|
|
4186
|
-
return {"blocked": False, "error": "Failed to read gate file"}
|
|
4202
|
+
return {"blocked": False, "gates": _DEFAULT_QUALITY_GATES, "error": "Failed to read gate file"}
|
|
4187
4203
|
|
|
4188
4204
|
|
|
4189
4205
|
# =============================================================================
|