Phase 37.3 • 3.7.3-gameplay-action-verification-live-readiness
Gameplay Action Verification & Live Readiness
Final Phase 37 server checklist before Phase 38 UX polish: migrations, real gameplay smoke tests, idempotency, reconciliation, replay, demo seed, self-test and troubleshooting.
Live Readiness100%pass · 46 pass
Migration Statuswarning0 / 4 recorded
Gameplay Flows99 flow checks
RecommendationpassPhase 37 is live-ready. Move to Phase 38 player UX polish after one real pack/squad/battle/market/trade smoke test on the server.
Live Migration Verification
| Migration | File | DB Installed | Status | Fix |
|---|---|---|---|---|
| 049_phase37_core_player_gameplay_actions.sql Phase 37 action wrappers and receipts |
Present | Not recorded | warning | Run /install/ to record and apply this migration on the live database. |
| 050_phase37_core_gameplay_action_hardening.sql Phase 37.1 hardening, locks, audit and event buses |
Present | Not recorded | warning | Run /install/ to record and apply this migration on the live database. |
| 051_phase37_2_real_gameplay_engine_completion.sql Phase 37.2 real gameplay engine, replay, reconciliation and contracts |
Present | Not recorded | warning | Run /install/ to record and apply this migration on the live database. |
| 052_phase37_3_gameplay_action_verification_live_readiness.sql Phase 37.3 live verification, troubleshooting and readiness snapshots |
Present | Not recorded | warning | Run /install/ to record and apply this migration on the live database. |
Readiness Checks
| Group | Check | Status | Fix |
|---|---|---|---|
| migrations | 049_phase37_core_player_gameplay_actions.sql Phase 37 action wrappers and receipts |
pass | None. |
| migrations | 050_phase37_core_gameplay_action_hardening.sql Phase 37.1 hardening, locks, audit and event buses |
pass | None. |
| migrations | 051_phase37_2_real_gameplay_engine_completion.sql Phase 37.2 real gameplay engine, replay, reconciliation and contracts |
pass | None. |
| migrations | 052_phase37_3_gameplay_action_verification_live_readiness.sql Phase 37.3 live verification, troubleshooting and readiness snapshots |
pass | None. |
| database | migrations Migration tracking table |
pass | None. |
| database | idempotency_keys Idempotency replay table |
pass | None. |
| database | phase37_player_action_receipts Phase 37 action receipts |
pass | None. |
| database | phase37_action_audit Phase 37.1 action audit |
pass | None. |
| database | phase37_hardening_checks Phase 37.1 hardening checks |
pass | None. |
| database | phase37_escrow_intents Phase 37.1 escrow intents |
pass | None. |
| database | phase37_mission_events Phase 37.1 mission event bus |
pass | None. |
| database | phase37_notification_events Phase 37.1 notification event bus |
pass | None. |
| database | phase37_2_action_receipt_summaries Phase 37.2 frontend receipt summaries |
pass | None. |
| database | phase37_2_action_replay_snapshots Phase 37.2 admin replay snapshots |
pass | None. |
| database | phase37_2_reconciliation_runs Phase 37.2 reconciliation runs |
pass | None. |
| database | phase37_2_action_contracts Phase 37.2 action contracts |
pass | None. |
| database | phase37_2_demo_seed_runs Phase 37.2 demo seed runs |
pass | None. |
| database | phase37_2_integration_self_tests Phase 37.2 integration self-tests |
pass | None. |
| database | phase37_3_live_readiness_snapshots Phase 37.3 live readiness snapshots |
pass | None. |
| database | phase37_3_verification_runs Phase 37.3 verification runs |
pass | None. |
| database | phase37_3_troubleshooting_notes Phase 37.3 troubleshooting notes |
pass | None. |
| database | user_wallets Wallet balance table |
pass | None. |
| database | economy_ledger Economy ledger |
pass | None. |
| database | user_cards Card ownership/inventory table |
pass | None. |
| database | card_ownership_history Card provenance table |
pass | None. |
| database | pack_definitions Pack definitions |
pass | None. |
| database | pack_opening_logs Pack opening logs |
pass | None. |
| database | pack_opening_items Pack opening items |
pass | None. |
| database | rng_proofs RNG/proof logs |
pass | None. |
| database | market_listings Marketplace listings |
pass | None. |
| database | trade_offers Trade offers |
pass | None. |
| database | guilds Guilds |
pass | None. |
| columns | phase37_player_action_receipts.idempotency_key Receipts are keyed by idempotency key |
pass | None. |
| columns | phase37_player_action_receipts.response_json Receipt stores response JSON |
pass | None. |
| columns | phase37_action_audit.affected_json Audit stores affected rows JSON |
pass | None. |
| columns | phase37_action_audit.error_code Audit stores standard error code |
pass | None. |
| columns | phase37_2_action_receipt_summaries.receipt_json Frontend receipt JSON exists |
pass | None. |
| columns | phase37_2_action_receipt_summaries.ledger_ids_json Ledger IDs are tracked in receipt summaries |
pass | None. |
| columns | phase37_3_live_readiness_snapshots.score Readiness score column exists |
pass | None. |
| columns | phase37_3_live_readiness_snapshots.payload_json Readiness payload JSON exists |
pass | None. |
| indexes | phase37_3_live_readiness_snapshots.idx_phase37_3_ready_status Snapshot status/date index |
pass | None. |
| indexes | phase37_3_verification_runs.idx_phase37_3_verify_status Verification status/date index |
pass | None. |
| indexes | phase37_3_troubleshooting_notes.uq_phase37_3_issue Troubleshooting issue unique key |
pass | None. |
| contracts | action_contract_count Phase 37.2 action contracts are available. |
pass | None. |
| routes | live_readiness_api Phase 37.3 live-readiness API routes are wired. |
pass | None. |
| admin | live_readiness_page Admin live readiness page exists. |
pass | None. |
Phase 37 Live Smoke-Test Checklist
| Test | Status | Missing Tables | Pass Condition |
|---|---|---|---|
| Test real pack opening with real cards pack_opening · migrations 049, 050, 051 |
ready | None | Buy/open a pack and confirm wallet spend, card mint, proof log, ledger and receipt. |
| Test real squad save squad_save · migrations 049, 050 |
ready | None | Save 13 starters + 4 interchange; reject duplicates, invalid positions and unowned cards. |
| Test battle result flow battle_result · migrations 049, 050, 051 |
ready | None | Start a battle and confirm result, reward-once key, XP/coin reward, mission progress and social hooks. |
| Test marketplace escrow marketplace_escrow · migrations 049, 050, 051 |
ready | None | List a card, buy it from another user, verify lock/transfer/fee/notification/ledger. |
| Test trade escrow trade_escrow · migrations 049, 050, 051 |
ready | None | Create/accept/reject/cancel trades and confirm locks, transfer and notifications. |
| Test auction escrow auction_escrow · migrations 049, 050, 051 |
ready | None | Bid, refund previous bidder, settle once and verify seller payout/card transfer. |
| Test mission engine mission_engine · migrations 050, 051 |
ready | None | Trigger pack/battle/trade/market/guild/social/auction events and claim once. |
| Test notification event bus notification_bus · migrations 050, 051 |
needs_migration | notification_preferences | Create notifications from actions and confirm read/unread, quiet hours and frequency caps. |
| Test idempotency replay idempotency_replay · migrations 049, 050 |
ready | None | Repeat same key/payload and expect same receipt; repeat same key/different payload and expect mismatch. |
| Test reconciliation tools reconciliation_tools · migrations 051 |
ready | None | Run reconciliation and inspect wallet/ledger/card/listing/trade/auction/mission/proof checks. |
| Test admin replay viewer admin_replay · migrations 051 |
ready | None | Open admin replay by idempotency key and confirm request, response, affected rows and warnings. |
| Test demo seed mode demo_seed · migrations 051 |
ready | None | Create safe demo data for test user and confirm it is clearly marked. |
| Test integration self-test mode integration_self_test · migrations 051 |
ready | None | Run dry-run first, then optional execute mode on a test account only. |
| Review API contract docs api_contracts · migrations 051 |
ready | None | Use /api/v1/player-actions/contracts before Phase 38 frontend work. |
| Review server-specific troubleshooting troubleshooting_docs · migrations 052 |
ready | None | Use the Phase 37.3 troubleshooting page for common cPanel/MySQL issues. |
Gameplay Flow Verification
| Flow | Status | Latest Receipt | Server Test |
|---|---|---|---|
| Pack opening pack_open |
pass |
No receipt yet | Open an owned unopened pack using /api/v1/player-actions/pack-open. |
| Squad save squad_save |
pass |
No receipt yet | Save 17 slots through /api/v1/squads/save. |
| Battle result battle_start |
pass |
No receipt yet | Start battle through /api/v1/battles/start. |
| Marketplace escrow marketplace_buy |
pass |
No receipt yet | List and buy between two test users. |
| Trade escrow trade_respond |
pass |
No receipt yet | Create and accept a test trade. |
| Auction settlement auction_settle |
pass |
No receipt yet | Bid and settle an auction. |
| Mission progress mission_claim |
pass |
No receipt yet | Trigger and claim a mission. |
| Notification event bus notification_read |
pass |
No receipt yet | Trigger a notification and mark it read. |
| Demo seed mode demo_seed |
pass |
No receipt yet | Run demo seed endpoint on test/admin account. |
Troubleshooting
| Issue | Symptom | Fix |
|---|---|---|
| Missing Phase 37 tables | No rows available, readiness warnings, or SQL table missing errors. | Run /install/ and confirm migrations 049, 050, 051 and 052 are recorded in migrations table. |
| Cards not minting on pack open | Pack opens but no user_cards or pack_opening_items row appears. | Check card pool eligibility, edition limits, pack_opening_logs, rng_proofs and economy_ledger rows. |
| Pack proof missing | Player receipt has no proof_log_id or proof page cannot load. | Verify rng_proofs and pack_opening_logs tables, then retry with a fresh idempotency key. |
| Duplicate idempotency key | Action returns idempotency_payload_mismatch. | Mobile/web client reused the same key with a different body. Generate a new UUID per unique write action. |
| Ledger mismatch | Wallet does not match ledger totals or reconciliation warns. | Run economy reconciliation, inspect economy_ledger rows for that user and avoid manual wallet edits without ledger correction. |
| Card stuck locked | Card cannot be used after listing/trade/auction is cancelled. | Inspect market_listings/trade_offers/market_bids, then use admin rollback/repair once the pending item is resolved. |
| Listing stuck pending | Listing stays active after sale/cancel. | Check market_transactions and listing status; run marketplace reconciliation and clear stale locks only after ledger/provenance is verified. |
| Auction not settling | Auction closed but card/funds did not transfer. | Run auction settlement endpoint as seller/admin, check market_bids and user_wallets, then inspect phase37_escrow_intents. |
| Mission not progressing | Gameplay action succeeds but mission progress unchanged. | Check phase37_mission_events status, challenge_definitions activity_type and user_challenge_progress. |
| Notification not created | Trade/sale/battle succeeds but no notification. | Check phase37_notification_events, notification_preferences, quiet hours and frequency caps. |
Latest Verification Runs
Readiness Snapshots
[]
Verification Runs
[]
