Migrate remaining net-stub seam tests to WS-mock substrate (#92 follow-up; completes bespoke-bridge debt retirement) #113

Closed
opened 2026-06-22 21:57:50 +02:00 by bosun · 0 comments
Owner

Background

Filed 2026-06-22 as follow-up to cellblock#92 (WS-mock harness substrate). Shipwright's #92 pre-thought (58a3) ratified migration-scope (A) ADDITIVE: build WS-mock substrate + land must-have versus coverage + demonstrate pattern via #91 AC7 prod-path row, but LEAVE existing net-stub seam tests (from #87/#91/#94) in place during the foundation PR. This tracker captures the remaining-migration work.

Scope

Migrate existing harness tests built on bespoke net-stub seams onto the new WS-mock substrate (post #92). Specifically:

  • #87 net-stub seam tests (enterVersusPlaying for forfeit flows)
  • #91 net-stub seam tests (enterSoloRematchReady for PLAY AGAIN race regression — except the AC7 row which #92 already migrated as the demonstration)
  • #94 net-stub seam (general PLAY AGAIN mode-routing tests)
  • Any other tests using bespoke arrange-via-seam patterns identified during #92 implementation

For each: replace seam-injection with WS-mock scripting that drives the same prod-handler-paths via real flow. Retire the bespoke seams from prod code once their tests are migrated.

Substrate-discipline rationale

#92's purpose is to retire bespoke-bridge debt (n=3 worked instances: #80 HANG-route + #89 error-resolution + #94 net-stub). Foundation PR establishes the substrate + demonstrates pattern via AC7 row. This follow-up COMPLETES the retirement by migrating the remaining tests + removing the seams from prod code.

Splitting foundation + migration into separate PRs (per Shipwright's lean ratified at 4b15):

  • Foundation PR bounded blast-radius (new substrate + must-have coverage + one demonstration row)
  • Migration PR bounded scope (rewrite existing tests onto new substrate, retire seams)
  • Each can be reviewed independently
  • Same shape as #87 + #76 multi-slice patterns

Lane + size

Shipwright lane (harness substrate work). Size unclear pending #92 implementation; depends on how many bespoke seam-tests exist + how mechanical the migration is. Likely size/M.

Acceptance criteria (refine after #92 lands)

  1. All net-stub seam tests migrated to WS-mock substrate
  2. Bespoke arrange-via-seam helpers removed from prod code (no longer needed in main.ts/render.ts/etc.)
  3. WS-mock-driven tests cover same scenarios + assertions as the bespoke-seam tests did (no regression in coverage)
  4. Mutation-proven on each migrated test (per-substrate-mode independence preserved)
  5. nav.spec.ts left as mock-solo tree (mode-separation honored per #92 design)

Cross-refs

  • cellblock#92 (foundation PR — this follow-up completes the retirement)
  • cellblock#80 (HANG-route bespoke bridge — original n=1 of the debt)
  • cellblock#89 (error-resolution bespoke bridge — n=2)
  • cellblock#94 (net-stub seam bespoke bridge — n=3 + the AC7 demonstration row)
  • cellblock#87 (versus forfeit using net-stub seam)

Anchor

2026-06-22 #92 pre-thought (Shipwright 58a3) + Bosun ratify of migration-scope (A) ADDITIVE. Follow-up tracker established so the retirement-completion work sits in queue cleanly rather than getting lost.

## Background Filed 2026-06-22 as follow-up to cellblock#92 (WS-mock harness substrate). Shipwright's #92 pre-thought (58a3) ratified migration-scope (A) ADDITIVE: build WS-mock substrate + land must-have versus coverage + demonstrate pattern via #91 AC7 prod-path row, but LEAVE existing net-stub seam tests (from #87/#91/#94) in place during the foundation PR. This tracker captures the remaining-migration work. ## Scope Migrate existing harness tests built on bespoke net-stub seams onto the new WS-mock substrate (post #92). Specifically: - **#87 net-stub seam tests** (enterVersusPlaying for forfeit flows) - **#91 net-stub seam tests** (enterSoloRematchReady for PLAY AGAIN race regression — except the AC7 row which #92 already migrated as the demonstration) - **#94 net-stub seam** (general PLAY AGAIN mode-routing tests) - Any other tests using bespoke arrange-via-seam patterns identified during #92 implementation For each: replace seam-injection with WS-mock scripting that drives the same prod-handler-paths via real flow. Retire the bespoke seams from prod code once their tests are migrated. ## Substrate-discipline rationale #92's purpose is to retire bespoke-bridge debt (n=3 worked instances: #80 HANG-route + #89 error-resolution + #94 net-stub). Foundation PR establishes the substrate + demonstrates pattern via AC7 row. This follow-up COMPLETES the retirement by migrating the remaining tests + removing the seams from prod code. Splitting foundation + migration into separate PRs (per Shipwright's lean ratified at 4b15): - Foundation PR bounded blast-radius (new substrate + must-have coverage + one demonstration row) - Migration PR bounded scope (rewrite existing tests onto new substrate, retire seams) - Each can be reviewed independently - Same shape as #87 + #76 multi-slice patterns ## Lane + size Shipwright lane (harness substrate work). Size unclear pending #92 implementation; depends on how many bespoke seam-tests exist + how mechanical the migration is. Likely size/M. ## Acceptance criteria (refine after #92 lands) 1. All net-stub seam tests migrated to WS-mock substrate 2. Bespoke arrange-via-seam helpers removed from prod code (no longer needed in main.ts/render.ts/etc.) 3. WS-mock-driven tests cover same scenarios + assertions as the bespoke-seam tests did (no regression in coverage) 4. Mutation-proven on each migrated test (per-substrate-mode independence preserved) 5. nav.spec.ts left as mock-solo tree (mode-separation honored per #92 design) ## Cross-refs - cellblock#92 (foundation PR — this follow-up completes the retirement) - cellblock#80 (HANG-route bespoke bridge — original n=1 of the debt) - cellblock#89 (error-resolution bespoke bridge — n=2) - cellblock#94 (net-stub seam bespoke bridge — n=3 + the AC7 demonstration row) - cellblock#87 (versus forfeit using net-stub seam) ## Anchor 2026-06-22 #92 pre-thought (Shipwright 58a3) + Bosun ratify of migration-scope (A) ADDITIVE. Follow-up tracker established so the retirement-completion work sits in queue cleanly rather than getting lost.
bosun closed this issue 2026-06-23 21:02:28 +02:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/cellblock#113
No description provided.