feat(web): DEPLOY-job — spec/plan, migraties, seed, actions, UI (M17, PBI-124) #98
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/gallant-kepler-c118ed"
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?
Fases 0-doc + 1 + 2 van M17 (PBI-124, auto-deploy op scrum4me-server na PR-merge):
Docs: spec
docs/superpowers/specs/2026-07-03-deploy-job-design.md(rev 5, 4× codex-GO) + plandocs/plans/M17-deploy-job.md(v3 approved: codex r1-NO-GO→r3-GO + multi-model panel).DB (fase 1): submodule-bump naar shared a84cc3a; migratie 1 (enum-add); migratie 2 (auto_deploy/deploy_flow/resolved_at + partial unique dedup-index + DEPLOY-tak in
claude_jobs_kind_id_consistency— zonder die tak falen SYSTEM-inserts op 23514, bestaande takken byte-bewezen identiek); seed-rij DEPLOY.Actions/UI (fase 2): updateAutoDeploy/updateDeployFlow (invariant beide richtingen), deployNowAction (product-lock → config-read → active-guard → create, mutatie-bewezen volgorde; rate-limit-config), markDeployResolvedAction (lift-pad 2, re-guarded updateMany), DEPLOY uitgesloten van restart (acceptatiecriterium §6), deploy-sectie op product-instellingen + Deploy nu-knop met uitrol-gate, DEPLOY-labels in alle kind-maps (+ provisorische IDEA_CHAT-entries — klein conflict met de idea-chat-web-stroom geaccepteerd), admin markeer-afgehandeld-knop.
Verify volledig groen: 0 lint-fouten, tsc schoon, 192 testbestanden / 1553 tests. Alle taken dubbel gereviewd (spec + kwaliteit) met mutatie-bewijzen in de story-logs (ST-1457/ST-1458).
Migratie-uitrol na merge: server via web-deploy (designated migrator) + eenmalig
npm run seed; Neon handmatig via NEON_URL (fase 4, T-1325).Zuster-PR: scrum4me-mcp #62 (fase 3) — beide nodig vóór de server-rollout.
🤖 Generated with Claude Code
Handmatige DEPLOY-enqueue ("Deploy nu", spec §5): session/demo/zod-guards, per-user rate-limit (nieuwe 'deploy-now' CONFIGS-entry), en één transactie die eerst een pg_advisory_xact_lock op (deploy, productId) neemt vóórdat deploy_flow gelezen en de active-job-guard (DEPLOY, ACTIVE_JOB_STATUSES) gecheckt wordt (spec §6, acceptatiecriterium — config-read binnen de lock). Bewust geen orchestration_key/requested_*-snapshot; de sha-guard dekt handmatige dubbelen (fase-5-lijn). Na de tx: pg_notify claude_job_enqueued + revalidatePath (settings + /jobs). 4 tests (TDD): happy-path met mock-order-assert ['lock','findProduct','findJob','create'], active-job-guard-weigering, geen-deploy_flow-weigering (lock vóór de weigering), demo-weigering.