Owner actions
These are the remaining account-level steps that the website cannot safely do by itself. They do not ask contributors for AI keys or private files; they only finish production storage and canonical domain readiness.
- Canonical
- https://www.m23isgalois.com
- Apex
- https://m23isgalois.com
Generated 6/4/2026, 12:48:27 PM
Needed before real community contribution records are durable.
Needed before m23isgalois.com redirects safely to www.
npm run m23:prod:strict
/api/m23/owner-actions
Connect durable production storage
Production is still using demo storage. Real community submissions should wait for Blob or Postgres.
The public queue can demonstrate the workflow without durable storage, but real contribution records must survive redeploys and server restarts.
Do this
- 1Choose the simplest durable backend
For the MVP, Vercel Blob is enough. Use Postgres later if you need heavier concurrent review workflows.
- 2Create or connect Vercel Blob
Create a private production Blob store from the Vercel dashboard, or use the Vercel CLI from this repository.
npx vercel blob create-store m23-galois-state --access private --environment production - 3Confirm production env
Vercel should set BLOB_READ_WRITE_TOKEN for production. If you choose Postgres instead, set DATABASE_URL for production.
- 4Redeploy production
Deploy again so the production site reads the new storage env.
npx vercel deploy --prod --yes
Then verify
- 1Check storage status API
The progress API should stop saying Demo storage and should report durable storage.
curl -fsS https://www.m23isgalois.com/api/m23/progress | grep -i storage - 2Run strict production monitor
Strict mode should no longer fail the durable-storage gate once storage is connected.
npm run m23:prod:strict
Finish apex HTTPS and redirect
The www site works, but the apex domain is not assigned to this Vercel project/team.
Visitors should have one safe canonical URL. Until apex HTTPS is complete, use https://www.m23isgalois.com as the public link.
Do this
- 1Remove the old apex binding
Vercel CLI reports that this team cannot access m23isgalois.com. In the Vercel account that currently owns the apex binding, remove m23isgalois.com or move it into shaowuzs-projects.
- 2Keep www pointed at Vercel
In Porkbun, keep the www CNAME that Vercel asks for. Do not use URL forwarding for the production site.
- 3Set the apex record
In Porkbun DNS, set the apex A record to Vercel's IP unless Vercel shows a different target.
A @ 76.76.21.21 - 4Add every _vercel TXT value
If Vercel says the domain is linked to another account, copy each TXT value it shows into Porkbun at _vercel.m23isgalois.com. It may ask for separate values for apex and www.
- 5Refresh Vercel Domains
Open Vercel project settings, refresh both m23isgalois.com and www.m23isgalois.com until verification and certificate generation finish.
- 6Let the project redirect apex to www
The current project already has a host-based redirect from m23isgalois.com to https://www.m23isgalois.com. It will take effect once the apex domain reaches this deployment.
Then verify
- 1Check apex redirect
The apex should eventually redirect to the canonical www URL with a valid HTTPS certificate.
curl -I https://m23isgalois.com - 2Run production monitor
The non-strict monitor should stop warning about apex, and strict mode should pass once storage is also durable.
npm run m23:prod - 3Confirm Vercel can access apex
This command should stop returning the current no-access error once the domain is in the correct Vercel team.
npx vercel alias set <latest-deployment>.vercel.app m23isgalois.com