Invariants¶
Invariants are the claims that must remain true for the package to stay worth trusting.
Invariant Model¶
flowchart LR
meaning["shared identifiers and schema meaning"]
migration["serialization and migration behavior"]
boundary["foundation stays out of downstream policy"]
meaning --> migration --> boundary
This page should make foundation invariants feel like the rules that let other packages share one canonical language. If these claims blur, downstream reuse starts relying on coincidence instead of stable meaning.
Review Rules¶
- shared identifiers and schema meanings remain canonical across consuming packages
- serialization and migration paths stay explicit and reviewable
- foundation never absorbs downstream policy just because many packages use it
First Proof Check¶
packages/bijux-proteomics-foundation/testssrc/bijux_proteomics_foundation/schema.pyandmigrations.pysrc/bijux_proteomics_foundation/serialization.py
Design Pressure¶
Foundation invariants break when migration convenience starts redefining shared meaning. The package has to keep canonical identifiers, schemas, and durable transforms visibly aligned.