Ingest Bitbucket Pipelines deployments into Production QA
## Gap
Epic 12247 item 1 asked for deploy ingestion on GitHub "and each supported forge's equivalent". Only GitHub shipped (architecture AC-6 deferred the others to Finish). `apps/api/app/triggers.py:16-45` has no Bitbucket source kind and `apps/api/app/production_qa/deployments.py` reads GitHub events only, so a Bitbucket project gets no Deployments rows, `deployed` edge or `deploy_failed` incident.
## Fix
Add a record-only `bitbucket` deploy recorder mapping Bitbucket Cloud webhook events (`repo:commit_status_updated` / pipeline and deployment events; signature `X-Hub-Signature` HMAC-SHA256 with the webhook secret — confirm event names and signing from Atlassian's docs, never memory) onto the same `deployments` rows, range/PR mapping, `deployed` edges and `deploy_failed` incidents the GitHub `reconcile` path writes. Connect deploys (Project › Production QA) gets a Bitbucket variant. No new table.
## Acceptance
- A successful production deployment event → one Deployments row with range and merged PRs' tasks — fixture test with documented samples.
- A failed production step → one `deploy_failed` incident; repeat updates it — test.
- Bad/missing signature → 401, nothing written — test.
- Gate OFF: rows written, nothing filed — test.
- Connect deploys UI checked at 448 px and desktop.
Out of scope: GitLab and Azure DevOps (own tasks); the GitHub path; filing logic; any scoring.
Done means:
- Tests above green; UI screenshots in the PR.
- Required checks: ./dc check quick, changed-area tests, merge lane full gate.
Outcome
Activity
- Ready
- Runner started