# Architecture Decision Records MADR-style records for Oikos. One decision per file, numbered, never edited after acceptance — superseding decisions get a new ADR that links back. Statuses: proposed | accepted | superseded-by-NNNN. | ADR | Title | |---|---|---| | [0001](0001-go-single-binary.md) | Go with single-binary role packaging | | [0002](0002-postgres-timescale-only-datastore.md) | PostgreSQL + TimescaleDB as the only datastore | | [0003](0003-db-native-ontology-yaml-seeds.md) | DB-native ontology with YAML seed manifests | | [0004](0004-openapi-first.md) | Contract-first OpenAPI API | | [0005](0005-uuidv7-plus-slug-identity.md) | UUIDv7 + slug entity identity | | [0006](0006-learning-proposal-only.md) | Learning is proposal-only (no self-authorization) | | [0007](0007-threat-model.md) | Threat model and trust zones | | [0008](0008-forward-only-migrations.md) | Forward-only migrations | | [0009](0009-sse-over-websocket.md) | SSE over WebSocket for the event stream | | [0010](0010-infisical-with-sops-fallback.md) | Infisical secrets with SOPS DR fallback | | [0011](0011-client-lifecycle-flows.md) | Client lifecycle flows — enrollment, bootstrap, sync | | [0012](0012-hermes-oikos-interactions.md) | Hermes–Oikos interactions — agent/OS contract | | [0013](0013-signal-triggers.md) | Signal triggers — host health checks via scheduler | | [0014](0014-entity-model.md) | Entity model — types, relationships, state machines, OODA loop |