The deploy was green, but the theme was still stale

During this Railway staging deployment, the health endpoint and deployment status were both green, but the site was still serving an older theme. The new code was present; the missing step was an explicit theme bootstrap. After applying it and checking again, the governance strip and topic list finally appeared in the first viewport.

That small failure sharpened one release rule for us: a successful deploy only proves the container can run. It does not prove the product experience changed. From now on, each release needs separate checks for:

  • /srv/status and background jobs;
  • config and theme convergence;
  • an ordinary user’s login, narrow-scope authorization, and bilingual publish path;
  • the actual first viewport.

This is still a temporary Railway staging site, not a public launch. Server-side AI, automatic posting, automatic replies, and automatic penalties remain off. Ad governance is still cheap rules first, followed by a human decision. The loop under test is simpler: the user’s local AI prepares English and Chinese once, and nothing is published until the user confirms the exact preview.