dashboard/system.html
pijukka b1afa1ecf3 Sync graph with pipelines as queryable nodes (130 nodes, 197 edges, 9 communities)
docs/pipelines.md is now part of the graphify corpus -- the four
pipelines (deploy, agent delegation, access chain, Zettel
transformation) are real nodes/edges connected to the existing
architecture graph, not just standalone Mermaid diagrams. graphify
explain "deploy_pipeline" etc. now works.
2026-09-01 14:33:55 +02:00

151 lines
8.1 KiB
HTML

<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
<link rel="icon" href="/icon-192.png" type="image/png">
<link rel="apple-touch-icon" href="/icon-192.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover">
<meta name="color-scheme" content="light dark">
<meta name="theme-color" content="#000000">
<title>System — [dashboard]</title>
<link rel="manifest" href="manifest.json?v=2">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="system.css">
</head>
<body>
<div class="system">
<a class="back" href="/index.html">&larr; zurück</a>
<h1>Wie die Plattform funktioniert</h1>
<p class="subtitle">Architektur, Agenten-Rollen, Prinzipien und
letzte Änderungen an einem Ort — Quelle ist immer
<code>nixos-config</code>, diese Seite ist nur die Ansicht darauf.</p>
<section id="graph">
<h2>Architektur-Graph</h2>
<div class="graph-toolbar">
<button type="button" class="fullscreen-btn" id="graph-fullscreen">&#x26F6; Vollbild</button>
</div>
<iframe class="graph-frame" id="graph-frame" src="graph.html" loading="lazy" title="Plattform-Infrastruktur-Graph" allowfullscreen></iframe>
<a class="graph-link" href="graph.html">Graph in eigenem Tab öffnen</a>
<a class="graph-link" href="pipelines.html">Prozess-/Pipeline-Ansicht (input → output) ansehen</a>
<p class="stale-note">Von <code>graphify</code> aus <code>nixos-config</code>
generiert (130 Knoten, 197 Kanten, 9 Communities, Stand 01.09.2026
inkl. <code>memory/</code>). Wird nicht live
aktualisiert — nächster Abgleich, wenn sich die Plattform-Architektur
merklich ändert.</p>
</section>
<section id="roles">
<h2>Agenten-Rollen (Herdr)</h2>
<div class="roles">
<div class="role">
<span class="id">Orchestrator</span>
<span class="meta">— einzige Dialogschnittstelle zum Nutzer</span>
<p>Delegiert an die Rollen unten, synthetisiert Ergebnisse,
trägt die Endverantwortung für Freigaben.</p>
</div>
<div class="role">
<span class="id">administrator</span>
<span class="meta">herdr-visible · per-assignment</span>
<p>NixOS-Plattformänderungen: implementiert, testet, deployt
erst nach ausdrücklicher Freigabe.</p>
</div>
<div class="role">
<span class="id">orga</span>
<span class="meta">herdr-visible · helper-only</span>
<p>Kalender und E-Mail. Lesen und Schreiben strikt getrennt,
destruktive Aktionen brauchen ausdrückliche Bestätigung.</p>
</div>
<div class="role">
<span class="id">reviewer</span>
<span class="meta">herdr-visible · read-only</span>
<p>Prüft Diffs und Code, keine Aktivierungs- oder
Deploymentfreigabe.</p>
</div>
<div class="role">
<span class="id">agent-manager</span>
<span class="meta">herdr-visible · per-assignment</span>
<p>Erstellt und pflegt die Rollen selbst (Rollendateien,
Tests, Katalog) — führt fremde Fachaufgaben nicht aus.</p>
</div>
<div class="role">
<span class="id">graphics</span>
<span class="meta">herdr-visible · per-assignment</span>
<p>Bildanalyse und -verarbeitung.</p>
</div>
<div class="role">
<span class="id">dialog-agent / builder</span>
<span class="meta">xmpp-worker · read-only / workspace-write</span>
<p>XMPP-Bots (<code>agent@</code>/<code>builder@bot.0ff.space</code>).
Dialog-Agent liest nur, Builder kann committen/pushen
(kein Deploy), erreichbar direkt nur für den Owner oder
per Handoff mit eigenem Freigabe-Workflow.</p>
</div>
<div class="role">
<span class="id">planner</span>
<span class="meta">geplant — noch kein Rollenvertrag</span>
<p>Bisher nur Modell-Profil-Stub in <code>catalog.json</code>.
Soll recherchieren, planen, bei offenen Fragen nachfragen und
erst bei fertigem Plan delegieren.</p>
</div>
</div>
</section>
<section id="worldview">
<h2>World View</h2>
<div class="worldview">
<p class="draft-note">Entwurf, noch nicht vom Nutzer bestätigt
— volle Fassung inkl. Quellenangaben in
<code>memory/world-view.md</code> im Repo.</p>
<h3>Was den Nutzer interessiert</h3>
<ul>
<li>Selbstgehostete, deklarative Infrastruktur als eigenes Handwerk</li>
<li>Multi-Agenten-Systeme und deren Governance</li>
<li>Permacomputing / Langlebigkeit</li>
<li>Digitale Souveränität</li>
<li>Forkbarkeit / Weitergabe an andere</li>
</ul>
<h3>Methoden</h3>
<ul>
<li>Verifizieren vor Vertrauen</li>
<li>Live-Diagnose vor Annahme</li>
<li>Grenzen respektieren, auch wenn unbequem</li>
<li>Direkte Entscheidungen, wenn delegierte Zustimmung fehlt</li>
</ul>
</div>
</section>
<section id="changelog">
<h2>Letzte Änderungen</h2>
<ul class="changelog">
<li><span class="hash">1c08e14</span>resize-image.sh: add a 4th (xl/desktop) tier, document the pipeline</li>
<li><span class="hash">32c7ada</span>Add sound.0ff.space: Icecast + Liquidsoap internet radio on pinix</li>
<li><span class="hash">2ac9464</span>Backport confirmed GoToSocial color fixes: role badges, settings nav, form borders, dark-mode text contrast</li>
<li><span class="hash">3a7d85d</span>Make GoToSocial's instance-wide branding declarative</li>
<li><span class="hash">fe022a1</span>Backport confirmed live edits: forgejo wiki reorder, explore centering, phanpy tagline</li>
<li><span class="hash">f3bc244</span>xmpp-web: hide the redundant "Login" subtitle above the login form</li>
<li><span class="hash">9472fae</span>Fill in remaining palette gaps: file server links, LLDAP pagination</li>
<li><span class="hash">4d4a66d</span>Batch deploy: forgejo live-edit backport, phanpy fixes, xmpp-web login heading</li>
<li><span class="hash">a9a0cae</span>dex: fix yellow autofill background on username/password fields</li>
<li><span class="hash">89cd9c5</span>Document the 0ff.space design system, apply it to Dex login/consent pages</li>
</ul>
<p class="stale-note">Aus <code>git log</code> von <code>nixos-config</code>,
Stand 01.09.2026. Taktische Details: <code>docs/log.md</code>,
große Richtungsfragen: <code>docs/roadmap.md</code> (beide nur im
Repo, nicht auf dieser Seite gespiegelt).</p>
</section>
</div>
<script>
document.getElementById('graph-fullscreen').addEventListener('click', () => {
const frame = document.getElementById('graph-frame');
if (frame.requestFullscreen) {
frame.requestFullscreen();
} else if (frame.webkitRequestFullscreen) {
frame.webkitRequestFullscreen();
}
});
</script>
</body>
</html>