chore: strip dead greg.pages.dev / greg-etm.pages.dev origin refs#570
Conversation
Soft cleanup (the CF Pages project intentionally stays named `greg`): drop the dead pre-launch greg-etm.pages.dev domain and the non-canonical greg.pages.dev project URL from every live Origin allow-list, forcing swap.ophis.fi as the only swap/affiliate browser origin. The greg-etm cushion expired 2026-06-10. - functions/api/intent.ts, functions/api/bungee: drop the greg-etm origin and empty the .pages.dev preview-suffix list (no .pages.dev origin is allowlisted) - apps/rebate-indexer/src/api.ts: drop greg.pages.dev from the CORS allow-list - .github/workflows/cloudflare-deploy.yml: drop greg-etm from DOMAIN_REGEX - docs: fix the user-facing Intent API origin table and the current-state infra / Safe-submission / divergence notes to swap.ophis.fi. The greg.pages.dev project URL stays in the infra runbook as the real deploy target; dated historical logs (validation tables, plans, the 2026-05-13 audit) keep their greg-etm references as accurate point-in-time records. Structural greg that stays: the CF Pages project name and the on-chain appCode 'greg' (tolerated for pre-rebrand order indexing). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4d6dd86824
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - `ophis.fi` → `CNAME` to `greg.pages.dev` (CF will flatten the apex | ||
| CNAME automatically since the zone lives on CF). | ||
| - `www.ophis.fi` → `CNAME` to `greg-etm.pages.dev`. | ||
| - `www.ophis.fi` → `CNAME` to `greg.pages.dev`. |
There was a problem hiding this comment.
Point the DNS records at the same Pages project
This runbook still adds the custom domains to /pages/projects/greg-etm/domains earlier in Phase 3, but these updated DNS records now point apex/www at greg.pages.dev. Following the snippet would configure TLS/custom-domain ownership on one Pages project while sending traffic to another, so the domain can remain pending or serve the wrong project. Please update the Phase 3 project slug/text to greg as well, or keep all records on greg-etm.
Useful? React with 👍 / 👎.
Post-merge Codex P2 on #570. The custom-domain steps still added ophis.fi/ www to Pages project `greg-etm` while the (corrected) CNAME targets point at `greg.pages.dev`. Following the runbook would register TLS/ownership on one project while routing traffic to another, leaving the domain pending or serving the wrong project. The live project is `greg` (cloudflare-deploy.yml uses --project-name=greg), so align the remaining `greg-etm` project-slug references (intro, Phase 3 prose, and the /pages/projects/<slug>/domains API call) to `greg`. Also correct a checklist line that #570's replace_all had collaterally relabeled greg.pages.dev as "legacy" (the legacy domain was greg-etm.pages.dev). The file is now internally consistent: project `greg`, URL greg.pages.dev, custom domains on project `greg`. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ook (#573) Post-merge Codex P2 on #570. The custom-domain steps still added ophis.fi/ www to Pages project `greg-etm` while the (corrected) CNAME targets point at `greg.pages.dev`. Following the runbook would register TLS/ownership on one project while routing traffic to another, leaving the domain pending or serving the wrong project. The live project is `greg` (cloudflare-deploy.yml uses --project-name=greg), so align the remaining `greg-etm` project-slug references (intro, Phase 3 prose, and the /pages/projects/<slug>/domains API call) to `greg`. Also correct a checklist line that #570's replace_all had collaterally relabeled greg.pages.dev as "legacy" (the legacy domain was greg-etm.pages.dev). The file is now internally consistent: project `greg`, URL greg.pages.dev, custom domains on project `greg`. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
What
Soft cleanup of leftover
gregreferences. The CF Pages project intentionally stays namedgreg(that's wheregreg.pages.devcomes from) and the on-chain appCode'greg'stays (needed to index pre-rebrand orders). This PR removes the dead and non-canonical URL refs only.Why
greg-etm.pages.devwas the pre-launch Pages domain; its allow-list cushion expired 2026-06-10.greg.pages.devis the raw CF project URL, non-canonical vsswap.ophis.fi. Forcing the custom domains as the only browser origins is the desired end state.Changes
Live Origin allow-lists (the functional part):
functions/api/intent.ts,functions/api/bungee/[[path]].ts— drop thegreg-etmorigin, empty the.pages.devpreview-suffix list.apps/rebate-indexer/src/api.ts— dropgreg.pages.devfrom the CORS allow-list..github/workflows/cloudflare-deploy.yml— dropgreg-etmfromDOMAIN_REGEX_PRODUCTION.Docs:
apps/docs-ophis/docs/intent-api.md(user-facing) — origin table now lists onlyophis.fi+swap.ophis.fi(also matches the allow-list change).infra/cloudflare/ophis-domains.md,docs/development/safe-app-submission.md,apps/frontend/.ophis-divergences.md— current-state notes corrected toswap.ophis.fi. Thegreg.pages.devproject URL stays in the infra runbook as the real deploy target.Intentionally left
phase-2-6-validation.md, plans, the2026-05-13audit) keep theirgreg-etmrefs as accurate point-in-time records.gregand on-chain appCode'greg'(structural).Verify
tsc --noEmit✓, mocked CORS unit tests pass (int tests need a Postgres container, skipped here).greg.pages.dev/greg-etmleft in live code; user-facing docs em-dash count 0.🤖 Generated with Claude Code