ADR-017: contract versioning — core crate's semver is the contract version (OQ-10 resolved)
This commit is contained in:
1 parent
8c8fec5cb8
commit
eba77909a7
9 files changed
+473
-51
No files matched your search
@@ -81,7 +81,13 @@ crate. A consumer binary links at most one driver.
|
||||
- A version-coordination duty: the core's trait surface is a contract
|
||||
the engine crates must track. Version bumps in core must be adopted
|
||||
by engines in lockstep when the contract changes (minor/major
|
||||
discipline; no trait-default drift).
|
||||
discipline; no trait-default drift). *(Discharged 2026-10-06: the
|
||||
duty's concrete shape is the versioning discipline —
|
||||
[ADR-017](017-contract-versioning.md), OQ-10's resolution: the
|
||||
core crate's semver is the contract version, change classes +
|
||||
lockstep duties pinned, the pairing tracked by manifest pin +
|
||||
version-stamped contract suite + docs; released engines on a
|
||||
breaking change keep their pinned majors — nothing forced.)*
|
||||
- Slightly more crate plumbing; naming/publishing overhead.
|
||||
- Consumers who want *both* engines in one binary (rare, unsupported-by
|
||||
design) cannot get a both-features build today.
|
||||
@@ -96,6 +102,8 @@ crate. A consumer binary links at most one driver.
|
||||
link-collision constraint motivates this split.
|
||||
- [ADR-004](004-postgres-driver.md) — the Postgres driver choice.
|
||||
- OQ-10 (`docs/architecture/open-questions.md`) — trait-versioning
|
||||
duties created here.
|
||||
duties created here; resolved by
|
||||
[ADR-017](017-contract-versioning.md); OQ-11 — the fork-follow-through
|
||||
residue (per [ADR-013](013-fold-substrate-into-sqlite.md) §4).
|
||||
[ADR-003]: 003-sqlite-driver.md
|
||||
[ADR-004]: 004-postgres-driver.md
|
||||
Reference in new issue
Block a user