Part of PAR-357. Rewritten 2026-10-18 after Rían asked to move away from big-bang "omega" releases. Design: PR #34, stories "Deployments" and "Project + milestones".
Today a "release" is a frozen snapshot of one develop→main PR (V15__releases.sql: release + release_issue, frozen on merge). That models big releases cut by a person. The real flow is many small PRs merging continuously. Each one previews on development, and a merge to main deploys to production through Argo/Image Updater, often carrying several PRs at once.
Deployment: an automatic record of code reaching an environment.
environment (development / production; configurable per project)sha, deployed_at, source (Argo, GitHub Actions, manual), state (live / superseded / rolled back / preview)[DEPLOY] commits); production deploys correspond to merges to main.Milestone: a deliverable inside a project, e.g. "Sales tax v2".
Backend
deployment, deployment_pr and milestone (+ issue.milestone_id).deployment / deployment_status webhooks, and/or an Argo CD notification webhook. Fall back to treating "push to main" as a production deploy when there's no deploy signal.release rows to milestones (shipped) plus historical deployments, then drop the release tables and ReleaseMcpTools. Add MCP tools for deployments and milestones.UI
The deployments screen is merged into rebuild (#68).
What's in:
Still open:
Polish items are tracked in PAR-444.
PR: https://github.com/ParadauxIO/taskl.ie/pull/68 (Deployments screen UI). Gaps: milestone tag per PR in the feed and the issue page's "Live since deploy" line need small backend reads and are left out; settings card stays on the page because PAR-384 has not merged.