PR_26177_OWNER_050-environment-governance-model#202
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3ef2f910c2
ℹ️ 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".
| # R2 object prefixes are created by object upload; no manual folder creation is required. | ||
| GAMEFOUNDRY_DB_BACKUP_STORAGE_PROVIDER=r2 | ||
| GAMEFOUNDRY_DB_BACKUP_PREFIX=/dev/backups/postgres/ | ||
| GAMEFOUNDRY_DB_BACKUP_PREFIX=/local/backups/postgres/ |
There was a problem hiding this comment.
Keep backup prefix accepted by validation
If a Local .env is created from this example and the R2 credentials are filled in, backup storage will still be rejected: loadBackupStorageConfig only accepts /dev/backups/postgres/, /ist/backups/postgres/, /uat/backups/postgres/, and /prd/backups/postgres/ in src/dev-runtime/storage/storage-config.mjs:27-32, then returns a validation error for anything else. The new /local/backups/postgres/ default therefore leaves Create Backup/config checks unavailable for the documented Local setup unless the runtime allow-list is updated in the same change.
Useful? React with 👍 / 👎.
| GAMEFOUNDRY_STORAGE_SECRET_ACCESS_KEY= | ||
| GAMEFOUNDRY_STORAGE_BUCKET= | ||
| GAMEFOUNDRY_STORAGE_PROJECTS_PREFIX= | ||
| GAMEFOUNDRY_STORAGE_PROJECTS_PREFIX=/local/projects/ |
There was a problem hiding this comment.
Keep local asset prefix accepted by storage validation
When a developer copies this .env.example for Local and supplies the R2 connection values, project asset storage is reported invalid because loadStorageConfig validates GAMEFOUNDRY_STORAGE_PROJECTS_PREFIX against STORAGE_PROJECTS_ALLOWED_PREFIXES, which currently contains only /dev/projects/, /ist/projects/, /uat/projects/, and /prod/projects/ in src/dev-runtime/storage/storage-config.mjs:11-18. This new /local/projects/ default is not accepted, so the documented Local configuration cannot enable asset storage without a matching runtime allow-list update.
Useful? React with 👍 / 👎.
|
|
||
| ## Guest Seed Data | ||
|
|
||
| All environments receive approved guest seed data for all tools. |
There was a problem hiding this comment.
Align guest seed rule with an executable lane
For IST/UAT/PROD this new requirement is not currently satisfiable by the checked-in seed workflow: scripts/apply-database-seed.mjs hard-refuses any database name other than gamefoundry_dev, and docs_build/database/README.md/runbook.md document only a DEV seed lane with later approval required for non-DEV. As written, operators have an approved all-environments seed requirement but no approved command path to apply it outside DEV, so either add/scope that lane or keep this rule conditional until it exists.
Useful? React with 👍 / 👎.
| - DEV: `/dev/` | ||
| - IST: `/ist/` | ||
| - UAT: `/uat/` | ||
| - PROD: `/prod/` |
There was a problem hiding this comment.
Update System Health to report the PROD prefix
This establishes /prod/ as the official PROD R2 prefix, but System Health still models production as PRD with storage folder /prd in src/dev-runtime/server/local-api-router.mjs and the static Admin page also displays /prd. Even when /prod/projects/ is configured, the runtime maps it back to the PRD model and reports /prd, so the operator-facing health/reference map will contradict the new governance unless those mappings are updated with the rule.
Useful? React with 👍 / 👎.
Summary
Local (VS Code) -> DEV -> IST -> UAT -> PRODas the official environment model..envvalues and environment-managed secret values differ./local/,/dev/,/ist/,/uat/, and/prod/..env.examplecomments/placeholders to use the official model and local R2 prefixes.Confirmations
mainPR_26177_OWNER_050-environment-governance-modelgit diff --check: PASStmp/PR_26177_OWNER_050-environment-governance-model_delta.zipInstruction Compliance
mainbefore branch creation..env.examplecomments/placeholders.start_of_day, migration, DDL, or secret files changed.Validation
git diff --check.Manual Validation Notes
Local (VS Code) -> DEV -> IST -> UAT -> PROD..envvalues and environment-managed secret values differ by environment./local/,/dev/,/ist/,/uat/, and/prod/..env.examplecomments/placeholders align to the official model.Changed Files
.env.exampledocs_build/dev/BUILD_PR.mddocs_build/dev/PROJECT_INSTRUCTIONS.mddocs_build/dev/ProjectInstructions/PROJECT_INSTRUCTIONS.mddocs_build/dev/ProjectInstructions/README.txtdocs_build/dev/ProjectInstructions/addendums/environment_governance_model.mddocs_build/dev/ProjectInstructions/addendums/postgres_only.mddocs_build/dev/ProjectInstructions/addendums/release_gate.mddocs_build/dev/admin-notes/index.txtdocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_branch-validation.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_requirement-checklist.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_validation-lane.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_manual-validation-notes.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_instruction-compliance-checklist.mddocs_build/dev/reports/codex_changed_files.txtdocs_build/dev/reports/codex_review.diffReports Used
docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model.mddocs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_manual-validation-notes.md