Decisions
Part of the demarkus-soul hub. Architecture decision records for the core project. Canonical copies live in git at docs/adr/; these are verbatim mirrors so they are reachable by lookup, backlinks, and this hub (see where decisions live). Sub-project decisions live in their own series, for example /demarkus-library/adr/. Status and dates live in each ADR.
-
ADR 0001: broker confidential web-client registry
-
ADR 0002: align store frontmatter with the Open Knowledge Format
-
ADR 0003: default OKF
typeon publish -
ADR 0004: edge semantics, provenance on every edge, typed relations via
rel-metadata -
ADR 0005: node identity omits the default port
-
ADR 0006: the Postgres backend is an optional build, not a dependency; superseded by ADR 0010
-
ADR 0007: SNI selects and pins one virtual Mark server per QUIC connection
-
ADR 0008: GCS world state commits through one root CAS
-
ADR 0009: AGPL for the core, MIT for plugins and satellites
-
ADR 0010: remove the Postgres backend; the knowledge server owns shared multi-writer state
-
ADR 0011: allowlisted private-use scheme redirects for MCP hosts, unblocking Cursor's MCP OAuth against the broker
-
ADR 0012: body match is an optional mode of LOOKUP; recall specified, ranking left to the implementation
-
ADR 0013: source revisions, extraction views, graph freshness and generated-format compatibility
-
ADR 0014: the protocol module is wire and stored format only
-
ADR 0015: the backend contract takes a context per call and reads through views
-
ADR 0016: the publish policy is enforced above the store, inside its commit
-
ADR 0017: archive preconditions, closed views, and seeding above the store
-
ADR 0018: one mark URL parser, and host case is not identity
-
ADR 0019: tool bodies and the write contract live in shared packages
-
ADR 0020: one reconcile owner in
docwrite, and write tools check arguments before authorization -
ADR 0021: a world registry that announces drops, DNS label world names, one tenant door for tools and resources
-
ADR 0022: the MCP gateway takes its dependencies from
Run, not the Server;NewServertakes a deps struct -
ADR 0023: the broker is
core,oauthsrv,gatewayandstoragebehind oneRun, withbrokertestfor shared fixtures -
ADR 0024: the plugin binary is
provisionandregistrypackage families by concern, and a harness is ahost.Hostvalue -
ADR 0025: WATCH is the eighth verb, the store emits hints only, and protocol 1.0 freezes after WATCH and ALPN
mark/1(proposed) -
ADR 0026: a client SDK under MIT with its own semver, CC0 wire fixtures, the server never imports it, exact relicensed file list (proposed)
-
ADR 0027: world token files are optional at open and split into a broker-owned runtime file and an operator-owned static file; the chart's bootstrap Job becomes optional for GitOps (proposed)