Skip to content

feat(persona): W5.1-W5.5 Premium-A persona tests (audit #69 follow-up)#196

Merged
amaster97 merged 1 commit into
mainfrom
feat-w5-persona-tests-premium-a
May 28, 2026
Merged

feat(persona): W5.1-W5.5 Premium-A persona tests (audit #69 follow-up)#196
amaster97 merged 1 commit into
mainfrom
feat-w5-persona-tests-premium-a

Conversation

@amaster97

Copy link
Copy Markdown
Owner

Summary

The five workflows

ID Workflow Enabled by
W5.1 Blueprint Casual Lookup (100 BB / no-ante / AKs, <100 ms warm-cache, 10 cells populated) PR #174 (BlueprintLoader, Phase 2 / #68)
W5.2 Interpolated Depth Lookup (67 BB = 0.65 * v60 + 0.35 * v80 convex blend) PR #173 (interpolation, Phase 3) + PR #181 (router, Phase 5)
W5.3 Blueprint → Postflop Chained on Qs7h2d (synthetic 2-class smoke; production-scale shipped-blueprint deferred to v1.10 perf roadmap) PR #177 (postflop subgame wiring) + PR #182 (b/r token fix) + PR #181
W5.4 Custom Range Fallback (B10 override forces custom_live_solve, not blueprint_lookup) PR #181 + B10 Phase trail PRs #149/#154/#158
W5.5 Ante Selection (40 BB / 72o shifts L1 > 0.05 across no/half/full ante) 27-shard assets/blueprints/ bundle (chore 1783bef) + PR #174 (normalize_ante)

Key finding (W5.3 caveat)

W5.3's production-scale fixture (shipped 169-class blueprint × full b300c line × Qs7h2d flop) currently OOMs at every credible class-filter setting per docs/flop_subgame_perf_measurement_2026-05-28.md — even the floor configuration (top_k=2 / iter=2 / 3-class-hero × 2-class-villain) hits the 20-min hard timeout. The W5.3 persona test ships a synthetic 2-class smoke fixture that exercises the same three pipeline stages (lookup → 1326-expand → postflop solve) without the production-scale OOM. The docs/v1_10_postflop_optimization_plan.md roadmap is the path to a production-scale W5.3 PASS; the spec line + status snapshot both document this as a deferred follow-up.

This is not a new bug — the audits already knew the perf gap existed. The W5.3 spec line is authored to match what the engine can do today, and the synthetic-fixture caveat is explicit in three places (persona spec W5.3 entry, status snapshot §"W5.3 caveat", test-file docstring).

Test plan

  • pytest tests/test_w5_premium_a_personas.py -v — 13/13 PASS in 1.13 s
  • pytest tests/test_w5_premium_a_personas.py tests/test_blueprint_loader.py tests/test_blueprint_interp.py tests/test_solver_router.py tests/test_blueprint_subgame_wiring.py -v -m "not slow" — 127/127 PASS in 3.14 s (no regression on Blueprint/Loader/Interp/Router/Subgame tests)
  • pytest tests/test_w5_premium_a_personas.py -v -m slow — 1/1 PASS in 0.93 s (W5.3 synthetic-fixture postflop solve)

🤖 Generated with Claude Code

Audits #69 (v1.9.0) and #71 (v1.10.0) both flagged that the persona-
table claimed Wendy (Premium-A consumer) coverage existed but the W5.x
workflows had never been authored. This PR ships the five W5.x persona
tests via tests/test_w5_premium_a_personas.py, restores the persona
acceptance spec at docs/pr13_prep/persona_acceptance_spec.md (lost when
the docs/pr13_prep/ directory was historically purged), and bumps the
snapshot count 17 → 22 in docs/persona_status_2026-05-28-w5x.md.

The five workflows:
  W5.1 — Blueprint Casual Lookup (100 BB / no-ante / AKs, <100 ms
         warm-cache, 10 cells populated) — PR #174 (BlueprintLoader)
  W5.2 — Interpolated Depth Lookup (67 BB = 0.65 * v60 + 0.35 * v80
         convex blend) — PR #173 (interp) + PR #181 (router)
  W5.3 — Blueprint → Postflop Chained on Qs7h2d, synthetic 2-class
         smoke fixture (production-scale OOM-blocked per the v1.10
         perf roadmap; documented as a deferred follow-up) — PR #177
         + PR #182 + PR #181
  W5.4 — Custom Range Fallback (B10 override forces custom_live_solve,
         not blueprint_lookup) — PR #181 + B10 PRs #149/#154/#158
  W5.5 — Ante Selection (40 BB / 72o shifts L1>0.05 across no/half/
         full ante) — 27-shard bundle (chore `1783bef`) + PR #174

13/13 tests PASS in 1.13 s on M-series arm64. No engine code touched;
docs + tests only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@amaster97 amaster97 merged commit aca3848 into main May 28, 2026
5 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant