|
1 | | -# PR_26175_ALFA_047-theme-v2-svg-icon-registry |
| 1 | +# PR_26177_OWNER_050-environment-governance-model |
2 | 2 |
|
3 | 3 | ## Purpose |
4 | | -Create a shared Theme V2 SVG icon asset registry and authoritative validation specification so toolbox and platform UI can use approved standalone SVG files from one repo-owned source instead of page-local SVG, ad hoc CSS drawings, Font Awesome glyphs, conversation screenshots, vague row references, CSS-only generation, or a JS-only registry. |
| 4 | + |
| 5 | +Establish the official Game Foundry Studio environment governance model and align the active configuration example comments/placeholders with that model. |
5 | 6 |
|
6 | 7 | ## Source Of Truth |
7 | | -This `BUILD_PR.md` is the source of truth for `PR_26175_ALFA_047-theme-v2-svg-icon-registry`. |
| 8 | + |
| 9 | +This `BUILD_PR.md` and the user request are the source of truth for `PR_26177_OWNER_050-environment-governance-model`. |
8 | 10 |
|
9 | 11 | ## Exact Scope |
10 | | -- Remove the incorrect JS-only icon registry implementation from the ALFA_047 delta. |
11 | | -- Use the user-authored SVG files already present under `assets/theme-v2/svg/` as the authoritative source. |
12 | | -- Do not regenerate, redesign, simplify, optimize, or redraw any SVG icon artwork in this PR. |
13 | | -- Required SVG files: |
14 | | - - `gfs-chevron-left.svg` |
15 | | - - `gfs-chevron-right.svg` |
16 | | - - `gfs-chevron-up.svg` |
17 | | - - `gfs-chevron-down.svg` |
18 | | - - `gfs-add.svg` |
19 | | - - `gfs-subtract.svg` |
20 | | - - `gfs-trash.svg` |
21 | | - - `gfs-close.svg` |
22 | | - - `gfs-warning.svg` |
23 | | - - `gfs-error.svg` |
24 | | - - `gfs-success.svg` |
25 | | - - `gfs-info.svg` |
26 | | - - `gfs-fullscreen.svg` |
27 | | - - `gfs-exit-fullscreen.svg` |
28 | | - - `gfs-menu.svg` |
29 | | - - `gfs-search.svg` |
30 | | - - `gfs-settings.svg` |
31 | | -- Validate each required SVG is well-formed XML. |
32 | | -- Validate each SVG uses `viewBox="0 0 24 24"`, `fill="none"`, `stroke="currentColor"`, `stroke-linecap="round"`, and `stroke-linejoin="round"`. |
33 | | -- Do not create `expand` or `collapse` icon naming. |
34 | | -- Do not create `delete` icon naming. |
35 | | -- Do not replace the standalone SVG assets with a JS-only icon registry. |
36 | | -- Do not replace the standalone SVG assets with CSS-only icon generation. |
37 | | -- Create `docs_build/design/theme-v2-icons/theme-v2-icon-style-guide.md` as the authoritative specification for all future Theme V2 SVG icons. |
38 | | -- Create or update `assets/theme-v2/svg/README.md` as the registry documentation for the authoritative SVG asset pack. |
39 | | -- Document the approved validation rules and the no-regeneration/no-redesign policy. |
40 | | -- If any required SVG is missing, report validation failure instead of generating a replacement. |
41 | | -- Do not convert existing UI controls in this PR. |
| 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. |
| 27 | +- Create required Codex reports under `docs_build/dev/reports/`. |
| 28 | +- Create repo-structured delta ZIP under `tmp/`. |
42 | 29 |
|
43 | 30 | ## Exact Targets |
| 31 | + |
44 | 32 | - `docs_build/dev/BUILD_PR.md` |
45 | | -- `assets/theme-v2/svg/gfs-chevron-left.svg` |
46 | | -- `assets/theme-v2/svg/gfs-chevron-right.svg` |
47 | | -- `assets/theme-v2/svg/gfs-chevron-up.svg` |
48 | | -- `assets/theme-v2/svg/gfs-chevron-down.svg` |
49 | | -- `assets/theme-v2/svg/gfs-add.svg` |
50 | | -- `assets/theme-v2/svg/gfs-subtract.svg` |
51 | | -- `assets/theme-v2/svg/gfs-trash.svg` |
52 | | -- `assets/theme-v2/svg/gfs-close.svg` |
53 | | -- `assets/theme-v2/svg/gfs-warning.svg` |
54 | | -- `assets/theme-v2/svg/gfs-error.svg` |
55 | | -- `assets/theme-v2/svg/gfs-success.svg` |
56 | | -- `assets/theme-v2/svg/gfs-info.svg` |
57 | | -- `assets/theme-v2/svg/gfs-fullscreen.svg` |
58 | | -- `assets/theme-v2/svg/gfs-exit-fullscreen.svg` |
59 | | -- `assets/theme-v2/svg/gfs-menu.svg` |
60 | | -- `assets/theme-v2/svg/gfs-search.svg` |
61 | | -- `assets/theme-v2/svg/gfs-settings.svg` |
62 | | -- `assets/theme-v2/svg/README.md` |
63 | | -- `docs_build/design/theme-v2-icons/theme-v2-icon-style-guide.md` |
64 | | -- `tests/playwright/tools/ThemeV2SvgIconRegistry.spec.mjs` |
65 | | -- `docs_build/dev/reports/PR_26175_ALFA_047-theme-v2-svg-icon-registry_report.md` |
66 | | -- `docs_build/dev/reports/PR_26175_ALFA_047-theme-v2-svg-icon-registry_validation-lane.md` |
67 | | -- `docs_build/dev/reports/PR_26175_ALFA_047-theme-v2-svg-icon-registry_requirements-checklist.md` |
68 | | -- `docs_build/dev/reports/PR_26175_ALFA_047-theme-v2-svg-icon-registry_manual-validation-notes.md` |
| 33 | +- `docs_build/dev/PROJECT_INSTRUCTIONS.md` |
| 34 | +- `docs_build/dev/ProjectInstructions/PROJECT_INSTRUCTIONS.md` |
| 35 | +- `docs_build/dev/ProjectInstructions/README.txt` |
| 36 | +- `docs_build/dev/ProjectInstructions/addendums/environment_governance_model.md` |
| 37 | +- `docs_build/dev/ProjectInstructions/addendums/postgres_only.md` |
| 38 | +- `docs_build/dev/ProjectInstructions/addendums/release_gate.md` |
| 39 | +- `docs_build/dev/admin-notes/index.txt` |
| 40 | +- `.env.example` |
| 41 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model.md` |
| 42 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_branch-validation.md` |
| 43 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_requirement-checklist.md` |
| 44 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_validation-lane.md` |
| 45 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_manual-validation-notes.md` |
| 46 | +- `docs_build/dev/reports/PR_26177_OWNER_050-environment-governance-model_instruction-compliance-checklist.md` |
69 | 47 | - `docs_build/dev/reports/codex_review.diff` |
70 | 48 | - `docs_build/dev/reports/codex_changed_files.txt` |
71 | 49 |
|
72 | | -## Evidence Sources |
73 | | -- `docs_build/pr/PLAN_PR_26175_ALFA_047-theme-v2-svg-icon-registry.md` |
74 | | -- `assets/theme-v2/images/gfs-chevron-down.svg` |
75 | | -- `assets/theme-v2/images/gfs-chevron-up.svg` |
76 | | - |
77 | 50 | ## Out Of Scope |
78 | | -- No chevron conversion. |
79 | | -- No status/action icon conversion. |
80 | | -- No layout utility icon conversion. |
81 | | -- No JS-only icon registry. |
82 | | -- No CSS-only icon generation. |
83 | | -- No Theme V2 CSS changes. |
84 | | -- No runtime UI conversion. |
85 | | -- No accordion conversion. |
86 | | -- No Font Awesome removal. |
87 | | -- No broad visual redesign. |
88 | | -- No page-local CSS. |
89 | | -- No inline styles. |
90 | | -- No style blocks. |
91 | | -- No browser-owned product data as source of truth. |
92 | | -- No API/service/repository contract changes. |
| 51 | + |
| 52 | +- No runtime code changes. |
| 53 | +- No UI changes. |
93 | 54 | - No engine core changes. |
94 | 55 | - No `start_of_day` folder changes. |
| 56 | +- No `.env`, `.env.dev`, `.env.ist`, `.env.uat`, or `.env.prd` secret/value edits. |
| 57 | +- No API implementation changes. |
| 58 | +- No storage implementation changes. |
| 59 | +- No database migration or DDL changes. |
95 | 60 |
|
96 | 61 | ## Validation |
| 62 | + |
97 | 63 | Run exactly: |
98 | 64 |
|
99 | 65 | ```powershell |
100 | | -npx playwright test tests/playwright/tools/ThemeV2SvgIconRegistry.spec.mjs --workers=1 |
101 | | -rg -n "<[s]tyle|[s]tyle=" docs_build/design/theme-v2-icons/theme-v2-icon-style-guide.md tests/playwright/tools/ThemeV2SvgIconRegistry.spec.mjs |
| 66 | +git status |
| 67 | +git diff --check |
102 | 68 | ``` |
103 | 69 |
|
104 | 70 | ## Artifact |
| 71 | + |
105 | 72 | Create repo-structured delta ZIP: |
106 | 73 |
|
107 | 74 | ```text |
108 | | -tmp/PR_26175_ALFA_047-theme-v2-svg-icon-registry_delta.zip |
| 75 | +tmp/PR_26177_OWNER_050-environment-governance-model_delta.zip |
109 | 76 | ``` |
0 commit comments