chore(ops-agent): baseline krijgt de destructieve-migratie-gate #128
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/ops-agent-baseline-migration-gate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part B Task 5, fase 2.
preflight_migrations_scrum4usis live gewired als stap direct vóórprisma_migrate_deploy_scrum4usmeton_failure: abort; deze PR zet de baseline er in dezelfde sessie achteraan.Bewijs
DROP TABLE1 pending scanned, 0 already-applied skipped, noemt het statementdestructive-approved-markerPOST /agent/v1/execOK+exit 00 pending scanned, **22** already-applied skipped— niet nul, dus de mount klopt en de scan is niet vacuümno drift, exit 0Fase 1 (deploy van
b985dc1) ging aan deze wiring vooraf: 19/19 stappen exit 0,No pending migrations to apply., en de scanner zit aantoonbaar in het draaiende image. Zonder die volgorde zou de nieuwe stap op elke run falen en metabortelke deploy blokkeren.Afwijking van de aangeleverde YAML — bewust
De opdracht gaf:
Dat past niet op het schema van deze host.
whitelist.js:21eistcmdals niet-lege array, enargs.allowedis een whitelist voor argumenten die de caller meegeeft — niet voor de vlaggen van het commando zelf. Letterlijk overnemen zoucommands.ymllaten afkeuren bij het laden, en dat raakt álle 99 keys, niet alleen deze. De docker-aanroep is inhoudelijk identiek overgenomen, incmd-array-vorm, consistent metpreflight_env_scrum4usernaast.Vorm
--network+--env-file+ mount zijn alle drie nodig: de scanner leest de migratie-bestanden (dus mount) en haalt de reeds-toegepaste set uit de database (dus netwerk +MIGRATE_DATABASE_URL). Een env-only kopie vanpreflight_budgetzou een lege map scannen en vacuüm slagen — exact de val die V3 afdekt.SCRUM4US_MIGRATIONS_APPLIED_SOURCE=dbstaat expliciet: een deploy-gate hoort zijn modus te benoemen.Scope
Geen tweede
redeploy_scrum4usgedraaid — de eerste echte run van de stap is de volgende gewone deploy. Runtime drift-baseline mee-gesynct (.bak.migrgate-20260802-094823), want de timer vergelijkt tegen die kopie en niet tegen deze clone.