loki-mode 9.8.0 → 9.12.0
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 +19 -14
- package/SKILL.md +3 -2
- package/VERSION +1 -1
- package/autonomy/loki +122 -1
- package/autonomy/run.sh +49 -2
- package/dashboard/__init__.py +1 -1
- package/dashboard/api_evidence.py +411 -0
- package/dashboard/api_operator.py +283 -0
- package/dashboard/api_phases.py +262 -0
- package/dashboard/api_releases.py +242 -0
- package/dashboard/api_runs.py +477 -0
- package/dashboard/api_tests.py +444 -0
- package/dashboard/api_v2.py +47 -1
- package/dashboard/server.py +54 -0
- package/dashboard/static/index.html +246 -135
- package/docs/ARCHITECTURE-OVERVIEW.md +5 -3
- package/docs/CAPABILITY-BACKLOG.md +53 -0
- package/docs/COMPARISON.md +2 -2
- package/docs/COMPETITIVE-ANALYSIS.md +1 -1
- package/docs/COMPETITIVE-SCORECARD.md +422 -0
- package/docs/DASHBOARD-9.12-EVIDENCE.md +97 -0
- package/docs/DASHBOARD-ARCHITECTURE.md +423 -0
- package/docs/DEMOS.md +21 -23
- package/docs/HANDOFF-2026-08-03.md +439 -0
- package/docs/INSTALLATION.md +17 -10
- package/docs/OUTCOME-FRONTIER.md +536 -0
- package/docs/PROMPT-ABLATION-RESULT.md +97 -0
- package/docs/TOOLS.md +800 -0
- package/docs/alternative-installations.md +2 -3
- package/docs/audit-logging.md +44 -35
- package/docs/authentication.md +13 -2
- package/docs/authorization.md +87 -81
- package/docs/git-workflow.md +6 -3
- package/docs/metrics.md +15 -16
- package/docs/network-security.md +16 -13
- package/docs/openclaw-integration.md +36 -556
- package/docs/show-hn-post.md +2 -2
- package/docs/siem-integration.md +39 -36
- package/loki-ts/dist/loki.js +18 -18
- package/mcp/__init__.py +1 -1
- package/package.json +2 -2
- package/plugins/loki-mode/.claude-plugin/plugin.json +1 -1
- package/references/confidence-routing.md +18 -1
- package/references/invariant-checks.md +13 -8
- package/references/magic-rarv-integration.md +0 -1
- package/references/multi-provider.md +27 -5
- package/skills/healing.md +4 -2
- package/tools/audit-docs.py +488 -0
- package/tools/baseline-pin.py +19 -1
- package/tools/calibration-audit.py +523 -0
- package/tools/ci-gate.py +19 -1
- package/tools/cost-forecast.py +344 -0
- package/tools/cost-guard.py +19 -1
- package/tools/cost-history.py +19 -1
- package/tools/cost-per-outcome.py +394 -0
- package/tools/estimate-run.py +19 -1
- package/tools/evidence-freshness.py +307 -0
- package/tools/gate-init.py +19 -1
- package/tools/gate-report.py +19 -1
- package/tools/gate-simulate.py +570 -0
- package/tools/gate-trend.py +354 -0
- package/tools/model-advisor.py +52 -1
- package/tools/policy-load.py +19 -1
- package/tools/prompt-cost.py +363 -0
- package/tools/prompt-diff.py +448 -0
- package/tools/prompt-lint.py +448 -0
- package/tools/receipt-bundle.py +72 -2
- package/tools/receipt-diff.py +19 -1
- package/tools/receipt-find.py +19 -1
- package/tools/receipt-stats.py +380 -0
- package/tools/receipt-timeline.py +478 -0
- package/tools/receipt-verify-batch.py +291 -0
- package/tools/run-replay.py +19 -1
- package/tools/signing-status.py +19 -1
- package/tools/token-guard.py +19 -1
- package/tools/token-tax.py +375 -0
- package/tools/tool-index.py +19 -1
- package/tools/verification-tax.py +277 -0
- package/tools/verify-chain.py +361 -0
package/docs/siem-integration.md
CHANGED
|
@@ -41,7 +41,10 @@ loki start ./prd.md
|
|
|
41
41
|
| `LOKI_AUDIT_SYSLOG_PORT` | `514` | Syslog server port |
|
|
42
42
|
| `LOKI_AUDIT_SYSLOG_PROTO` | `udp` | Protocol: `udp` or `tcp` |
|
|
43
43
|
| `LOKI_SYSLOG_FACILITY` | `local0` | Syslog facility (local0-local7) |
|
|
44
|
-
|
|
44
|
+
|
|
45
|
+
There is no minimum-severity filter: `LOKI_SYSLOG_SEVERITY` appeared in an
|
|
46
|
+
earlier version of this page and is not read by any code. Everything audited is
|
|
47
|
+
forwarded.
|
|
45
48
|
|
|
46
49
|
### Configuration File
|
|
47
50
|
|
|
@@ -314,9 +317,13 @@ parser.fields.actor=actor
|
|
|
314
317
|
|
|
315
318
|
### ArcSight CEF Format
|
|
316
319
|
|
|
320
|
+
CEF formatting lives in `src/observability/siem-export.js`. There is no
|
|
321
|
+
`LOKI_SYSLOG_FORMAT` switch (an earlier version of this page listed one); the
|
|
322
|
+
vendor and product header fields are the parts you can override:
|
|
323
|
+
|
|
317
324
|
```bash
|
|
318
|
-
|
|
319
|
-
export
|
|
325
|
+
export LOKI_CEF_VENDOR=Autonomi
|
|
326
|
+
export LOKI_CEF_PRODUCT="Loki Mode"
|
|
320
327
|
|
|
321
328
|
# CEF message example:
|
|
322
329
|
# CEF:0|Autonomi|Loki Mode|5.42.2|session.start|Session Started|3|
|
|
@@ -467,45 +474,40 @@ enterprise:
|
|
|
467
474
|
|
|
468
475
|
## Compliance Reporting
|
|
469
476
|
|
|
470
|
-
|
|
477
|
+
**Loki does not generate framework-specific compliance reports.** An earlier
|
|
478
|
+
version of this page showed `loki enterprise audit export --format soc2|hipaa|pci`
|
|
479
|
+
and `loki compliance report --framework <name>`. Neither exists:
|
|
480
|
+
`loki enterprise audit` has only `summary` and `tail`, and `loki compliance`
|
|
481
|
+
has only `snapshot`.
|
|
471
482
|
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
--from 2026-01-01 \
|
|
476
|
-
--to 2026-12-31 \
|
|
477
|
-
--format soc2 \
|
|
478
|
-
--output soc2-audit-report.pdf
|
|
483
|
+
What Loki gives you is the raw evidence: a hash-chained, newline-delimited JSON
|
|
484
|
+
audit log, plus the SIEM forwarding configured above. Build framework reporting
|
|
485
|
+
in your SIEM, where the correlation and retention rules already live.
|
|
479
486
|
|
|
480
|
-
|
|
481
|
-
loki compliance report --framework soc2
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
### HIPAA Reports
|
|
487
|
+
To pull an evidence slice locally for an auditor:
|
|
485
488
|
|
|
486
489
|
```bash
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
--format hipaa
|
|
490
|
+
AUDIT=~/.loki/dashboard/audit/audit.jsonl
|
|
491
|
+
|
|
492
|
+
# Access events in a date range (SOC2 / HIPAA evidence)
|
|
493
|
+
jq -s 'map(select(.timestamp >= "2026-01-01" and .timestamp <= "2026-12-31"))' \
|
|
494
|
+
"$AUDIT" > audit-evidence.json
|
|
493
495
|
|
|
494
|
-
#
|
|
495
|
-
|
|
496
|
+
# Token lifecycle events (PCI-DSS Requirement 8)
|
|
497
|
+
jq -c 'select(.event | startswith("auth.token."))' "$AUDIT"
|
|
496
498
|
```
|
|
497
499
|
|
|
498
|
-
|
|
500
|
+
Verify the hash chain before handing the file over. There is no
|
|
501
|
+
`loki audit verify` subcommand (`loki audit` has `log`, `count`, and `scan`);
|
|
502
|
+
the chain verifier is a Python function in `dashboard/audit.py`:
|
|
499
503
|
|
|
500
504
|
```bash
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
# Audit log review (Requirement 10)
|
|
508
|
-
loki compliance report --framework pci --requirement 10
|
|
505
|
+
python3 -c "
|
|
506
|
+
from dashboard.audit import verify_log_integrity
|
|
507
|
+
import json, os
|
|
508
|
+
print(json.dumps(verify_log_integrity(
|
|
509
|
+
os.path.expanduser('~/.loki/dashboard/audit/audit.jsonl')), indent=2))
|
|
510
|
+
"
|
|
509
511
|
```
|
|
510
512
|
|
|
511
513
|
## Alerting
|
|
@@ -618,9 +620,10 @@ find ~/.loki/dashboard/audit/ -type f -exec wc -l {} + | awk '{sum+=$1} END {pri
|
|
|
618
620
|
# Monitor syslog queue
|
|
619
621
|
ss -tunap | grep :514
|
|
620
622
|
|
|
621
|
-
#
|
|
622
|
-
|
|
623
|
-
export
|
|
623
|
+
# Bound local log volume via rotation (there is no severity filter or
|
|
624
|
+
# per-event exclude list; audit logging is on or off)
|
|
625
|
+
export LOKI_AUDIT_MAX_SIZE_MB=5
|
|
626
|
+
export LOKI_AUDIT_MAX_FILES=4
|
|
624
627
|
```
|
|
625
628
|
|
|
626
629
|
## Examples
|