chore(ops-agent): baseline krijgt de Vercel-deploy als slotstap #130
No reviewers
Labels
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
janpeter/Ops-dashboard!130
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "chore/ops-agent-baseline-vercel-step"
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 6.
vercel_deploy_scrum4us+assert_checkout_clean_scrum4uszijn live toegevoegd als de laatste twee stappen vanredeploy_scrum4us, achter elke API-gate. Baseline bijgewerkt in dezelfde sessie; runtime drift-baseline mee-gesynct, drift-checkno drift/ exit 0.Bewijs uit één echte run
gate_dogfood → vercel_deploy → assert_checkout_cleanorigin/main= deployment-sha =0d1b3774a839M package-lock.json; oorzaak gevonden en apart gefixt, zie onderwww.scrum4us.nl,www.scrum4us.com,scrum4us.vercel.appserveren de appno driftV3: de assert deed zijn werk, maar niet om de verwachte reden
Niet een CLI die buiten de gitignore schrijft, maar
vercel builddatnpm installdraait en daarmeepackage-lock.jsonherschrijft — een getrackt bestand, dus gitignore is geen optie. 53libc-blokken plus eendevOptional→devflip; npm-normalisatie, geen dependency-drift.Blokkerend: run N faalt op de assert, run N+1 aborteert al op
git_pull(git_status_clean). Opgelost in Scrum4Us metapps/web/vercel.json→installCommand: npm ci, wat de lockfile per definitie nooit schrijft. Empirisch bevestigd in een aparte clone: lockfile-sha256fbe82eafa2a47758vóór én na de build.Twee afwijkingen van de beschrijving, bewust
--token. Dat zet hem inargven daarmee in/proc/<pid>/cmdline, leesbaar voor elke lokale gebruiker. De CLI leest de drie variabelen uit de omgeving — geverifieerd metvercel whoamialsops-agent.cmd: [sh, -c, "<vaste string>"]in plaats van drie losse aanroepen:whitelist.jseist een array zonder shell, en dit is de vorm die 21 andere keys al hanteren. Vaste string, geen externe input.Voorwaarde die niet klopte
/srv/scrum4us/env/vercel.envhadVERCEL_PROJECT_ID = <waarde>met spaties rond de=. Docker weigerde het hele bestand; bij shell-sourcing bleven beide variabelen stil leeg. Hersteld vóór deze stap (waarden bewijsbaar ongewijzigd), en het sops-artefact meegecorrigeerd.APPROVED
Geen gekoppeld plan gevonden — beoordeeld op codekwaliteit + product-standaarden.
Findings
Review-notities
deploy/ops-agent/baseline/commands.yml:857voegt de Vercel deploy toe als expliciet gewhitelist ops-agent command, passend bij het gedocumenteerde exec-only command/flow-model.deploy/ops-agent/baseline/commands.yml:876gebruiktVERCEL_TOKENvia environment in plaats van argv; dat voorkomt token-lek via procesargumenten.deploy/ops-agent/baseline/commands.yml:890voegt een checkout-clean guard toe na de build/deploy-stap, wat drift in de baseline-flow detecteerbaar maakt.deploy/ops-agent/baseline/flows/redeploy_scrum4us.yml:125plaatst de Vercel deploy na de bestaande API-gates en abort bij falen, consistent met de beoogde API-voor-UI volgorde.