soroban-abacus-flashcards/apps/web/drizzle
Thomas Hallock affad2f4a6 feat(monitoring): add E2E smoke tests with Gatus integration
Add Playwright-based smoke tests that run every 15 minutes via k8s CronJob,
with results exposed to Gatus for status.abaci.one monitoring.

- Add smoke_test_runs table for storing test results
- Add /api/smoke-test-status endpoint (Gatus checks this)
- Add /api/smoke-test-results endpoint (CronJob reports here)
- Add smoke tests for homepage, arcade, practice, and flowchart pages
- Add smoke-test-runner.ts script
- Add Dockerfile.smoke-tests based on Playwright image
- Add GitHub Actions workflow to build smoke tests image
- Add Kubernetes CronJob Terraform config
- Update Gatus config with Browser Smoke Tests endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 05:08:50 -06:00
..
meta feat(monitoring): add E2E smoke tests with Gatus integration 2026-01-24 05:08:50 -06:00
0000_third_carnage.sql
0001_friendly_stingray.sql
0002_loose_ultimatum.sql
0003_naive_reptil.sql
0004_shiny_madelyne_pryor.sql
0005_flimsy_squadron_sinister.sql
0005_jazzy_mimic.sql
0006_pretty_invaders.sql
0007_access_modes.sql
0008_make_room_name_nullable.sql
0009_add_display_password.sql
0010_make_game_name_nullable.sql
0011_add_room_game_configs.sql
0012_damp_mongoose.sql
0013_conscious_firebird.sql
0014_remarkable_master_chief.sql
0015_early_pepper_potts.sql
0016_confused_the_enforcers.sql
0017_skinny_red_hulk.sql
0018_brief_red_wolf.sql
0019_broad_vance_astro.sql
0020_supreme_saracen.sql
0021_little_sentry.sql
0022_nappy_titanium_man.sql
0023_flaky_naoko.sql
0024_past_richard_fisk.sql
0025_sparkling_susan_delgado.sql
0026_add_practice_sessions.sql
0027_help_system_schema.sql
0028_medical_wolfsbane.sql feat(practice): unify dashboard with session-aware progress display 2025-12-09 20:59:53 -06:00
0029_first_black_tarantula.sql feat(practice): add response time tracking and live timing display 2025-12-11 18:23:03 -06:00
0030_tan_jean_grey.sql feat(practice): migrate mastery model to isPracticing + computed fluency 2025-12-12 20:10:46 -06:00
0031_boring_namora.sql feat(practice): migrate mastery model to isPracticing + computed fluency 2025-12-12 20:10:46 -06:00
0032_drop_mastery_level_column.sql refactor(practice): remove deprecated masteryLevel column 2025-12-12 21:03:20 -06:00
0033_swift_eddie_brock.sql feat(bkt): implement adaptive skill targeting with validated convergence 2025-12-15 17:16:18 -06:00
0034_skill_tutorial_progress.sql feat(practice): add student notes with animated modal + BKT improvements 2025-12-18 06:39:04 -06:00
0035_cold_slapstick.sql fix(migration): add statement-breakpoint between CREATE and INSERT 2025-12-18 07:18:50 -06:00
0036_lonely_roland_deschain.sql feat(practice): add student notes with animated modal + BKT improvements 2025-12-18 06:39:04 -06:00
0037_drop_practice_sessions.sql feat(practice): add SkillUnlockBanner + session summary improvements 2025-12-18 15:16:34 -06:00
0038_drop_skill_stat_columns.sql feat(practice): add student organization with filtering and archiving 2025-12-20 10:37:34 -06:00
0039_add_player_archived.sql feat(practice): add student organization with filtering and archiving 2025-12-20 10:37:34 -06:00
0040_rename_last_help_level_to_last_had_help.sql refactor(help): rename helpLevel terminology to hadHelp boolean 2025-12-21 07:04:52 -06:00
0041_classroom-system.sql feat(family): implement parent-to-parent family code sharing (Phase 2) 2025-12-22 12:41:20 -06:00
0042_classroom-system-indexes.sql feat(family): implement parent-to-parent family code sharing (Phase 2) 2025-12-22 12:41:20 -06:00
0043_add_session_pause_columns.sql fix(db): add missing is_paused column to session_plans 2025-12-26 12:28:08 -06:00
0044_add_is_paused_column.sql fix(db): add missing is_paused column to session_plans 2025-12-26 12:28:08 -06:00
0045_add_player_stats_table.sql feat: API authorization audit + teacher enrollment UI + share codes 2025-12-27 19:27:09 -06:00
0046_session_observation_shares.sql feat(observer): implement shareable session observation links 2025-12-28 17:46:34 -06:00
0047_add_entry_prompts.sql feat(classroom): implement entry prompts system 2025-12-29 16:41:47 -06:00
0048_ambitious_firedrake.sql feat(classroom): implement entry prompts system 2025-12-29 16:41:47 -06:00
0049_flowery_jean_grey.sql feat(practice): implement retry wrong problems system 2025-12-29 21:56:48 -06:00
0050_abandoned_salo.sql feat(practice): add photo attachments for practice sessions 2025-12-30 20:33:18 -06:00
0051_luxuriant_selene.sql feat(practice): add photo editing with rotation persistence and auto-detect 2025-12-31 13:34:19 -06:00
0052_remarkable_karnak.sql feat(practice): add photo editing with rotation persistence and auto-detect 2025-12-31 13:34:19 -06:00
0053_premium_expediter.sql feat(practice): add photo editing with rotation persistence and auto-detect 2025-12-31 13:34:19 -06:00
0054_new_mathemanic.sql feat(vision): add physical abacus column setting and fix remote flash toggle 2025-12-31 22:33:58 -06:00
0055_add_attachment_parsing.sql feat: add LLM client package and worksheet parsing infrastructure 2026-01-02 08:49:48 -06:00
0056_add_llm_metadata.sql feat(worksheet-parsing): add selective re-parsing and improve UI 2026-01-02 20:41:09 -06:00
0057_flowery_korath.sql feat(worksheet-parsing): add selective re-parsing and improve UI 2026-01-02 20:41:09 -06:00
0058_blushing_impossible_man.sql feat(worksheet-parsing): add selective re-parsing and improve UI 2026-01-02 20:41:09 -06:00
0059_steep_shockwave.sql perf: lazy-load not-found pages to save ~4.7MB per page load 2026-01-04 08:22:41 -06:00
0060_conscious_wolf_cub.sql fix(db): add missing game_break_settings column to session_plans 2026-01-05 17:26:18 -06:00
0061_military_lionheart.sql feat(vision): add filtering and passive capture for boundary training data 2026-01-10 10:25:56 -06:00
0062_confused_captain_midlands.sql feat(vision): add sync history tracking with tombstone pruning 2026-01-10 11:59:13 -06:00
0063_unique_moondragon.sql feat(scanner): add camera controls, auto presets, and persisted settings 2026-01-12 11:12:30 -06:00
0064_thin_marvel_apes.sql feat(scanner): add camera controls, auto presets, and persisted settings 2026-01-12 11:12:30 -06:00
0065_sour_jubilee.sql feat(dashboard): add scoreboard tab with game results tracking 2026-01-13 10:26:49 -06:00
0066_minor_living_tribunal.sql feat(scoreboard): add skills metrics with classroom leaderboard 2026-01-13 13:13:21 -06:00
0067_lumpy_molten_man.sql feat(vision): add multi-attempt recording support for epoch retries and manual redos 2026-01-14 07:55:24 -06:00
0068_flaky_war_machine.sql feat(vision): implement per-problem video recording for teacher playback 2026-01-13 18:21:54 -06:00
0069_thankful_wasp.sql feat(vision): add multi-attempt recording support for epoch retries and manual redos 2026-01-14 07:55:24 -06:00
0070_ordinary_robin_chapel.sql feat(vision): add multi-attempt recording support for epoch retries and manual redos 2026-01-14 07:55:24 -06:00
0071_mcp_api_keys.sql feat(docs): add auto-generated API documentation with Scalar UI 2026-01-15 15:56:27 -06:00
0072_sudden_shard.sql feat(flowchart-workshop): complete teacher flowchart workshop implementation 2026-01-19 20:28:50 -06:00
0073_complete_deadpool.sql feat(flowchart): add animated background tiles to FlowchartCards 2026-01-20 10:10:49 -06:00
0074_flowchart_embeddings.sql feat(flowchart): add animated background tiles to FlowchartCards 2026-01-20 10:10:49 -06:00
0075_prompt_embedding.sql feat(flowchart): add animated background tiles to FlowchartCards 2026-01-20 10:10:49 -06:00
0076_charming_rachel_grey.sql feat(flowchart): add animated background tiles to FlowchartCards 2026-01-20 10:10:49 -06:00
0077_flowchart_version_history.sql feat(flowchart-workshop): add version history with preview mode 2026-01-23 13:52:59 -06:00
0078_smoke_test_runs.sql feat(monitoring): add E2E smoke tests with Gatus integration 2026-01-24 05:08:50 -06:00