Skip to content

Commit c0f6e44

Browse files
committed
Establish theme v2 ownership and design system gap governance for GameFoundryStudio - PR_26152_022-theme-v2-ownership-rules
1 parent 0da5561 commit c0f6e44

2 files changed

Lines changed: 98 additions & 0 deletions

File tree

docs/dev/PROJECT_INSTRUCTIONS.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,46 @@ Allowed:
179179
- Removing deprecated CSS.
180180
- Consolidating duplicate CSS into `theme/v2`.
181181

182+
### Theme V2 File Ownership
183+
184+
All reusable styling must live under:
185+
186+
`GameFoundryStudio/assets/css/theme/v2/`
187+
188+
Approved styling surfaces:
189+
- `theme.css`
190+
- `colors.css`
191+
- `controls.css`
192+
- `typography.css`
193+
- `spacing.css`
194+
- `buttons.css`
195+
- `forms.css`
196+
- `panels.css`
197+
- `accordion.css`
198+
- `status.css`
199+
- `tables.css`
200+
- `dialogs.css`
201+
- `layout.css`
202+
203+
Rules:
204+
- Pages consume `theme/v2`.
205+
- Tools consume `theme/v2`.
206+
- Pages do not define styling.
207+
- Tools do not define styling.
208+
- New CSS files outside `theme/v2` are prohibited.
209+
- Styling requests should be implemented as reusable `theme/v2` patterns.
210+
- Missing patterns must be documented as design-system gaps.
211+
- No page-specific styling unless approved and promoted into `theme/v2`.
212+
213+
### Design System Gap Process
214+
215+
When a style is missing:
216+
1. Document the gap.
217+
2. Identify affected pages/tools.
218+
3. Add reusable `theme/v2` pattern.
219+
4. Reuse everywhere.
220+
5. Do not implement locally.
221+
182222
Exception documentation is required for any approved deviation and must include:
183223
- File.
184224
- Reason.
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# Theme V2 Ownership Validation
2+
3+
Task: PR_26152_022-theme-v2-ownership-rules
4+
5+
Scope:
6+
- GameFoundryStudio governance documentation only.
7+
- No runtime changes.
8+
- No page migrations.
9+
- No CSS, HTML, JavaScript, tool, game, or sample changes.
10+
11+
Changed files:
12+
- `docs/dev/PROJECT_INSTRUCTIONS.md`
13+
- `docs/dev/reports/theme_v2_ownership_validation.md`
14+
- `docs/dev/reports/codex_changed_files.txt`
15+
- `docs/dev/reports/codex_review.diff`
16+
- `docs/dev/commit_comment.txt`
17+
18+
Validation performed:
19+
- Ran `git diff --check -- docs/dev/PROJECT_INSTRUCTIONS.md`.
20+
- Result: Passed.
21+
- Note: Git reported a line-ending normalization warning only.
22+
- Ran targeted documentation validation for `docs/dev/PROJECT_INSTRUCTIONS.md`.
23+
- Verified `Theme V2 File Ownership` exists exactly once.
24+
- Verified the owned styling root is documented as `GameFoundryStudio/assets/css/theme/v2/`.
25+
- Verified approved styling surfaces are listed:
26+
- `theme.css`
27+
- `colors.css`
28+
- `controls.css`
29+
- `typography.css`
30+
- `spacing.css`
31+
- `buttons.css`
32+
- `forms.css`
33+
- `panels.css`
34+
- `accordion.css`
35+
- `status.css`
36+
- `tables.css`
37+
- `dialogs.css`
38+
- `layout.css`
39+
- Verified ownership rules state that pages and tools consume `theme/v2` and do not define styling.
40+
- Verified new CSS files outside `theme/v2` are prohibited.
41+
- Verified styling requests must become reusable `theme/v2` patterns.
42+
- Verified missing patterns must be documented as design-system gaps.
43+
- Verified no page-specific styling is allowed unless approved and promoted into `theme/v2`.
44+
- Verified `Design System Gap Process` exists exactly once.
45+
- Verified the five-step gap process exists:
46+
1. Document the gap.
47+
2. Identify affected pages/tools.
48+
3. Add reusable `theme/v2` pattern.
49+
4. Reuse everywhere.
50+
5. Do not implement locally.
51+
52+
Explicitly not run:
53+
- No repo-wide tests.
54+
- No tests outside GameFoundryStudio.
55+
- No full samples smoke test.
56+
- No runtime tests because this PR is governance-only documentation.
57+
58+
Result: Passed.

0 commit comments

Comments
 (0)