Dieses Dokument ist eine menschlich lesbare Orientierung über wichtige Contractfamilien. Es ist weder vollständig noch eine aktuelle Consumer- oder Runtime-Inventur.
Maschinenlesbare Quellen:
- Die von Metarepo veröffentlichten Shared-Contract-Bytes liegen unter
contracts/. contracts/consumers.yamlenthält Lifecycle, Ablösepfade und den überprüften Claimstatus.contracts/consumer-evidence.v1.jsonbindet jeden Claim an exakte Repository-Commits und Pfade.scripts/contracts/validate_consumers.pyprüft die Bindung fail-closed.
Ein verified-Claim belegt Repositorykopplung am auditierten Commit, nicht Live-Nutzung, Gesundheit oder Zustellung. unverified, compatibility und historical bleiben absichtlich sichtbar und dürfen nicht zu aktiver Wahrheit hochgestuft werden.
Ziel dieses Dokuments:
- Contractfamilien verständlich einordnen,
- auf die kanonischen Schema- und Evidenzdateien verweisen,
- keine zweite Consumer- oder Runtime-Wahrheit erzeugen.
Diese Schemas sind der „Verfassungskern“ des Heimgewebes.
Sie liegen (sofern nicht anders angegeben) in contracts/*.schema.json im metarepo.
event.line.schema.json- Zweck: generischer Event-Stream-Contract (Basis für chronik, Leitstand, HausKI-Logs, usw.).
aussen.event.schema.json- Zweck: standardisierte Außen-Events, bevor sie in die interne Event-Landschaft aufgenommen werden.
audio.events.schema.json- Status: historischer, derzeit producer- und consumerloser Payload-Vertrag aus
hausKI-audio. - Grenze: Er ist nicht an das kanonische Repository
audiogebunden und belegt keine aktuelle Eventzustellung.
- Status: historischer, derzeit producer- und consumerloser Payload-Vertrag aus
intent.event.schema.json- Zweck: Intent-Events aus Audio/Text für chronik/hausKI (Intent-Erkennung mit Confidence).
contracts/plexer/event.envelope.v1.schema.json- Zweck: Standardisierte Envelope für Events, die durch Plexer geroutet werden.
- Produzent: alle (wrapping)
- Konsumenten: plexer (routing)
contracts/plexer/delivery.report.v1.schema.json- Zweck: Report on event delivery status (counts, retries).
- Produzent: plexer
- Konsumenten: wgx, chronik, leitstand
contracts/plexer/failed_event.v1.schema.json- Zweck: Persisted state for failed event deliveries.
- Produzent: plexer (internal persistence)
- Konsumenten: plexer (retry loop)
contracts/chronik/event.batch.v1.schema.json- Zweck: Batch-Antwort für /v1/events (Pull-Modell).
- Produzenten: chronik
- Konsumenten: heimgeist, heimlern
contracts/heimlern.ingest.state.schema.json- Zweck: Persistenter Fortschrittszustand (Cursor, last_ok) für den Ingest-Prozess (CLI).
- Produzenten: heimlern (CLI)
- Konsumenten: leitstand, heimgeist
fleet.health.schema.json- Zweck: Health-Status der Repos/Services, inkl.
details[]pro Einheit.
- Zweck: Health-Status der Repos/Services, inkl.
metrics.snapshot.schema.json- Zweck: Metrik-Snapshots (Messpunkte für Zustand / Performance).
insights.schema.json- Zweck: generische „Insight“-Einträge (Erkenntnisse, Beobachtungen, Analysen).
insights.daily.schema.json- Zweck: tägliche, verdichtete Insights mit
topics,source,metadata. - Typ: Artefakt (kein Event-Wrapper).
- Produzent: semantAH
- Konsumenten: chronik (append-only), leitstand
- Zweck: tägliche, verdichtete Insights mit
contracts/events/insights.daily.published.v1.schema.json- Zweck: Notification-Event, das Verfügbarkeit neuer Daily-Insights signalisiert (URL, TS).
- Typ: Notification (Payload < 1KB, kein Inline-Daten-Transport).
- Produzent: semantAH (nach Release).
- Konsumenten: plexer (Router), chronik, leitstand.
contracts/events/knowledge.observatory.published.v1.schema.json- Zweck: Notification-Event, das Verfügbarkeit eines neuen Knowledge-Observatory-Snapshots signalisiert.
- Typ: Notification.
- Produzent: semantAH.
- Konsumenten: plexer, leitstand, hausKI.
knowledge.graph.schema.json- Zweck: generisches Wissensgraph-Schema (Knoten, Kanten, Beziehungen).
knowledge.observatory.schema.json- Zweck: Snapshot des semantischen Observatoriums mit aktiven Themenräumen, Quellen, Signalen, Leitfragen, blinden Flecken und verworfenen Hypothesen.
- Produzent: semantAH
- Konsumenten: leitstand, hausKI, heimlern
- Typ: Beobachtung
contracts/events/heimgeist.insight.v1.schema.json- Zweck: Systemreflexion und Meta-Analysen durch Heimgeist (z. B. Drifts, Risiken).
- Produzent: heimgeist
- Konsumenten: chronik, leitstand
- Governance: siehe
heimgeist.insight.v1.meta.json(getrennt für strict-mode Compliance) - Regel: Versionierung erfolgt über Dateiname (v1) und
schema_version-Feld. Breaking Changes erfordern v2.
contracts/events/heimgeist.self_state.snapshot.v1.schema.json- Zweck: Event-Envelope für Self-State Snapshots (Stream).
- Produzent: heimgeist
- Konsumenten: chronik
contracts/heimgeist/self_state.schema.json- Zweck: Explizites Self-Model für Heimgeist (Confidence, Fatigue, Risk-Tension, Autonomy).
- Produzent: heimgeist
- Konsumenten: chronik, leitstand
- Typ: Meta-Kognition
contracts/heimgeist/status.v1.schema.json- Zweck: Status-Meldung des Heimgeist-Systems inkl. Self-State.
- Produzent: heimgeist
- Konsumenten: leitstand
contracts/heimgeist/self_state.bundle.v1.schema.json- Zweck: Bundle-Artifact für den Leitstand (aktueller Status + Historie).
- Produzent: heimgeist
- Konsumenten: leitstand
contracts/hauski/system.signals.v1.schema.json- Zweck: System-Ressourcen-Signale (CPU, Memory, GPU) für Meta-Kognition.
- Produzent: hausKI
- Konsumenten: heimgeist
decision.outcome.v1.schema.json- Zweck: Kanonisches Payload-Schema für Entscheidungsergebnisse mit strikter Validierung der Konsistenz zwischen Outcome und Success-Flag.
- Produzenten: hausKI, chronik
- Konsumenten: heimlern
decision.preimage.schema.json- Zweck: expliziter Erkenntnis-Vorlauf vor einer wirksamen Entscheidung – dient Auditierbarkeit, Lernfähigkeit und Sichtbarkeit von Unsicherheit/Alternativen.
policy.decision.schema.json- Zweck: formalisierte Entscheidungen (wer/was hat entschieden, mit welcher Option).
policy.feedback.schema.json- Zweck: Feedback zu Entscheidungen (Erfolg, Fehler, Korrekturen).
policy.snapshot.schema.json- Zweck: momentane Policy-Konfiguration im zeitlichen Verlauf (Versionierung des Regelwerks).
policy.weight_adjustment.v1.schema.json- Zweck: Strukturierte Policy-Gewichtsanpassungen mit Delta-Objekten und bidirektionalen Evidence/Rate-Regeln.
- Produzenten: heimlern
- Konsumenten: hausKI, chronik
os.context.state.schema.json- Zweck: aktueller Kontextzustand eines „Heimgewebe-OS“ (Umgebung, Sessions, aktive Knoten).
os.context.intent.schema.json- Zweck: Absichten/Intents, die vom System erkannt oder gesetzt werden.
os.context.text.embed.schema.json- Zweck: Texte, die eingebettet (Vektorraum) werden sollen.
os.context.text.redacted.schema.json- Zweck: bereinigte / geschwärzte Textvarianten für Privacy.
agent.tool.schema.json- Zweck: Beschreibung von Tools, die ein Agent nutzen kann (Name, Eingaben, Ausgaben).
agent.workflow.schema.json- Zweck: Beschreibung von Workflows / Pipelines, die ein Agent ausführen kann.
dev.tooling.schema.json- Zweck: Struktur für Dev-Tooling-Informationen (z. B. Toolchain-Definitionen, Checks).
tooling/toolchain.versions.schema.json- Zweck: Canonical schema für
toolchain.versions.yml, definiert required keys und Versionsformate.
- Zweck: Canonical schema für
heim-pc/state/heim-pc.state.index.schema.json- Zweck: Index des Heim-PC-Zustands.
heim-pc/state/heim-pc.state.repos.schema.json- Zweck: Repositories im Heim-PC-Kontext.
heim-pc/state/heim-pc.state.uncertainties.schema.json- Zweck: Unsicherheits-Tracking der Heim-PC.
heim-pc/state/heim-pc.state.insights.schema.json- Zweck: Insights/Erkenntnisse aus der Heim-PC.
heim-pc/state/heim-pc.state.drift.schema.json- Zweck: Drift-Detection innerhalb der Heim-PC.
heim-pc/config/zones.schema.json- Zweck: Konfiguration der Heim-PC-Zonen.
- Ownership:
metarepo(Definition) ->heim-pc(Konsum/Implementation).
review.policy.yml- Zweck: Richtlinien für Reviews (z. B. Sichter, heimgeist), dient als semantische Grundlage für automatisierte Bewertung.
project.scenario.schema.json- Zweck: Beschreibung alternativer Pfade für ein Thema oder Projekt (konservativ, ambitioniert, experimentell) mit Annahmen, Risiken und vorgeschlagenen Aktionen.
consumers.yaml- Zweck: Maschinenlesbare Übersicht, welche Repos welche zentralen Heimgewebe-Contracts konsumieren (Modus: reference-only oder mirror) – quer über alle Contract-Kategorien hinweg.
integrity.summary.schema.json- Zweck: Zusammenfassender Integritätsbericht (Artefakt) zur Diagnose von Claims vs. Artefakten.
- Hinweis: Dieses Schema ist ein reines Beobachtungsartefakt; automatische Korrektur ist explizit verboten.
- Produzent: semantAH
- Konsumenten: leitstand, wgx
integrity.sources.v1.schema.json- Zweck: Single Source of Truth für Integritätsquellen (Pull-Modell).
- Produzent: metarepo (generiert)
- Konsumenten: chronik
- Referenz: Siehe auch
docs/architecture/integrity-neurose.mdfür die normative Architektur.
Repository: heimgewebe/contracts-mirror
heimgewebe/aussen/v1/event.proto- Contract:
EventEnvelope - Zweck: API-Contract für Außen-Events (id, event_type, occurred_at, payload, context).
- Contract:
heimgewebe/heimlern/v1/decision.proto- Contract:
Decision - Zweck: Entscheidungen aus Sicht von heimlern (decision_id, learner_id, Optionen, decided_at, metadata).
- Contract:
json/aussen.event.schema.jsonjson/os.context.state.schema.jsonjson/test.schema.json
Zweck:
- JSON-Repräsentationen der Protobuf-Schnittstellen,
- Grundlage für Tests, Beispielpayloads, clientseitige Validierung.
Repository: heimgewebe/hausKI
docs/contracts/events.schema.json- Zweck: HausKI-Event-Contract (Logging, Bus, Audits).
docs/contracts/tools/query_vault.schema.jsondocs/contracts/tools/search_codebase.schema.json- Zweck: Tool-Eingabe-Contracts für spezifische HausKI-Tools.
Repository: heimgewebe/aussensensor
contracts/aussen.event.schema.json- Zweck: lokale Variante des Außen-Event-Contracts für Sensor-Ingest, bevor die Events an chronik / heimlern weitergereicht werden.
Repository: heimgewebe/semantAH
contracts/insights.schema.json- Zweck: generische Insight-Struktur (in semantAH-Kontext).
contracts/semantics/node.schema.jsoncontracts/semantics/edge.schema.jsoncontracts/semantics/report.schema.json- Zweck: Graph-Contract des semantischen Blutkreislaufs (Knoten, Kanten, Reports).
contracts/semantics/examples/*- Zweck: valid/invalid Beispiele, direkt für Tests und für LLM-Kontext verwendbar.
Repository: heimgewebe/heimlern
contracts/aussen_event.schema.jsoncontracts/policy.decision.schema.jsoncontracts/policy_feedback.schema.jsoncontracts/policy_snapshot.schema.jsonheimlern.ingest.state.schema.json- Zweck: Persistenter Fortschrittszustand (Cursor, last_ok) für den Ingest-Prozess (CLI).
- Produzenten: heimlern (CLI)
- Konsumenten: leitstand, heimgeist
Zweck:
- domänenspezifische Ausprägung des Policy-Kreislaufs,
- strukturiertes Decision- und Feedback-Logging,
- Grundlage für lernende Policies.
Repository: heimgewebe/weltgewebe
contracts/domain/conversation.schema.jsoncontracts/domain/message.schema.jsoncontracts/domain/node.schema.jsoncontracts/domain/edge.schema.jsoncontracts/domain/role.schema.jsoncontracts/domain/examples/*.json
Zweck:
- Datenmodell für Gesprächsräume, Nachrichten, Rollen und semantische Knoten,
- Grundgerüst für alles, was „Gespräch als Datenstruktur“ versteht.
Repository: heimgewebe/mitschreiber
contracts/os.context.text.embed.schema.json
Zweck:
- spezialisierter Contract für Texte, die eingebettet werden (z. B. Mitschriften, Notizen).
Für neue JSON-Schemas im Heimgewebe sollte sich an folgendem Muster orientiert werden
(vereinfacht, tatsächliche Konventionen siehe contracts/SCHEMA_CONVENTIONS.md im contracts-mirror-Repo):
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.heimgewebe.de/<bereich>/<name>.schema.json",
"title": "<Kurzer Name>",
"description": "<Knappe Beschreibung des Zwecks>",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Stabile, systemweite ID"
},
"created_at": {
"type": "string",
"format": "date-time"
}
// weitere Felder …
},
"required": ["id", "created_at"],
"additionalProperties": false
}Grundsätze:
- Eindeutige
$idje Contract, - klare
titleunddescription, additionalProperties: false, außer es gibt gute Gründe für Offenheit,- gemeinsame Stammdaten-Felder (
id,created_at, ggf.source,trace_id) möglichst wiederverwenden.
Für Contracts, die Produzenten/Konsumenten dokumentieren möchten, wird empfohlen, diese Informationen außerhalb des JSON-Schemas zu halten, um Strict-Mode-Kompatibilität zu gewährleisten. Verwende eine separate *.meta.json-Datei:
{
"contract": "<name>.v<version>",
"schema": "contracts/<path>/<name>.schema.json",
"governance": {
"producers": ["service1"],
"consumers": ["service2", "service3"]
},
"notes": [
"This file is intentionally NOT JSON-Schema. It is governance metadata."
]
}Grund: JSON-Schema-Validatoren im strict mode können bei unbekannten Keywords (z.B. x-producers, x-consumers) fehlschlagen.
Dieses Dokument wird kuratiert gepflegt, um systemweit relevante Contracts sichtbar zu halten:
- Zentrale metarepo-Contracts: Wenn neue Dateien unter
contracts/*.schema.jsonangelegt, umbenannt oder gelöscht werden, sollte dieses Dokument in derselben PR aktualisiert werden. - Repo-spezifische Contracts: Änderungen an Contracts in anderen Repos sollten hier referenziert werden, falls sie systemweit relevant sind (z. B. Events, Policy-Strukturen, Weltgewebe-Domänenmodelle).
- Qualitätssicherung: Ein automatischer Guard-Check (siehe
.github/workflows/contracts-index-guard.yml) prüft, dass alle zentralencontracts/*.schema.json-Dateien im Index vorkommen.
Weitere Hinweise zur Contracts-Pflege finden sich in CONTRIBUTING.md.
Für KIs und Tools kann dieses Dokument als Einstiegsindex dienen:
- Welche Contracts gibt es?
- In welchem Repo liegen sie?
- Welches Schema ist für welchen Datenstrom zuständig?
Die eigentlichen Schemas sollten bei Bedarf immer direkt aus den Repositories geladen oder aus dem jeweiligen Merge-Kontext entnommen werden.