docs: record the schema manifest decision as ADR-0025 - #773
Merged
Conversation
janbjorge
force-pushed
the
docs/adr-0025-schema-manifest
branch
from
August 30, 2026 07:13
2d04a3a to
d609f4b
Compare
The startup check needed a stated contract rather than an accumulated set of probes. ADR-0025 holds that single decision; the manifest model describes what is, including the one-level dependency relation that lets a verdict name root causes and lets a manager be scoped to the tables it uses.
janbjorge
force-pushed
the
docs/adr-0025-schema-manifest
branch
from
August 30, 2026 07:22
d609f4b to
5359920
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Splits the architecture record out of #751 so the decision can be reviewed on its own. No code changes.
ADR-0025 holds one decision: the objects the library requires are declared, and startup verifies the installed schema against that declaration instead of probing for the shapes the code happens to use. Three alternatives are named and rejected (accumulated probes, a recorded schema version number, verifying nothing). Implementation is pushed to Not covered.
docs/design/schema-manifest.mdis the model: manifest, observation, verdict, startup gate. Its dependency model is containment one level deep, which is what lets a verdict name root causes and lets a manager be scoped to the tables it uses.Also indexed in the ADR README, linked from the design README, added to the mkdocs nav.
Two notes:
docs/reference/schema-revision.md, which lands in feat(schema): stamp every database object with a schema revision #751. Those links dangle until that merges.mkdocs buildruns without--strict, so the docs workflow still passes.