Hermes-independent SOTA decision engine
  • Python 91.1%
  • HTML 8.7%
  • Shell 0.2%
Find a file
2026-06-16 15:20:57 +00:00
adr feat: SOTA Decider v2 — Enterprise Decision Engine 2026-06-16 13:24:31 +00:00
decider feat: outcome feedback loop — POST /decide_outcome, outcome columns in DB, decision ID in response, outcome filter in API 2026-06-16 15:15:30 +00:00
ISSUES docs: #208 closed — all 16 issues resolved 2026-06-16 13:49:37 +00:00
tests decision logging + dashboard: track every decision with tokens, mode, duration, provider — see at /dashboard 2026-06-16 14:32:58 +00:00
.gitignore chore: gitignore decisions.db, db-journal, db-wal files 2026-06-16 15:20:57 +00:00
auth.env forward auth: cookie-based login at /login, /auth endpoint for Traefik, /logout 2026-06-16 14:58:06 +00:00
decider.conf.json fix: explicit /decide POST route with path routing 2026-06-16 15:11:16 +00:00
decisions.db chore: gitignore decisions.db, db-journal, db-wal files 2026-06-16 15:20:57 +00:00
precedents.db chore: gitignore decisions.db, db-journal, db-wal files 2026-06-16 15:20:57 +00:00
principles.md v2: SOTA enterprise decision principles 2026-06-16 13:00:33 +00:00
README.md initial: decider — Hermes-independent decision engine 2026-06-16 12:50:15 +00:00
start.sh fix: route LLM calls through local proxy (port 8646) for working API keys 2026-06-16 15:05:40 +00:00
start_auth.sh forward auth: cookie-based login at /login, /auth endpoint for Traefik, /logout 2026-06-16 14:58:06 +00:00

Decider

Hermes-unabhängiger Decision Engine. Bewertet Situationen gegen abstrakte Prinzipien per externem LLM (DeepSeek).

Principles

Siehe principles.md — 5 abstrakte Regeln:

  1. Autonomy First — handeln ohne Fragen, außer bei irreversiblen Schäden
  2. Root Cause Focus — Ursachen fixen, nicht Symptome
  3. Ambiguity Escalation — nur fragen wenn Prinzipien ambig sind
  4. Execute-Report — erst machen, dann berichten
  5. Risk-Graded Autonomy — Autonomie nach Risikostufe

Usage

# Einfach
echo '{"situation": "npm package installieren?"}' | python3 decider.py

# Mit Kontext
echo '{"situation": "soll ich nginx config ändern?", "context": "Port 443 -> 8443"}' | python3 decider.py

# Interaktiv
python3 decider.py --interactive

# Custom principles
python3 decider.py --situation "..." --principles /pfad/zu/principles.md

Output

{
  "decision": "auto_approve",
  "principle": "P1",
  "reasoning": "Low-risk, reversible action. Proceed without asking.",
  "ask_question": null
}

Decisions: auto_approve | ask_user | abort

Hermes Integration

Wird von Hermes per subprocess aufgerufen, ersetzt approvals.mode: manual. Kein Hermes-Code im Decider — standalone, austauschbar.

Dependencies

  • Python 3.11+
  • httpx (pip install httpx)
  • DEEPSEEK_API_KEY in env