You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Establish the official Game Foundry Studio environment governance model and align the active configuration example comments/placeholders with that model.
5
+
Define the official Game Foundry Studio environment configuration standards that build on the OWNER_050 environment model.
6
6
7
7
## Source Of Truth
8
8
9
-
This `BUILD_PR.md` and the user request are the source of truth for `PR_26177_OWNER_050-environment-governance-model`.
9
+
This `BUILD_PR.md` and the user request are the source of truth for `PR_26177_OWNER_051-environment-configuration-standards`.
10
10
11
11
## Exact Scope
12
12
13
-
- Documentation/governance only unless `.env.example` comment or placeholder updates are required.
14
-
- Establish `Local (VS Code) -> DEV -> IST -> UAT -> PROD` as the official environment model.
15
-
- Define the environment invariance rule: the deployable artifact is identical across all environments; only `.env` values and environment-managed secret values differ.
16
-
- Define one shared API/service contract across all environments.
17
-
- Define Supabase Auth, Supabase Postgres, and Cloudflare R2 as required for every environment.
18
-
- Define R2 top-level prefixes:
19
-
-`/local/`
20
-
-`/dev/`
21
-
-`/ist/`
22
-
-`/uat/`
23
-
-`/prod/`
24
-
- Define that all environments receive approved guest seed data for all tools.
25
-
- State SQLite is deprecated/retired and is not an active runtime database.
26
-
- Review `.env.example` and update comments/placeholders to match the official model.
Derived R2 paths for projects, backups, exports, or future storage lanes must stay under the matching top-level prefix for the active environment.
521
522
522
523
The following files are copy-source files only:
524
+
-`.env.local`
523
525
-`.env.dev`
524
526
-`.env.ist`
525
527
-`.env.uat`
526
-
-`.env.prd` is the legacy copy-source filename for PROD values; new environment governance uses the `PROD` environment name.
528
+
-`.env.prod`
529
+
530
+
`.env.prd` is legacy technical debt only. New environment governance uses `.env.prod` and the `PROD` environment name.
531
+
532
+
Allowed `GAMEFOUNDRY_ENVIRONMENT` values:
533
+
-`local`
534
+
-`dev`
535
+
-`ist`
536
+
-`uat`
537
+
-`prod`
538
+
539
+
`GAMEFOUNDRY_ENVIRONMENT_LABEL` is display-only and must not drive runtime behavior, API/service selection, database selection, storage selection, or feature behavior.
527
540
528
541
Valid environment stages are:
529
542
-`Local (VS Code)`
@@ -552,6 +565,16 @@ Do not introduce runtime parameters such as:
552
565
553
566
Application code, runtime code, API/service code, and DB runtime scripts must not branch behavior by deployment target name.
554
567
568
+
Host/domain configuration:
569
+
- Local (VS Code) uses `127.0.0.1` hostnames.
570
+
- DEV, IST, UAT, and PROD use configured `*.gamefoundrystudio.com` hostnames.
571
+
- Host/domain differences are configuration values only and must not create separate deployable artifacts or environment-specific code.
572
+
573
+
Feature flag governance:
574
+
- Feature flags must not create permanent environment-specific behavior.
575
+
- Feature flags may be used only for staged rollout, testing, or emergency mitigation.
576
+
- Feature flags must be removed, promoted to normal behavior, or documented as active temporary controls when the rollout, test, or mitigation ends.
577
+
555
578
## RUNTIME SCRIPT NAMING GOVERNANCE
556
579
557
580
Active runtime script names should describe capability rather than vendor/provider.
Define the official environment configuration standards that build on the OWNER_050 environment model.
9
+
10
+
This addendum is governance/documentation only. It does not change runtime behavior, API implementation, storage implementation, database DDL, or secret values.
11
+
12
+
## Source Model
13
+
14
+
This standard builds on:
15
+
16
+
```text
17
+
Local (VS Code) -> DEV -> IST -> UAT -> PROD
18
+
```
19
+
20
+
The deployable artifact must remain identical across all environments.
21
+
22
+
Only `.env` values and environment-managed secret values may differ by environment.
23
+
24
+
Deployable artifacts must not contain environment-specific application code, runtime code, API/service code, database code, storage code, or feature behavior.
25
+
26
+
## Official Environment Files
27
+
28
+
Official environment copy-source file names:
29
+
30
+
-`.env.local`
31
+
-`.env.dev`
32
+
-`.env.ist`
33
+
-`.env.uat`
34
+
-`.env.prod`
35
+
36
+
Runtime startup still loads `.env` only. The official flow is to copy the selected source file to `.env` before validation/startup.
37
+
38
+
`.env.prd` is legacy technical debt only. Do not introduce new references to `.env.prd` except when documenting migration or historical compatibility.
39
+
40
+
## Environment Identity
41
+
42
+
Allowed `GAMEFOUNDRY_ENVIRONMENT` values:
43
+
44
+
-`local`
45
+
-`dev`
46
+
-`ist`
47
+
-`uat`
48
+
-`prod`
49
+
50
+
`GAMEFOUNDRY_ENVIRONMENT` identifies the active configuration lane. It must not cause application, runtime, API/service, database, storage, or feature behavior forks.
51
+
52
+
`GAMEFOUNDRY_ENVIRONMENT_LABEL` is display-only. It may be used for visual labels and diagnostics, but must not drive runtime behavior, API/service selection, database selection, storage selection, or feature behavior.
53
+
54
+
## Host And Domain Configuration
55
+
56
+
Local (VS Code) uses `127.0.0.1` hostnames.
57
+
58
+
DEV, IST, UAT, and PROD use configured `*.gamefoundrystudio.com` hostnames.
59
+
60
+
Host/domain differences are configuration values only. They must not create separate deployable artifacts or environment-specific code.
61
+
62
+
## R2 Prefix Configuration
63
+
64
+
Required Cloudflare R2 top-level prefixes:
65
+
66
+
- Local (VS Code): `/local/`
67
+
- DEV: `/dev/`
68
+
- IST: `/ist/`
69
+
- UAT: `/uat/`
70
+
- PROD: `/prod/`
71
+
72
+
R2 project, backup, export, import, or future storage paths must stay under the matching environment prefix.
73
+
74
+
## API/Service Contract Configuration
75
+
76
+
One shared API/service contract is required across Local (VS Code), DEV, IST, UAT, and PROD.
77
+
78
+
Rules:
79
+
80
+
- API URLs may differ by `.env` only.
81
+
- Do not split Local API and Public API contracts.
82
+
- Do not create environment-specific API/service contracts.
83
+
- Browser/UI/runtime code must use the same API/service contract shape in every environment.
84
+
85
+
## Feature Flag Governance
86
+
87
+
Feature flags must not create permanent environment-specific behavior.
88
+
89
+
Allowed feature flag uses:
90
+
91
+
- staged rollout
92
+
- testing
93
+
- emergency mitigation
94
+
95
+
Feature flags must be removed, promoted to normal behavior, or documented as active temporary controls when the rollout, test, or mitigation ends.
96
+
97
+
Feature flags must not become a substitute for the environment invariance rule.
Copy file name to clipboardExpand all lines: docs_build/dev/ProjectInstructions/addendums/environment_governance_model.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -112,3 +112,7 @@ Rules:
112
112
## Scope Boundary
113
113
114
114
This governance addendum defines documentation and configuration contract rules only. It does not change runtime code, API implementation code, storage implementation code, database DDL, or secret values.
115
+
116
+
## Related Configuration Standard
117
+
118
+
`docs_build/dev/ProjectInstructions/addendums/environment_configuration_standards.md` defines the official `.env` file names, allowed `GAMEFOUNDRY_ENVIRONMENT` values, display-only environment label rule, host/domain configuration, API URL configuration, and feature flag governance.
0 commit comments