docs: convert OODA loop diagram to real Mermaid syntax

The operating-model diagram in README was ASCII box art in a plain code
fence, not an actual Mermaid diagram — it wouldn't render as a graph on
Gitea/GitHub. Replaced with a `flowchart TD` matching the convention already
used by oikos/gen-topology.py's generated topology.md.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-06 20:49:46 +02:00
parent 0d2093ba3b
commit af14c38fb2

View File

@@ -46,60 +46,25 @@ Before you act, **classify your action against [oikos/policy.yaml](oikos/policy.
### The Oikos OODA Loop + Decision Tree ### The Oikos OODA Loop + Decision Tree
``` ```mermaid
┌─────────────────────────────────────────────────────────────┐ flowchart TD
│ Observe │ Observe["**Observe**<br/>probes, drift detectors, agent signals"]
(probes, drift detectors, agent signals) │ Orient["**Orient**<br/>ontology, context, state, entity relations"]
└────────────────────┬────────────────────────────────────────┘ Decide{"**Decide**<br/>classify against oikos/policy.yaml"}
Auto["Auto-act<br/>(unattended)"]
┌────────────────────▼────────────────────────────────────────┐ Escalate["Escalate<br/>homelab approval request"]
Orient │ Act["**Act**<br/>homelab CLI, runbooks, skills"]
(ontology, context, state, entity relations) │ Verify["**Verify**<br/>checklist from SKILL.md"]
└────────────────────┬────────────────────────────────────────┘ Ledger["**Ledger**<br/>mutation record: who/what/risk"]
Document["**Document**<br/>wiki update, same-session rule"]
┌────────────────────▼────────────────────────────────────────┐
│ Decide: Classify against oikos/policy.yaml │ Observe --> Orient --> Decide
│ │ Decide -->|read_only, reversible_low| Auto
├─ read_only → [unattended, no ledger] │ Decide -->|config_mutation, destructive| Escalate
│ ├─ reversible_low → [unattended + ledger entry] │ Auto --> Act
├─ config_mutation → [ESCALATE: operator approval]│ Escalate -->|approval granted| Act
└─ destructive → [ESCALATE + confirmation] │ Act --> Verify --> Ledger --> Document
└────────────────────┬────────────────────────────────────────┘ Document -.loop.-> Observe
┌────────────┴────────────┐
│ │
┌────▼─────┐ ┌──────▼──────┐
│ Auto-act │ │ Escalate │
└────┬─────┘ │ (get approval
│ │ via homelab │
┌───────▼──────────────────┴──────────┐ │
│ Act │ │
│ (homelab CLI, runbooks, skills) │ │
└────────────────┬─────────────────────┘ │
│ │
┌────▼────────────────────────┘
┌───────────▼──────────────────────────────┐
│ Verify │
│ (checklist from SKILL.md) │
└───────────┬──────────────────────────────┘
┌───────────▼──────────────────────────────┐
│ Ledger │
│ (mutation record: who/what/risk) │
└───────────┬──────────────────────────────┘
┌───────────▼──────────────────────────────┐
│ Document │
│ (wiki update, same-session rule) │
└───────────┬──────────────────────────────┘
└─────────────────┐
┌─────────▼─────────┐
│ Loop back to │
│ Observe │
└───────────────────┘
``` ```
### Risk Classes (enforced, not advisory) ### Risk Classes (enforced, not advisory)