Public Progress
Feature Roadmap Tracker
This board tracks requested changes and their completion status.
Public Progress
This board tracks requested changes and their completion status.
runtime_event: unhandled_error error_string: Loading chunk 191 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/191.fb54a1992d51fd19.js?dpl=dpl_GTfLCez1YAgoHZPHLsmZVf1RTBbe) error_string: Loading chunk 191 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/191.fb54a1992d51fd19.js?dpl=dpl_GTfLCez1YAgoHZPHLsmZVf1RTBbe) request_id: iad1::7xwrs-1776012700399-20c7079f2306 digest: none route: /apps oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-04-12T16:51:40.550Z qa_failure_digest: a2b9c12736d62a91582d4e6cdb29ce868fd53683621758e9e01ddf3e81240383 github_sync_status: missing_link github_sync_checked_utc: 2026-04-12T16:51:40.550Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 4/12/2026, 4:51:40 PM
runtime_event: unhandled_error error_string: Loading chunk 7601 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/error-dc7155813d87441b.js?dpl=dpl_4uYzDmRyJ9bCqN21hrjGkzAAtyy5) error_string: Loading chunk 7601 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/error-dc7155813d87441b.js?dpl=dpl_4uYzDmRyJ9bCqN21hrjGkzAAtyy5) request_id: iad1::sqhsk-1775777988036-22442f955d0b digest: none route: /roster oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-04-09T23:39:48.664Z qa_failure_digest: b0fd18c0d5a6397500848b79f7ee72339c8e4fa362e2e6a4d6098f7136c97c24 github_sync_status: missing_link github_sync_checked_utc: 2026-04-09T23:39:48.664Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 4/9/2026, 11:39:48 PM
runtime_event: unhandled_error error_string: Loading chunk 1690 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/layout-569e6584960b727e.js?dpl=dpl_6GAEyL2V1MQQRQx5245AaxqPxP2E) error_string: Loading chunk 1690 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/layout-569e6584960b727e.js?dpl=dpl_6GAEyL2V1MQQRQx5245AaxqPxP2E) request_id: none digest: none route: /roster/cmmkkcm1u00goqqp9ps2gx951 oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-30T15:18:55.917Z qa_failure_digest: be997f9fad23f6e34d8c21cb03366f16e90669f681311fa0dd60824d05d20291 github_sync_status: missing_link github_sync_checked_utc: 2026-03-30T15:18:55.917Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/30/2026, 3:18:55 PM
Summary: Turn the existing homepage spotlight into a real daily featured Warrior block. github_issue: #341 why: current homepage spotlight logic is buried, random per request, and links to the general roster instead of a dedicated spotlight destination. heading: Meet a Pittsburgh Warrior requirements: one featured player per day; photo + name + branch + jersey + short bio; click-through to dedicated spotlight/profile page; fallback only if no eligible player exists. implementation_notes: reuse existing homepage spotlight/profile data; make selection deterministic by date; keep website/backend as source of truth; add regression coverage for homepage block and spotlight destination. acceptance: homepage renders the new spotlight block with stable daily rotation; spotlight entry changes at most once per day; clicking lands on a dedicated spotlight/profile page; fallback only when no eligible player with required data exists.
Updated 3/28/2026, 12:48:26 PM
reporter: Guest reporter_email: Not provided page_url: Not provided user_agent: Not provided Test error_string: Test request_id: none digest: none route: unknown oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-28T02:58:42.908Z qa_failure_digest: d0b0f8a9668cba42a992ff8324fb4b08deed99125ae56476e5fe7e0975883319 github_sync_status: missing_link github_sync_checked_utc: 2026-03-28T02:58:42.908Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/28/2026, 2:58:42 AM
runtime_event: unhandled_error error_string: manual_sentry_probe_after_self_init error_string: manual_sentry_probe_after_self_init request_id: iad1::2zz5v-1774648159816-12117b08461b digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:49:20.018Z qa_failure_digest: 3f49195a91d6568e792fe2654893d7a0003654a1bd4aa6521706300bc281e908 github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:49:20.018Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:49:20 PM
runtime_event: unhandled_error error_string: manual_sentry_env_probe error_string: manual_sentry_env_probe request_id: iad1::fhpnq-1774646927103-a1b46fc25c78 digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:28:47.160Z qa_failure_digest: b9820683deded4cd61f4a26c0a42b281946e949131bd1253364172f59efed838 github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:28:47.160Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:28:47 PM
runtime_event: unhandled_error error_string: manual_sentry_probe_after_fix error_string: manual_sentry_probe_after_fix request_id: iad1::rgp4l-1774646890970-629a639c59a4 digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:28:11.134Z qa_failure_digest: 98415a88426a534c715cd69d93e9955d2812830651699fab97e39827ab2c708d github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:28:11.134Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:28:11 PM
runtime_event: unhandled_error error_string: manual_sentry_test_from_cli_after_ready error_string: manual_sentry_test_from_cli_after_ready request_id: none digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:13:07.847Z qa_failure_digest: 8e1dab17da1b009bf70447bb7adbc9385d675451afb92f1b6b99b854a3eaaba5 github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:13:07.847Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:13:07 PM
runtime_event: unhandled_error error_string: manual_sentry_test_from_cli error_string: manual_sentry_test_from_cli request_id: none digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:11:20.975Z qa_failure_digest: dd1b447f6a863279b45e2a65560b6bfe7addf2b7b5a1712f441a77a261b3e5ba github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:11:20.975Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:11:20 PM
runtime_event: unhandled_error error_string: manual_sentry_test_from_prod error_string: manual_sentry_test_from_prod request_id: none digest: none route: / oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T21:09:56.905Z qa_failure_digest: 385c490ba86249e9333e11f1f02e6ec57560e53450070a8714cb48c0cbcbd9db github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T21:09:56.905Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 9:09:56 PM
runtime_event: unhandled_error error_string: manual_sentry_test_from_prod error_string: manual_sentry_test_from_prod request_id: none digest: none route: /admin/login-adoption oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-27T20:49:27.606Z qa_failure_digest: afe4cf3c72e65ffc681132245e595ff20a5f5ca6b39a5f664ff0e407610251a6 github_sync_status: missing_link github_sync_checked_utc: 2026-03-27T20:49:27.606Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/27/2026, 8:49:27 PM
Address precision problems should be fixed at the point of entry, but only in scoped places where verified addresses materially improve directions/logistics. Acceptance: Google Places autocomplete is added in the approved scoped flows, starting with player profile address entry, without turning into a broad maps rewrite. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #340 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/340 github_sync_status: linked_seed_script github_sync_checked_utc: 2026-03-27T20:04:17.059Z acceptance_criteria: Google Places autocomplete is added in the approved scoped flows, starting with player profile address entry, without turning into a broad maps rewrite.
Updated 3/27/2026, 8:04:17 PM
Critical public routes still need synthetic black-box monitoring so 404s and 500s are detected before users report them. Acceptance: Checkly monitors run against the critical public paths and alert when routes like /events, /about/teams, /login, or /forgot-password regress. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #339 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/339 github_sync_status: linked_seed_script github_sync_checked_utc: 2026-03-27T20:04:17.059Z acceptance_criteria: Checkly monitors run against the critical public paths and alert when routes like /events, /about/teams, /login, or /forgot-password regress.
Updated 3/27/2026, 8:04:17 PM
The website/admin layer still lacks first-class stack traces and request-correlated visibility for 500s and rendering fallbacks, which slows down incident closure. Acceptance: Sentry is wired into the website/admin layer with request correlation, actionable server/client traces, and validated production reporting for real failures. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #338 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/338 github_sync_status: linked_seed_script github_sync_checked_utc: 2026-03-27T20:04:17.059Z acceptance_criteria: Sentry is wired into the website/admin layer with request correlation, actionable server/client traces, and validated production reporting for real failures.
Updated 3/27/2026, 8:04:17 PM
Brevo SMS is a fit for short outbound reminders and schedule-change alerts, but not for core account recovery or complex reply workflows. Acceptance: a limited outbound Brevo SMS path exists for basic operational alerts, with scope explicitly restricted away from auth/recovery and conversational support. acceptance_criteria: a limited outbound Brevo SMS path exists for basic operational alerts, with scope explicitly restricted away from auth/recovery and conversational support. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #337 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/337 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Brevo should become the canonical transactional email provider for the website so password reset, alerts, and ops messages stop depending on ad hoc SMTP behavior. Acceptance: the website sends transactional email through the Brevo Email API for password reset and core ops/user notifications, with logs/templates verified live. acceptance_criteria: the website sends transactional email through the Brevo Email API for password reset and core ops/user notifications, with logs/templates verified live. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #336 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/336 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
The mobile lane still needs signing/build/distribution closure before the current app is truly available in TestFlight. Acceptance: a current iOS build is successfully processed in App Store Connect and available in TestFlight for the intended tester group. acceptance_criteria: a current iOS build is successfully processed in App Store Connect and available in TestFlight for the intended tester group. owner: thread-c triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #335 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/335 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Production smoke still reports that /player?section=events returns 200 but falls into the section fallback for real player data. Acceptance: qa:prod-p0-smoke passes 29/29, including player events render without fallback for the dedicated prod smoke player. acceptance_criteria: qa:prod-p0-smoke passes 29/29, including player events render without fallback for the dedicated prod smoke player. owner: thread-b triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #334 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/334 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
The app/TestFlight intake path exists, but admin visibility and follow-up workflow are still weaker than they should be. Acceptance: admin users can clearly see, filter, and act on TestFlight/app-interest submissions without manual inbox chasing. acceptance_criteria: admin users can clearly see, filter, and act on TestFlight/app-interest submissions without manual inbox chasing. owner: thread-b triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #333 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/333 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Turnstile code exists, but it still needs live verification across the public/high-risk form surfaces. Acceptance: Turnstile is active and verified on login, join, support, report, and forgot-password flows without breaking real submissions. acceptance_criteria: Turnstile is active and verified on login, join, support, report, and forgot-password flows without breaking real submissions. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #332 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/332 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Brevo integration code exists, but list sync, operator workflow, and end-to-end send verification are not fully closed. Acceptance: live contacts sync to the intended Brevo lists, operator send flow is documented, and website-triggered mailing paths are verified. acceptance_criteria: live contacts sync to the intended Brevo lists, operator send flow is documented, and website-triggered mailing paths are verified. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #331 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/331 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Passkey flows exist and RP ID drift was patched, but the live .org behavior still needs full registration/login/revoke verification. Acceptance: add passkey, sign in with passkey, and revoke passkey all work on production with accurate fallback guidance. acceptance_criteria: add passkey, sign in with passkey, and revoke passkey all work on production with accurate fallback guidance. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #330 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/330 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Existing password/Wix users still lack a clean account-linking flow for Google and Apple, which creates account-not-found and duplicate-account risk. Acceptance: existing users can safely link or merge Google/Apple identities to their current account without duplicate profile creation. acceptance_criteria: existing users can safely link or merge Google/Apple identities to their current account without duplicate profile creation. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #329 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/329 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Apple OAuth routes and UI exist, but production readiness still needs real callback and account-path verification. Acceptance: Apple sign-in works on /login and /join in production, with correct callback handling and no approval/config drift. acceptance_criteria: Apple sign-in works on /login and /join in production, with correct callback handling and no approval/config drift. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #328 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/328 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Google OAuth routes and UI exist, but production rollout is not treated as complete until first-time and returning sign-in are verified live. Acceptance: Google sign-in works on /login and /join in production for both new and existing users, with correct returnTo handling and no stale error copy. acceptance_criteria: Google sign-in works on /login and /join in production for both new and existing users, with correct returnTo handling and no stale error copy. owner: thread-a triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #327 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/327 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
The Friends page is implemented, but it still needs live verification, visual QA, and likely expansion of the program/logo set. Acceptance: /about/friends is live on production, nav-linked, visually stable on desktop/mobile, and the friend-program list is reviewed for completeness. acceptance_criteria: /about/friends is live on production, nav-linked, visually stable on desktop/mobile, and the friend-program list is reviewed for completeness. owner: thread-b triage_state: active last_checked_utc: 2026-03-27T20:04:17.059Z backlog_track: follow_through_2026_03_27 github_issue: #326 github_issue_url: https://github.com/Pittsburgh-Warriors-Hockey/warriors-website/issues/326 github_sync_status: linked_existing_issue github_sync_checked_utc: 2026-03-27T20:04:17.059Z
Updated 3/27/2026, 8:04:17 PM
Reproduce: npx playwright test player-hub.spec.ts -g "can interact with the events page" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:41:02.831Z qa_failure_digest: 581c585c93b22fb66e34f59a7c1fa7d55e7819fbde92a32da39f0f241e4b4fd5
Updated 3/23/2026, 1:41:02 PM
Reproduce: npx playwright test events-admin.spec.ts -g "Can access Quick Event creation tool" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:41:02.396Z qa_failure_digest: c4dda06494d1af0c39a58317113ed44181a4dd1e49989190dcb85b479c3843f0
Updated 3/23/2026, 1:41:02 PM
Reproduce: npx playwright test chat-e2e.spec.ts -g "composer successfully sends a message" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:41:01.976Z qa_failure_digest: 53d5242efebfbf4b9e3e10428764e2ff45e37e8df6a83004a10e09de19bfcccb
Updated 3/23/2026, 1:41:01 PM
Reproduce: npx playwright test season-10-dvhl.spec.ts -g "should complete a full season lifecycle" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:41:01.521Z qa_failure_digest: 8aa55a3aa2016eef77da6d9081a785a095bbc8667f2494f4dc973d50ce3c8ef0
Updated 3/23/2026, 1:41:01 PM
Reproduce: npx playwright test player-profile.spec.ts -g "should be able to access a player profile via roster ID" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:41:00.169Z qa_failure_digest: 37293dd634eafcd0f3b79b297ec77c05977ef29124512e5fd01b534d5d99ae97
Updated 3/23/2026, 1:41:00 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "mobile /admin/league-hub?tab=members" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:58.845Z qa_failure_digest: 3847559667180d54ba9638b8bdf6e60192fd37df6bd597ad5ba8af2cd349a6d4
Updated 3/23/2026, 1:40:58 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "mobile /login" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:58.021Z qa_failure_digest: 035a60da0a8ea5614dbc16fadbda42ebf212ab4c65ddc9d20c95616cc640dee6
Updated 3/23/2026, 1:40:58 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "mobile /events" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:57.594Z qa_failure_digest: 166483e0369263d09c6223741ef1420430f1b470647f3b12a635f1b1a9379e85
Updated 3/23/2026, 1:40:57 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "mobile /" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:57.170Z qa_failure_digest: 11fd8c3c1317ca3a63dcda0980f0a7a569b113f5e865104a3479876140a5de3b
Updated 3/23/2026, 1:40:57 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin/league-hub?tab=seasons" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:56.680Z qa_failure_digest: b48a37795f343ef08ba380a62be574f52b242f9455270347fc6f772e4c4a6777
Updated 3/23/2026, 1:40:56 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin/league-hub?tab=teams" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:56.244Z qa_failure_digest: 8e54f44318a757381f667aebe8c957045488381ebe073be8645da50743d34f13
Updated 3/23/2026, 1:40:56 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin/league-hub?tab=competitions" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:55.832Z qa_failure_digest: 51a08a4d9e170b1a7ae4c7fb5681ac5813d59734ec744ced6c4402cb6fcbb7ca
Updated 3/23/2026, 1:40:55 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin/league-hub?tab=members" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:55.391Z qa_failure_digest: d250ee41ee998d902a773716bfbb354a6e16a5b0c052e5ec9e783d16364a971a
Updated 3/23/2026, 1:40:55 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin/league-hub?tab=dashboard" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:54.965Z qa_failure_digest: 458f4f39e731b2a9d72a0e35a2876fc0326e5fe7fee4a83beeb77c3d6f72fcdd
Updated 3/23/2026, 1:40:54 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "admin /admin" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:54.536Z qa_failure_digest: ae9d2d5803bb1b38afb94245a5609ba5477ab84feb7582a11b5ea04b40b35fa1
Updated 3/23/2026, 1:40:54 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /login" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:54.101Z qa_failure_digest: abd67abbc65adb97f8a68852377c65ee24b4a44e2c41fb18f2fedbe41da1edad
Updated 3/23/2026, 1:40:54 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /support" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:53.665Z qa_failure_digest: 1265112ee17e370c1b5e52c669628038a4b9a05812bb8f5640caa1a93bf9e8a3
Updated 3/23/2026, 1:40:53 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /roster" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:53.231Z qa_failure_digest: 4ae4098ad17451337fee5b6885b89cdbebb5d33de108bd8d2e4cfec134af8ef0
Updated 3/23/2026, 1:40:53 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /news" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:52.763Z qa_failure_digest: e191dbc4f54c1ffbe576c4411cbc4abc695a11ccd4e8bf6a0a21e882e11d8cee
Updated 3/23/2026, 1:40:52 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /games" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:52.347Z qa_failure_digest: 9c950fb8f247f443d6079c2bb1602f372525f616ac2b1770026e1f6b966634f5
Updated 3/23/2026, 1:40:52 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /calendar" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:51.932Z qa_failure_digest: d6024aa6beac299590008cb804a4c94a4d910485d3b54713b17ffa68e757b1d1
Updated 3/23/2026, 1:40:51 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /events" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:36.733Z qa_failure_digest: f6739ef96ce256e835bdb342c61bea6cbe38cb729a076e1bc90929d9912f000b
Updated 3/23/2026, 1:40:36 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /about" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:36.317Z qa_failure_digest: b678c98d4e8e553918f868e3bbfb3eaca2f130071f07089c80a202eb82d48528
Updated 3/23/2026, 1:40:36 PM
Reproduce: npx playwright test ui-visual-fullsite.spec.ts -g "public /" Error: Unknown error Unknown error github_sync_status: missing_link github_sync_error: runtime_ingest_missing_issue_link github_sync_checked_utc: 2026-03-23T13:40:35.628Z qa_failure_digest: 609d2d5ea23b399e5c815c2f1b16c25cb5d927aeab682e163dc2079e2993cb89
Updated 3/23/2026, 1:40:35 PM
occurrence_count: 2 runtime_event: unhandled_error error_string: null is not an object (evaluating 't.parallelRoutes.get') request_id: none digest: none route: /admin/league-hub oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-23T12:46:36.258Z qa_failure_digest: 7113dfa3defbf086beda45a1affb83c5ad194c2bf67fe5f9fd3cb7344533c562 github_sync_status: missing_link github_sync_checked_utc: 2026-03-23T12:46:36.258Z github_sync_error: runtime_intake_missing_issue_link
Updated 3/23/2026, 12:46:36 PM
Filed from reconciliation audit. User-reported scope: 40 seasons / 57 teams / synthetic competitions still visible in admin. owner: unassigned acceptance_criteria: Synthetic fixtures are absent from admin competitions/seasons/teams surfaces and guarded by QA. current_blocker: No trustworthy website-side card existed for the current admin visibility complaint. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #284 Related GitHub issue: #284 github_sync_status: sync_failed github_sync_checked_utc: 2026-03-21T15:13:07.679Z github_sync_error: github_token_missing
Updated 3/21/2026, 3:13:07 PM
Filed from reconciliation audit; exists in thread history but not as trustworthy board card. owner: unassigned acceptance_criteria: Guided tours visibly highlight targets, can be dismissed permanently per user, and do not suppress the help drawer. current_blocker: Chat-only/thread-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #283 Related GitHub issue: #283 github_sync_status: sync_failed github_sync_checked_utc: 2026-03-21T15:13:07.223Z github_sync_error: github_token_missing
Updated 3/21/2026, 3:13:07 PM
Filed from reconciliation audit; exists in thread history but not as trustworthy board card. owner: unassigned acceptance_criteria: Default roster surface opens in list view unless user explicitly switches. current_blocker: Chat-only/thread-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #282 Related GitHub issue: #282 github_sync_status: sync_failed github_sync_checked_utc: 2026-03-21T15:13:06.804Z github_sync_error: github_token_missing
Updated 3/21/2026, 3:13:06 PM
Filed from reconciliation audit; exists in thread history but not as trustworthy board card. owner: unassigned acceptance_criteria: News Ops supports full create/manage/delete workflow with visible admin module and regression coverage. current_blocker: Chat-only/thread-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #281 Related GitHub issue: #281 github_sync_status: sync_failed github_sync_checked_utc: 2026-03-21T15:13:06.242Z github_sync_error: github_token_missing
Updated 3/21/2026, 3:13:06 PM
GitHub parity card for #239. owner: unassigned acceptance_criteria: Per-type notification toggles exist by channel with role-aware defaults and delivery enforcement. current_blocker: GitHub-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #239 Related GitHub issue: #239
Updated 3/21/2026, 2:59:21 PM
GitHub parity card for #270. owner: unassigned acceptance_criteria: Widget shows avatar/headshot or initials fallback; name links to correct profile/admin destination. current_blocker: GitHub-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #270 Related GitHub issue: #270
Updated 3/21/2026, 2:59:21 PM
GitHub parity card for #269. owner: unassigned acceptance_criteria: Authenticated admin/ops users can open Teams without login bounce; invalid permission gets forbidden state, not login redirect. current_blocker: GitHub-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #269 Related GitHub issue: #269
Updated 3/21/2026, 2:59:20 PM
GitHub parity card for #278. owner: unassigned acceptance_criteria: Event editor, public calendar, player event views, and detail pages all use America/New_York consistently. current_blocker: GitHub-only artifact before this card was created. last_checked_utc: 2026-03-21T15:00:00Z github_issue: #278 Related GitHub issue: #278
Updated 3/21/2026, 2:59:20 PM
runtime_event: unhandled_error error_string: Loading chunk 2626 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/login/page-fa15fb525422db78.js?dpl=dpl_JCwctYoTs2EbAknwp1f6ZCwg1Vm1) error_string: Loading chunk 2626 failed. (error: https://www.pghwarriorhockey.org/_next/static/chunks/app/login/page-fa15fb525422db78.js?dpl=dpl_JCwctYoTs2EbAknwp1f6ZCwg1Vm1) request_id: none digest: none route: /login oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-21T03:04:31.522Z qa_failure_digest: 9e8438b5bf95b4a588cb4a3d09c51a76c1d3babd1cd93368d411b54ff8e46789 github_sync_status: missing_link github_sync_checked_utc: 2026-03-21T03:04:31.522Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/21/2026, 3:04:31 AM
reporter: Guest reporter_email: [email protected] page_url: Not provided user_agent: Not provided wkffyy error_string: 🍒💦 BTC transfer. Next >> yandex.com/poll/YWfQL5UYL9NrETwvu6fWmf?hs=52d5f202e952bc263b5a39af797be716& 🍒💦 request_id: ic6w1r digest: none route: unknown oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-16T20:46:23.542Z qa_failure_digest: 7568beb9644a1281236d12d68677fdfd778827114a2ac5584dc482a11a6f9f02 github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T20:46:23.542Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/16/2026, 8:46:23 PM
runtime_event: unhandled_error error_string: Loading chunk 7601 failed. (timeout: https://www.pghwarriorhockey.org/_next/static/chunks/app/error-cc21f7f3b9f606c5.js?dpl=dpl_AqZ7aYnzp5hk8mZkQKnt6PQnutbv) error_string: Loading chunk 7601 failed. (timeout: https://www.pghwarriorhockey.org/_next/static/chunks/app/error-cc21f7f3b9f606c5.js?dpl=dpl_AqZ7aYnzp5hk8mZkQKnt6PQnutbv) request_id: none digest: none route: /event-details/ppf-special-ice oauth_provider: none oauth_stage: none cookie_state_present: false host: www platform: web last_seen_utc: 2026-03-16T15:24:22.146Z qa_failure_digest: 2190ab62219ceb8fc989ceacb385a03b712789c0c61fcb3865733fb1d343b65c github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T15:24:22.146Z github_sync_error: runtime_intake_missing_issue_link occurrence_count: 1
Updated 3/16/2026, 3:24:22 PM
owner: thread-d resolution: split/merged to route-level visual cards for deterministic closure and screenshot evidence. qa_guard_test: visual_baseline_route_granular_tracking qa_guard_command: npx playwright test tests/ui-visual-fullsite.spec.ts --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:57.706Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:57 AM
owner: thread-d resolution: merged to granular lane card ce850464-85cc-461d-bfe3-4345ac797f12. qa_guard_test: player_hub_events_granular_tracking qa_guard_command: npx playwright test tests/player-hub.spec.ts -g 'can interact with the events page' --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:57.430Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:57 AM
owner: thread-d resolution: merged to granular lane card 3a717b71-8be2-48cd-9dcd-4cfbc645613b. qa_guard_test: player_profile_granular_tracking qa_guard_command: npx playwright test tests/player-profile.spec.ts -g 'should be able to access a player profile via roster ID' --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:57.148Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:57 AM
owner: thread-d resolution: merged to granular lane card 32d6d90a-7249-4d9b-9e21-f6170351d1f1. qa_guard_test: chat_composer_granular_tracking qa_guard_command: npx playwright test tests/chat-e2e.spec.ts -g 'composer successfully sends a message' --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:56.877Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:56 AM
owner: thread-d resolution: merged to granular lane card ede7102d-8a0c-4a39-81a8-934e17911bf7. qa_guard_test: events_admin_granular_tracking qa_guard_command: npx playwright test tests/events-admin.spec.ts -g 'Can access Quick Event creation tool' --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:56.317Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:56 AM
owner: thread-d resolution: merged to granular lane card 88ec791c-1880-4fde-8d70-f8b135e401d4 for deterministic closure. qa_guard_test: season_10_dvhl_granular_tracking qa_guard_command: npx playwright test tests/season-10-dvhl.spec.ts --reporter=list --workers=1 qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:56.018Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:56 AM
owner: thread-d resolution: added iOS archive target resolver fallback (xcworkspace->xcodeproj) and policy doc. qa_guard_test: ios_archive_target_resolver qa_guard_command: mobile/warriors-hq-app/scripts/resolve-ios-archive-target.sh qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:55.740Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:55 AM
owner: thread-d resolution: hardened preview workflow trigger/gates/concurrency and non-blocking card ingest. qa_guard_test: workflow_preview_e2e_gates qa_guard_command: node -e "const y=require('fs').readFileSync('.github/workflows/preview-e2e.yml','utf8');if(!/workflow_dispatch/.test(y)||!/deployment_status/.test(y))process.exit(1);" qa_guard_result: pass docs_update: QA_DURABILITY_GATE_POLICY + NIGHTLY_QA_RUNBOOK last_checked_utc: 2026-03-16T02:39:55Z github_sync_status: missing_link github_sync_checked_utc: 2026-03-16T02:39:55.342Z github_sync_error: No linked GitHub issue.
Updated 3/16/2026, 2:39:55 AM
owner: thread-d last_checked_utc: 2026-03-16T02:10:41.675Z
Updated 3/16/2026, 2:10:41 AM
owner: thread-d last_checked_utc: 2026-03-16T02:10:24.921Z
Updated 3/16/2026, 2:10:24 AM
owner: thread-d acceptance_criteria: verify POST /api/admin/media/showcase/tags/bulk add/remove returns 200 blocker: resolved by main commit b52a498c last_checked_utc: 2026-03-15T23:28:06Z docs_update: production hotfix closure evidence captured resolution_commit: b52a498c resolved_request_ids: iad1::iad1::wvnrf-1773617285156-84be0af198fc, iad1::iad1::8gj4k-1773617285996-b027963adf61, iad1::iad1::4vpfs-1773617286455-2cc773008502, iad1::iad1::smhcx-1773617286659-68535ab62ba2 resolved_at_utc: 2026-03-15T23:28:07Z verification_host: https://www.pghwarriorhockey.org qa_prevention: release gate now requires authenticated production deep mutation smoke (events create + media library state + showcase tag bulk) with requestId evidence before close
Updated 3/16/2026, 12:06:25 AM
owner: thread-d acceptance_criteria: verify POST /api/admin/media/library/state returns 200 on valid payload blocker: resolved by main commit b52a498c last_checked_utc: 2026-03-15T23:28:05Z docs_update: production hotfix closure evidence captured resolution_commit: b52a498c resolved_request_ids: iad1::iad1::wvnrf-1773617285156-84be0af198fc, iad1::iad1::8gj4k-1773617285996-b027963adf61, iad1::iad1::4vpfs-1773617286455-2cc773008502, iad1::iad1::smhcx-1773617286659-68535ab62ba2 resolved_at_utc: 2026-03-15T23:28:07Z verification_host: https://www.pghwarriorhockey.org qa_prevention: release gate now requires authenticated production deep mutation smoke (events create + media library state + showcase tag bulk) with requestId evidence before close
Updated 3/16/2026, 12:06:24 AM
owner: thread-d acceptance_criteria: verify POST /api/admin/events draft create redirects with eventsaved=1 blocker: resolved by main commit b52a498c last_checked_utc: 2026-03-15T23:28:07Z docs_update: production hotfix closure evidence captured resolution_commit: b52a498c resolved_request_ids: iad1::iad1::wvnrf-1773617285156-84be0af198fc, iad1::iad1::8gj4k-1773617285996-b027963adf61, iad1::iad1::4vpfs-1773617286455-2cc773008502, iad1::iad1::smhcx-1773617286659-68535ab62ba2 resolved_at_utc: 2026-03-15T23:28:07Z verification_host: https://www.pghwarriorhockey.org qa_prevention: release gate now requires authenticated production deep mutation smoke (events create + media library state + showcase tag bulk) with requestId evidence before close
Updated 3/16/2026, 12:06:24 AM
BUG: /mobile/warriors-hq-app/ios is ignored by git, so Xcode target/signing/build-number fixes cannot be reviewed or released via PR. Acceptance: track required iOS project files (or generate deterministic patches) so native release fixes are versioned.
Updated 3/15/2026, 9:36:34 PM
BUG: Chat screen reports access denied/unauthorized for channels users should access (ex: announcements). Acceptance: unauthorized state only when backend denies membership; fallback path works and composer is disabled when unauthorized.
Updated 3/15/2026, 9:28:08 PM
BUG: copy currently suggests registered @pghwarriorhockey.org email which excludes most players. Acceptance: copy references account email generically and does not imply org-only addresses.
Updated 3/15/2026, 9:28:08 PM
BUG: iOS app login screen in TestFlight/internal builds can render without Apple/Google entry points. Acceptance: social sign-in buttons are visible when provider is enabled, launch OAuth flow, and return via mobile deep link token handoff.
Updated 3/15/2026, 9:28:08 PM
Bug: https://pghwarriorhockey.org/admin/users renders empty list even though user table has records. Suspected cause: legacy /admin/users path uses schema-handshake fail-soft query that swallows include/relation drift and returns []. Acceptance: page should show base user rows whenever DB is reachable; relation failures must not blank the list.
Updated 3/10/2026, 4:18:20 PM
Build applicant-facing progress tracker with stages: Application Received -> Review -> Approved -> Onboarding -> First Skate. Each stage should show next action and estimated time.
Updated 3/10/2026, 2:15:58 PM
Send immediate confirmation on application submit, then staged updates (under review, approved/rejected, next steps) with direct links into onboarding.
Updated 3/10/2026, 2:15:58 PM
After approval, show and message first recommended event(s) with one-click RSVP and prep checklist (what to bring, when to arrive, where to go).
Updated 3/10/2026, 2:15:58 PM
Create a simple admin workspace for onboarding stage, owner assignment, notes, and one-click communication templates. Keep workflow lightweight and practical.
Updated 3/10/2026, 2:15:58 PM
Explain why USA Hockey number is required, provide outbound signup link, and validate number format for current season rules before completion.
Updated 3/10/2026, 2:15:58 PM
Optional assign-a-buddy flow and welcome touchpoint so approved applicants receive human follow-up and do not go cold before first skate.
Updated 3/10/2026, 2:15:58 PM
Add a simple onboarding gear lane: player requests needed gear (or asks for help), equipment manager confirms availability, schedules delivery/pickup, and marks complete. Keep workflow lightweight; no KPI metrics for volunteer role.
Updated 3/10/2026, 2:01:06 PM
Allow equipment manager to upload optional gear photos with basic inventory fields (category, size, quantity, condition, notes). Player can choose visually when available; fallback to text request/help flow when not.
Updated 3/10/2026, 2:01:06 PM
Track four item groups independently: practice jersey, practice socks, game jersey, game socks. Per item track needed/size/status (requested, confirmed, delivered). Onboarding gear completion should depend on required item statuses.
Updated 3/10/2026, 2:01:06 PM
After onboarding, players can submit ongoing requests (replacement, size change, missing item, damaged item, help). Route to equipment manager queue with threaded updates and closeout states (open, awaiting-player, scheduled, fulfilled, closed).
Updated 3/10/2026, 2:01:06 PM
Problem: Dual/duplicative admin rails and legacy detours create inconsistent UI shells and broken navigation expectations. Acceptance Criteria: - One static canonical left rail across all admin pages. - Remove duplicate/legacy middle rail and route trampoline pages. - Add clear selected-state cues and optional clean submenus. - Migrate legacy-only modules into canonical IA: Announcements, News, Attendance, Fundraising, Shared Credentials, Super Admin Logs.
Updated 3/9/2026, 7:20:55 PM
Problem: Current board UX is hard to track at scale and does not expose ownership/responsibility views clearly. Acceptance Criteria: - Add table + kanban/swamlane views and full-card visibility beyond current apparent limits. - Add columns/filters: assigned thread, responsibility area (UI/Auth/API/Data/Ops), priority, status, updatedAt. - Compact read-only cards by default; click-to-edit form panel/modal. - Preserve compatibility with coord assignment/autopilot flow.
Updated 3/9/2026, 7:20:55 PM
Problem: Request board cannot reliably capture screenshots/evidence, reducing bug triage quality and cross-thread context. Acceptance Criteria: - Support image attachments on request cards with preview and stable storage path. - Include attachment metadata in board JSON and thread inbox payloads. - Provide routing hints so coordinator can target capable threads while keeping assigner as source of truth. - Verify Thread B can consume attachment context from inbox-linked card evidence.
Updated 3/9/2026, 7:20:55 PM
Problem: Admin DVHL surfaces show 0 seasons/teams/games while Season 10 data is expected live. Acceptance Criteria: - Season 10 appears in League Hub dashboard/seasons/teams/schedule/stats views. - Canonical competitions, teams, rosters, and scheduled games resolve from source-of-truth tables. - Live scoreboard can select and score Season 10 games without fallback/legacy paths. - Add diagnostics panel row showing query source + counts for DVHL entities.
Updated 3/9/2026, 4:49:55 PM
Problem: Left rail and horizontal tabstrip behavior changes by entry path; redundant "Open DVHL Hub" intermediate page and legacy route detours. Acceptance Criteria: - Single canonical admin IA: no duplicate DVHL entry points or "open hub" trampoline page. - Left rail persists consistently across League/DVHL admin pages with stable active-state highlighting. - Top strip links resolve directly to canonical routes only; remove/redirect legacy variants. - UX pass: navigation path from Admin Dashboard -> DVHL -> Seasons is one-click deterministic.
Updated 3/9/2026, 4:49:55 PM
Problem: Who's Online currently appears admin-scoped and not aligned with community visibility goals. Acceptance Criteria: - Add configurable audience scope: admins-only | players+admins | everyone. - Default to players+admins unless policy override set. - Add lightweight mode for performance (presence heartbeat sampling/cache window). - Add admin setting in Module Permissions/Diagnostics with clear privacy text.
Updated 3/9/2026, 4:49:55 PM
### Acceptance Criteria\n- Reproduce: \\`npx playwright test events-admin.spec.ts -g \\"Guided Event Wizard loads\\"\\`\n- Expected: Test passes consistently on local dev server.\n- Done: Test green + no regression in related routes.\n\n### Evidence\n- **Error:** Error: page.goto: 404 Not Found\n- **Suite:** events-admin.spec.ts\n- **Project:** webkit\n\n\\`\\`\\`\nawait page.goto("/admin/wizard")\n\\`\\`\\`
Updated 3/9/2026, 3:19:49 PM
Deploy unified observability with error tracking, uptime monitors, perf SLOs, and alert escalation routing.
Updated 3/9/2026, 3:17:25 PM
Build admin moderation queue for contact reports, abuse events, and triage workflow with status tracking.
Updated 3/9/2026, 3:17:25 PM
Acceptance Criteria: - Implement preview E2E workflow via clean codex/* branch + PR (no direct main pushes). - Workflow must execute only on successful preview deployment and use deployment target URL. - Verify preview build + workflow run URL + artifact upload. - Keep local Playwright behavior intact when PLAYWRIGHT_BASE_URL is unset. - Post evidence in outbox: checks, run URL, final status.
Updated 3/9/2026, 3:17:25 PM
Ship full content lifecycle: drafts, approvals, scheduled publish, revision history, rollback in Content Studio.
Updated 3/9/2026, 3:17:02 PM
Add redirect registry, automated broken-link scans, and SEO integrity checks for sitemap/robots/canonicals.
Updated 3/9/2026, 3:17:02 PM
Implement signup/auth protection baseline including abuse controls, IP throttles, and lockout policies.
Updated 3/9/2026, 3:17:02 PM
Explain why USA Hockey membership is required, provide direct membership link, and enforce temporary 2025-2026 guard (4th character = 6) across player-facing update routes until API validation is live.
Updated 3/9/2026, 3:17:02 PM
Provide Content Studio onboarding controls so admins can toggle required player fields and edit confirmation email wording without code changes.
Updated 3/9/2026, 3:17:02 PM
### Acceptance Criteria\n- Reproduce command: `npx playwright test tests/player-hub.spec.ts -g "can navigate to Gear section"`\n- Expected behavior: Gear/Equipment link is visible in the side rail and navigates to section=gear.\n- Done definition: Test passes on stable environment.\n\n### Evidence\n- **Error:** Timeout waiting for element or URL match.\n- **Context:** Player Hub navigation rail logic.
Updated 3/9/2026, 2:41:49 PM
### Acceptance Criteria\n- Reproduce: \\`npx playwright test mobile-contracts.spec.ts -g \\"unauthorized dashboard access is rejected\\"\\`\n- Expected: Test passes consistently on local dev server.\n- Done: Test green + no regression in related routes.\n\n### Evidence\n- **Error:** Error: expect(received).toBe(401)\n- **Suite:** mobile-contracts.spec.ts\n- **Project:** chromium\n\n\\`\\`\\`\nexpect(response.status()).toBe(401)\n\\`\\`\\`
Updated 3/9/2026, 12:46:41 PM
Design and ship an end-to-end onboarding journey with clear stages, timeline, and progress checkpoints from submit -> approval -> onboarding -> first ice event.
Updated 3/9/2026, 12:46:41 PM
Send immediate applicant confirmation email plus staged updates (received, under review, approved/rejected, next steps) with deep links and ETA guidance.
Updated 3/9/2026, 12:46:41 PM
Create a dedicated onboarding dashboard for applicants/players showing required tasks, approvals, deadlines, upcoming events, and completion % with reminders.
Updated 3/9/2026, 12:46:41 PM
Build admin workflow tools for triage, assignment, SLA timers, notes, owner handoff, and one-click communication templates for onboarding team.
Updated 3/9/2026, 12:46:41 PM
Automate nudges for incomplete steps (documents, USA Hockey, waiver, RSVP, profile) via email/push with escalation rules.
Updated 3/9/2026, 12:46:41 PM
Instrument funnel stages and reasons for abandonment; provide reporting by stage, conversion, time-to-ice, and bottlenecks.
Updated 3/9/2026, 12:46:41 PM
### Acceptance Criteria\n- Reproduce: \\`npx playwright test admin-quick-event.spec.ts -g \\"Can access Quick Event creation tool\\"\\`\n- Expected: Test passes consistently on local dev server.\n- Done: Test green + no regression in related routes.\n\n### Evidence\n- **Error:** Error: expect(received).toBe(200)\n- **Suite:** admin-quick-event.spec.ts\n- **Project:** chromium\n\n\\`\\`\\`\nawait page.goto("/admin/wizard")\n\\`\\`\\`
Updated 3/9/2026, 12:41:31 PM
Define canonical permission matrix and enforce module/action guards consistently across admin/player APIs and UI.
Updated 3/9/2026, 12:41:31 PM
Received 404 when navigating to Guided Event Wizard from League Hub; restore route and validate from admin UI.
Updated 3/9/2026, 12:41:31 PM
Playwright failure: could not reach /player?section=events within 30s; investigate section-switch latency and loading blockers.
Updated 3/9/2026, 12:41:31 PM
Playwright failure: [data-player-id] not found on /roster profile cards; restore stable selector and verify profile-by-id flow.
Updated 3/9/2026, 12:41:31 PM
Create strict env parity checklist and automated fixture seed for staging so prod deploys are validated against staging before release.
Updated 3/9/2026, 12:28:33 PM
Enforce QA-only database writes with ephemeral schema sessions + guaranteed teardown + CI guardrails.
Updated 3/9/2026, 12:28:33 PM
Centralize all admin write actions into immutable audit trail with actor, before/after, request ID, UTC timestamp.
Updated 3/9/2026, 12:28:33 PM
Implement backup policy, restore runbooks, and recurring restore drills with measured RPO/RTO results.
Updated 3/9/2026, 12:28:33 PM
Harden password reset reliability and add session/device management and account recovery admin tooling.
Updated 3/9/2026, 12:28:33 PM
Add automated a11y, contrast, keyboard-nav, responsive breakpoint checks as merge gates.
Updated 3/9/2026, 12:28:33 PM
Public roster now normalizes all-caps display names, shows Name Review flag on suspicious names, and adds scripts/admin/audit-player-names.mjs + scripts/admin/manage-bot-registrations.mjs for audit/purge.
Updated 3/9/2026, 11:50:50 AM
Improve jersey number contrast, remove repetitive copy, omit unset service era, center headshots, and enforce player status gating in roster query.
Updated 3/9/2026, 11:42:58 AM
Add honeypot field + URL/name heuristic in register and register-supporter routes.
Updated 3/9/2026, 11:29:27 AM
Guard fullName/photolist in PublicRosterDirectory and safe sort/search.
Updated 3/9/2026, 11:29:27 AM
Create and run a full QA matrix across sitemap public routes, admin modules, player modules, and API contracts; produce one board card per failing route/workflow with repro + severity.
Updated 3/8/2026, 2:49:15 PM
Provide easy editing for homepage/about with publish forms, revisions, and admin quick access so operations can update content without code changes.
Updated 3/8/2026, 2:46:43 PM
When admin is logged in, show context-aware quick links on every page for fast edits (media, competitions, members, DVHL, page-specific actions like championship photo updates).
Updated 3/8/2026, 2:40:36 PM
Updated 3/8/2026, 2:36:50 PM
Updated 3/8/2026, 2:34:50 PM