generated from coulomb/repo-seed
Set up Core Hub framework planning
This commit is contained in:
35
docs/specs/testing-release-and-migration.md
Normal file
35
docs/specs/testing-release-and-migration.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user