mirror of
https://github.com/J3vb/OwnCord.git
synced 2026-09-03 03:50:00 +03:00
Add docs/architecture/ — a curated blueprint set with 10 Mermaid diagrams covering system context, deployment topology, server package map, REST request lifecycle, WebSocket auth/replay/dispatch, the full data model (migrations 001-015), voice/E2EE flow, and the client module map. Add docs/audit-2026-07-19.md — successor to audit-2026-04-07.md: re-verifies carried-over findings, catalogues spec-vs-code drift in api.md/protocol.md/schema.md (incl. the announcement channel-type contradiction and the undocumented voice-E2EE protocol surface), records server/client/CI findings with file:line evidence, and closes with a 12-item prioritized improvement backlog. Link both from the README docs index. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UA17KPvqGBX3XbXYnMf1rA
41 lines
2.3 KiB
Markdown
41 lines
2.3 KiB
Markdown
# OwnCord Architecture Blueprints
|
||
|
||
**Verified against:** commit `ddc49f0`, 2026-07-19
|
||
**Companion audit:** [docs/audit-2026-07-19.md](../audit-2026-07-19.md)
|
||
|
||
This directory is the curated architectural map of OwnCord — the "blueprints" for
|
||
the whole system. Every diagram is a Mermaid fenced block (GitHub renders these
|
||
natively) followed by a prose explanation and a **Source of truth** file list.
|
||
|
||
## Index
|
||
|
||
| Doc | Diagrams | Covers |
|
||
|-----|----------|--------|
|
||
| [system-overview.md](system-overview.md) | D1 System context, D8 Deployment topology | All processes, trust boundaries, ports, single-instance constraints |
|
||
| [server.md](server.md) | D2 Server package map, D3 REST request lifecycle | Go package structure, DB-access styles, middleware chain |
|
||
| [websocket.md](websocket.md) | D4 WS connect / replay / dispatch | Real-time engine: auth handshake, 3-tier reconnect replay, backpressure, V1/V2 dispatch |
|
||
| [data-model.md](data-model.md) | D5 Entity-relationship overview | All 23 tables from migrations 001–015, grouped by domain |
|
||
| [voice-e2ee.md](voice-e2ee.md) | D6 Voice + E2EE flow | LiveKit token flow, loopback TLS tunnel, ECDH key-holder relay |
|
||
| [client.md](client.md) | D7 Client module map | Tauri client: bootstrap, dispatcher, stores, Rust sidecars |
|
||
|
||
## Maintenance rule
|
||
|
||
These documents are **curated, not generated**. The rule that keeps them honest:
|
||
|
||
> If a PR changes the *structure* of anything listed in a diagram's
|
||
> **Source of truth** list (new package, new table, new message type, changed
|
||
> flow), that PR updates the corresponding diagram in the same change.
|
||
|
||
Diagrams reference stable identifiers (package names, table names, message-type
|
||
strings) rather than line numbers wherever possible. Line-number evidence lives
|
||
in the dated audit reports, which are point-in-time snapshots by design.
|
||
|
||
## Relationship to other docs
|
||
|
||
- `docs/api.md`, `docs/protocol.md`, `docs/schema.md` are the *reference specs*
|
||
(request/response shapes, wire formats, DDL). These blueprints describe
|
||
*structure and flow*, not payload shapes. Known drift between the specs and
|
||
the code is catalogued in [audit-2026-07-19.md §2](../audit-2026-07-19.md).
|
||
- `docs/client-architecture.md` predates the abandonment of the Solid.js
|
||
migration; [client.md](client.md) reflects the current state.
|