Skip to content

Commit 6969d1f

Browse files
committed
Restore Owner Notes page and remove incorrect planned status - PR_26169_027-owner-notes-restoration
1 parent 17d364b commit 6969d1f

11 files changed

Lines changed: 624 additions & 329 deletions

assets/theme-v2/js/gamefoundry-partials.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
"owner-design-system": "owner/design-system.html",
9191
"owner-grouping-colors": "owner/grouping-colors.html",
9292
"owner-memberships": "owner/memberships.html",
93+
"owner-notes": "owner/notes.html",
9394
"owner-site-settings": "owner/site-settings.html",
9495
"owner-themes": "owner/themes.html",
9596
"community-guidelines": "legal/community-guidelines.html",
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# PR_26169_027-owner-notes-restoration Report
2+
3+
## Summary
4+
5+
Restored Notes as an active Owner page without touching the isolated dev-only Admin Notes implementation. The shared Admin/Owner navigation SSoT now routes Owner Notes to `owner/notes.html`, the Owner route resolves under the Owner path, and targeted validation confirms Notes is owner-only and absent from Admin navigation.
6+
7+
## Branch Guard
8+
9+
| Check | Expected | Actual | Status |
10+
| --- | --- | --- | --- |
11+
| Current branch | `main` | `main` | PASS |
12+
| Local branches found | includes `main` | `main` | PASS |
13+
14+
## Requirement Checklist
15+
16+
| Requirement | Evidence | Status |
17+
| --- | --- | --- |
18+
| Restore Notes as an active Owner page | `src/api/admin-owner-navigation.js` now defines Notes with `path: "owner/notes.html"` and `route: "owner-notes"`. | PASS |
19+
| Remove "Planned" label from Notes | Targeted SSoT test asserts `ownerNotes?.planned` is `undefined`; Playwright expects visible label `Notes`. | PASS |
20+
| Wire Notes into Owner navigation SSoT | Owner Notes is sourced from `getOwnerNavigationItems()` in `src/api/admin-owner-navigation.js`. | PASS |
21+
| Verify Notes route exists and resolves | `owner/notes.html` exists; Node route validation and Playwright route validation passed. | PASS |
22+
| Verify Owner-only visibility | Playwright confirms owner seed user sees `main[data-owner-notes]`; non-owner seed user gets `Owner role required`. | PASS |
23+
| Verify Notes is not duplicated in Admin navigation | Node and Playwright assertions confirm Admin navigation does not include Notes. | PASS |
24+
| Verify Notes path is under `owner/` | SSoT and Node test assert `owner/notes.html`. | PASS |
25+
| Fix menu metadata/status to reflect implementation state | Notes changed from disabled/planned to active link metadata. | PASS |
26+
| Do not create a second Admin Notes system | Dev-only Admin Notes files under `src/dev-runtime/admin/` were not touched; `owner/notes.html` links to existing Game Journey notes workflow. | PASS |
27+
| Do not modify unrelated Owner/Admin menu items | Only the Notes SSoT entry changed. | PASS |
28+
29+
## Validation
30+
31+
| Command | Result |
32+
| --- | --- |
33+
| `git branch --show-current` | PASS, `main` |
34+
| `git branch --format='%(refname:short)'` | PASS, `main` |
35+
| `node --check src/api/admin-owner-navigation.js` | PASS |
36+
| `node --check assets/theme-v2/js/gamefoundry-partials.js` | PASS |
37+
| `node --check tests/dev-runtime/ApiMenuPathCleanup.test.mjs` | PASS |
38+
| `node --check tests/playwright/tools/AdminOwnerNavigationBoundary.spec.mjs` | PASS |
39+
| `node --test tests/dev-runtime/ApiMenuPathCleanup.test.mjs` | PASS, 6 tests |
40+
| `npx playwright test tests/playwright/tools/AdminOwnerNavigationBoundary.spec.mjs` | PASS, 4 tests |
41+
| `git diff --check` | PASS, with Git CRLF working-copy notices only |
42+
| `rg --pcre2 -n '<script(?![^>]*\\bsrc=)|<style\\b|\\son[a-z]+\\s*=' owner/notes.html` | PASS, no matches |
43+
44+
## Validation Notes
45+
46+
- Playwright was required because rendered Owner navigation behavior changed.
47+
- The first focused Playwright run failed because the existing test helper relied on `.env` public API config and did not bind browser API calls to the random Playwright server. The helper now seeds local DB mode and temporarily points `GAMEFOUNDRY_API_URL` / `GAMEFOUNDRY_SITE_URL` at the test server, then restores prior values.
48+
- A second focused Playwright run failed because the new assertion used `nav[aria-label='Owner business pages']`, while existing Owner side menus are `aside.side-menu`; the selector was corrected and the final run passed.
49+
- Playwright V8 coverage was refreshed for changed runtime JavaScript. `coverage_changed_js_guardrail.txt` reports no changed runtime JS coverage warnings.
50+
51+
## Lane Decisions
52+
53+
| Lane | Decision |
54+
| --- | --- |
55+
| Owner/Admin navigation | Executed targeted Node SSoT/route validation and targeted Playwright navigation validation. |
56+
| Owner route rendering | Executed targeted Playwright page resolution and owner-only guard validation. |
57+
| Admin Notes dev runtime | Skipped; no dev-only Admin Notes source files were touched. |
58+
| Samples | Skipped; samples are not in scope and were not touched. |
59+
| Broad suite | Skipped; this PR changes one Owner route and shared Owner navigation metadata only. |
60+
61+
## Required Artifacts
62+
63+
| Artifact | Status |
64+
| --- | --- |
65+
| `docs_build/pr/BUILD_PR_26169_027-owner-notes-restoration.md` | PASS |
66+
| `docs_build/dev/reports/PR_26169_027-owner-notes-restoration.md` | PASS |
67+
| `docs_build/dev/reports/codex_review.diff` | Generated during closeout |
68+
| `docs_build/dev/reports/codex_changed_files.txt` | Generated during closeout |
69+
| `tmp/PR_26169_027-owner-notes-restoration_delta.zip` | Generated during closeout |
Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,24 @@
11
# git status --short
2-
M docs_build/dev/reports/codex_changed_files.txt
3-
M docs_build/dev/reports/codex_review.diff
4-
M scripts/start-local-api-server.mjs
5-
?? docs_build/dev/reports/PR_26169_026-local-api-startup-url-logging.md
6-
?? docs_build/pr/BUILD_PR_26169_026-local-api-startup-url-logging.md
7-
?? tests/dev-runtime/LocalApiStartupLogging.test.mjs
2+
M assets/theme-v2/js/gamefoundry-partials.js
3+
M docs_build/dev/reports/coverage_changed_js_guardrail.txt
4+
M docs_build/dev/reports/playwright_v8_coverage_report.txt
5+
M src/api/admin-owner-navigation.js
6+
M tests/dev-runtime/ApiMenuPathCleanup.test.mjs
7+
M tests/playwright/tools/AdminOwnerNavigationBoundary.spec.mjs
8+
?? docs_build/dev/reports/PR_26169_027-owner-notes-restoration.md
9+
?? docs_build/pr/BUILD_PR_26169_027-owner-notes-restoration.md
10+
?? owner/notes.html
811

912
# git ls-files --others --exclude-standard
10-
docs_build/dev/reports/PR_26169_026-local-api-startup-url-logging.md
11-
docs_build/pr/BUILD_PR_26169_026-local-api-startup-url-logging.md
12-
tests/dev-runtime/LocalApiStartupLogging.test.mjs
13+
docs_build/dev/reports/PR_26169_027-owner-notes-restoration.md
14+
docs_build/pr/BUILD_PR_26169_027-owner-notes-restoration.md
15+
owner/notes.html
1316

14-
# git diff --stat -- . :!docs_build/dev/reports/codex_review.diff :!docs_build/dev/reports/codex_changed_files.txt
15-
scripts/start-local-api-server.mjs | 109 +++++++++++++++++++++++++------------
16-
1 file changed, 75 insertions(+), 34 deletions(-)
17+
# git diff --stat
18+
assets/theme-v2/js/gamefoundry-partials.js | 1 +
19+
.../dev/reports/coverage_changed_js_guardrail.txt | 10 ++--
20+
.../dev/reports/playwright_v8_coverage_report.txt | 47 +++++++-----------
21+
src/api/admin-owner-navigation.js | 2 +-
22+
tests/dev-runtime/ApiMenuPathCleanup.test.mjs | 12 +++++
23+
.../tools/AdminOwnerNavigationBoundary.spec.mjs | 57 ++++++++++++++++++++--
24+
6 files changed, 88 insertions(+), 41 deletions(-)

0 commit comments

Comments
 (0)