generated from coulomb/repo-seed
36 lines
1.2 KiB
Markdown
36 lines
1.2 KiB
Markdown
# Testing, Release, and Migration Spec
|
|
|
|
## Test Layers
|
|
|
|
- unit tests for models, validators, and services
|
|
- API tests for route behavior and auth semantics
|
|
- contract tests from fixtures
|
|
- migration tests for Alembic revisions and imports
|
|
- consumer smokes for ops-hub and activity-core
|
|
- optional Playwright visual checks once UI exists
|
|
|
|
## Release Gates
|
|
|
|
A Core Hub release cannot replace Inter-Hub until:
|
|
|
|
- public `/api/v2` compatibility smokes pass;
|
|
- protected route auth behavior is proven without exposing secrets;
|
|
- ops-hub bootstrap smoke passes;
|
|
- activity-core sink smoke passes or is explicitly deferred to State Hub fallback;
|
|
- data import row counts and relationship checks pass;
|
|
- rollback path is documented;
|
|
- production operator approves cutover.
|
|
|
|
## Migration Gates
|
|
|
|
- Extract Inter-Hub schema and route inventory.
|
|
- Build fixture set from representative production-safe records.
|
|
- Import data into Core Hub staging.
|
|
- Compare row counts and key relationships.
|
|
- Run dual-read or shadow smokes.
|
|
- Switch traffic only after smoke evidence is recorded.
|
|
|
|
## Haskell Retirement Gate
|
|
|
|
Do not retire production Inter-Hub or the haskelseed/Haskell build lane until Core Hub serves the required compatibility surface and production traffic has moved.
|