Gitea (git.semih.ai) is the canonical remote. Coolify pulls from Gitea
and triggers builds via Gitea webhooks. Deployment notifications come
from Coolify's built-in Telegram integration (team-level, configured
2026-05-14).
What used to be done by GH Actions:
- deploy.yml (push main → SSH → PM2 → bare-metal sase.tr)
- sync-dev-to-gitea.yml (mirror github/dev → gitea/dev)
What replaces it:
- Push to gitea/main → Coolify webhook → sparkling-snake (production env, prod-iskelet ready)
- Push to gitea/dev → Coolify webhook → good-gerenuk (staging env, dev.sase.tr)
- Both deploys notified via Coolify → Telegram (chat 7840804807)
qa-gate.yml retained for now (PR test gating); will revisit when Gitea
Actions / Drone are wired or removed if obsolete.
The post-P0 subscription audit listed Sections 4 (trust copy aria-labels),
5 (payment badge SVGs), and 9 (cancel-save dialog width) as outstanding
P1 polish items. All three have shipped to dev:
- Section 4 → FN-294 / 7036b18
- Section 5 → FN-296 / e5201b2
- Section 9 → 1dfeb13 (manual; FN-291/295 attempts both failed/duplicated)
Designer's heartbeat kept reading the stale status table and re-spawning
duplicate tasks (FN-291 → FN-296 → FN-326 chain for Section 5 alone).
Mark them DONE with commit refs and add an explicit "do not create new
tasks" note so heartbeats stop looping on it.
Fusion is allowed to ship to dev.sase.tr (staging) only — the user owns
the dev→main GitHub merge that promotes to production. Heartbeat-created
tasks kept hallucinating prod deploys / monitoring (FN-291 / 315 / 323 /
324 / 311 etc.), and an entire e2e suite targeting live sase.tr was merged
under FN-320 with hardcoded test creds.
Changes:
- Add "Project-wide rule: Fusion ships to dev.sase.tr only" block to all
7 agent personas (ceo/cto/cpo/designer/qa/backend-eng/frontend-eng).
- Add /AGENTS.md at project root as the canonical rule (loaded once
pi-markdown-workflows is reinstalled in the container).
- Remove production-targeted e2e suite under apps/web/e2e/ (auth.setup.ts,
deployment-audit.cjs, p0-subscription-cro.spec.ts, p0-subscription-cro-verify.cjs,
playwright.config.ts, screenshots/).
- Remove docs/product/funnel-monitoring-p0-cro-post-deploy-2026-05.md
(prod-monitoring deliverable, out-of-scope).
- Subscription downgrade-offer dialog: avoid mobile-viewport overflow by
capping width at calc(100vw - 2rem) below sm breakpoint
(formerly attempted in failed/duplicate FN-291/295).