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).
Production build was failing because tsc compiled src/**/__tests__/*.test.tsx files
which reference vitest globals (test/expect/beforeEach) and react-router-dom — neither
imported nor in production deps. Resulted in 8 TS errors at `pnpm build` step inside
Coolify's Docker stage, blocking dev.sase.tr deploys since 2026-05-11 09:12.
Tests still run via vitest (its include pattern is unchanged).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Wire the autonomous engineering pipeline to operate on dev branch with
no human deploy gate. Pushes to git.semih.ai/root/sase.tr.git dev
trigger the Coolify webhook that redeploys https://dev.sase.tr — the
operator pulls signal from the live URL instead of approving every
merge.
Production (main → sase.tr) stays human-driven: agents never push to
main directly; promotion is an explicit operator decision.
Critical-path policy on dev relaxes for auth/payments/billing/
subscription so the loop can ship fixes there with a regression test;
migrations + dep/config changes still need human ack on dev because
they desync persisted/shared state.
Adds team-charter.md (dev/main topology, severity matrix, routing
rules, council protocol, loop detection) and MEMORY.md updates that
agents consult on every triage. Also gitignore'd fusion's runtime
SQLite/task state so .fusion/agents and .fusion/memory remain the
only authored docs in the tree.