Skip to content

docs(adr): ADR-176 server-owned config & thin clients; ADR-177 weighted incidence topology - #2351

Merged
oceanwaves630 merged 7 commits into
mainfrom
docs/adr-db-first
Sep 11, 2026
Merged

docs(adr): ADR-176 server-owned config & thin clients; ADR-177 weighted incidence topology#2351
oceanwaves630 merged 7 commits into
mainfrom
docs/adr-db-first

Conversation

@ohdearquant

@ohdearquant ohdearquant commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Two architecture decisions from the database-first design pass, decided together because they split one theme: khive treated the way a database server is treated.

ADR-176 — server-owned storage config, thin clients. Today every host process is a full engine with its own config discovery and an embedded fallback that activates on config mismatch (exec.rs: "a mismatch falls back to local"), which is a structural hole in the single-writer guarantee. Decision: the serving daemon exclusively owns [[backends]]/pack routing/embedder config; clients carry endpoint + identity only; the local fallback is removed; config_id demotes to a server-reported fact.

ADR-177 — weighted incidence as the topology primitive. Edge weight is a property of the (node, edge) pair, not the edge (edge-dependent vertex weights); hyperedges and role-qualified relations are unrepresentable in endpoint columns. Decision: graph_incidences(namespace, edge_id, node_id, role, weight) carries all topology; graph_edges drops source_id/target_id/weight; binary edges become the two-incidence special case; migration is a mechanical two-rows-per-edge backfill.

Docs only — no code in this PR. The Python client on main already speaks ADR-177's target shape through a labeled wire translation, so the schema cutover deletes client code rather than adding it.

ohdearquant and others added 3 commits September 1, 2026 13:50
…ed incidence topology

ADR-172: storage config becomes the serving daemon's alone; host
processes reduce to socket clients with identity, the embedded-engine
fallback is removed, and config_id demotes from handshake precondition
to server-reported fact.

ADR-173: graph topology moves to a weighted incidence table; the binary
directed edge becomes the two-incidence special case, giving per-node
edge weights, hyperedges, and role-qualified n-ary relations from one
schema change.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>

@ohdearquant ohdearquant left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review. Posted by this repository's automated pull-request review pipeline; this is not a human read and does not gate the merge by itself.

Verdict on head b70e991: REQUEST-CHANGES, 9 blocking findings. Finding details are delivered to the review's recipients rather than posted here. Do not merge this head while blocking findings are outstanding; a pipeline comment on a newer head supersedes this one.

@ohdearquant ohdearquant left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review. Posted by this repository's automated pull-request review pipeline; this is not a human read and does not gate the merge by itself.

Verdict on head b70e991: REQUEST-CHANGES, 11 blocking findings. Finding details are delivered to the review's recipients rather than posted here. Do not merge this head while blocking findings are outstanding; a pipeline comment on a newer head supersedes this one.

@ohdearquant ohdearquant changed the title docs(adr): ADR-172 server-owned config & thin clients; ADR-173 weighted incidence topology docs(adr): ADR-176 server-owned config & thin clients; ADR-177 weighted incidence topology Sep 7, 2026

@ohdearquant ohdearquant left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated review. Posted by this repository's automated pull-request review pipeline; this is not a human read and does not gate the merge by itself.

Verdict on head bae3b7b: REQUEST-CHANGES, 3 blocking findings. Finding details are delivered to the review's recipients rather than posted here. Do not merge this head while blocking findings are outstanding; a pipeline comment on a newer head supersedes this one.

@oceanwaves630
oceanwaves630 merged commit 5ea56fa into main Sep 11, 2026
28 checks passed
@oceanwaves630
oceanwaves630 deleted the docs/adr-db-first branch September 11, 2026 01:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants