Embedding Pipeline Service · View 19 of 22 · Operations
Why this is a loop, not a pipeline
- The signal that retires a contract — drift, a query mix that moved, a better model — is the same signal that justifies proposing the next one.
- An architecture in which a model change is routine tracks the state of the art. One in which it is a project is two years behind within two years, with no moment at which anyone decided to let that happen.
- Superseded is a real state with a 21-day duration, not a label. Rollback exists only while it lasts.
Gates between states
- Proposed → Building requires a priced estimate that someone accepted.
- Building → Gated requires completeness and an oldest-unmigrated-chunk age inside budget.
- Gated → Serving requires recall@10 within 2 points of the outgoing contract. Completeness alone never opens this gate.
Evidence that outlives the contract
- Evaluation runs and drift series are kept 13 months, so a slow regression across two consecutive migrations is visible rather than lost at each cutover.
- Alias flips, index retirements and evaluation overrides are immutably audited, because they are the operations that change what every user sees.