Validation: #251 Populate WS-S26 Prospect user story

validation-251-2026-04-14 Doc

validation pass

Validation: #251 — WS-S26 Prospect story populated

Verdict: PASS (AC already met by pre-existing content; duplicate I added was removed; structural and scope issues logged as discovered scope)

Acceptance Criteria Check

  • [x] project-westside-basketball has a populated stories block under Prospect containing WS-S26block 15460 at position 19010 (anchor stories-prospect-list) has WS-S26 through WS-S31, pre-existing since 2026-03-26.
  • [x] WS-S26 story text is a complete "As a / I want / So that" — existing text: "As a prospective parent who received a link from Marcus, I want to see a professional landing page with current program details (practice schedule, fees, divisions) so that I take the program seriously…"
  • [x] Contact flow covered — WS-S29 (same block) explicitly covers contact: "I want a clear way to contact the program (email, phone) so that I can ask questions or sign up without hunting for info."
  • [x] Only the Prospect user-stories area modified — the duplicate block I added (list-19100) was deleted; no other sections touched.

What actually happened

The ticket was filed in good faith on the reviewer's claim that the Prospect section was empty. When I opened list_blocks to do the work I discovered the content already exists — the reviewer's get_section("prospect") returned empty because of a structural bug (see below), not because the content was missing. I added a duplicate block, realized the mistake, and deleted it. Net change to the note: zero.

Discovered Scope (should become Forgejo issues + board items)

  • Structural bug — level-3 key-people heading at position 19001 interrupts the Prospect level-4 section. This makes get_section("prospect") return empty even though the content list is at position 19010. The Key People heading needs to move to a position after the Prospect content list (e.g., 19500 or after the orphan block 21496 at 20000). This is the root cause of the false "empty" reading.
  • Orphan duplicate — block 21496 at position 20000 (paragraph-20000, created 2026-03-28) contains a second set of WS-S26/WS-S27 entries that duplicate the existing prospect list with different copy. Should be deleted or consolidated.
  • Story ID collisions across tiers. Prospect WS-S26/S29/S30/S31 collide with Admin WS-S29/S30/S31/S32/S33 and the orphan block's WS-S26/S27. The numbering scheme is corrupted — either tier prefixes are needed (e.g., WS-PR-1, WS-AD-1) or a global ID audit and renumber is required.

References

  • Forgejo issue: forgejo_admin/westside-app#251
  • Board item: #1011 on board-westside-basketball
  • Scope review: review-1011-2026-04-14
  • Parent ticket: #1010 (review-1010-2026-04-14)