Progress
Scenario ledger
Every Gherkin spec file — written in v1's QA repo, ported to v2, executing green
The v1 QA repository holds the intended behaviour as Gherkin. None of it was executable: 63 scenarios describing a bot, run by nobody. Porting a feature means making its scenarios run against v2 — same wording, real assertions.
This ledger is the honest version of "how much of the spec do we actually execute". A row with scenarios written and none ported is work not started; a row that is green is behaviour that would break the build if it regressed.
| Spec | v1 | Ported | Green | Failing | State |
|---|---|---|---|---|---|
| core_botskins | 3 | 5 | 5 | — | green |
| core_groupguardian | 2 | 9 | 9 | — | green |
| core_listcommand | 2 | 4 | 6 | — | green |
| core_llm_provider | — | 9 | 9 | — | v2-only spec |
| core_media_storage | — | 8 | 8 | — | v2-only spec |
| core_mediarestrict | 2 | 6 | 9 | — | green |
| core_musicdetection | 1 | 5 | 5 | — | green |
| core_privacy | 1 | 4 | 8 | — | green |
| core_reload | — | 2 | 3 | — | v2-only spec |
| core_rules | 4 | 9 | 14 | — | green |
| core_setlang | 3 | 8 | 8 | — | green |
| core_stickerspam | 2 | 6 | 9 | — | green |
| core_welcome | 3 | 10 | 18 | — | green |
| fun_battle | 1 | 10 | 10 | — | green |
| fun_complaint | 2 | 4 | 4 | — | green |
| fun_death | 2 | 7 | 8 | — | green |
| fun_dice | 3 | 8 | 9 | — | green |
| fun_firecracker | 1 | 2 | 2 | — | green |
| fun_meme | 2 | 4 | 4 | — | green |
| fun_partneredcons | 7 | 10 | 10 | — | green |
| fun_random | 1 | 5 | 33 | — | green |
| fun_ship | 3 | 7 | 8 | — | green |
| util_birthday | 1 | 3 | 3 | — | green |
| util_calladms | 1 | 4 | 7 | — | green |
| util_config | 2 | 5 | 6 | — | green |
| util_deletereposts | 2 | 2 | 2 | — | green |
| util_doomlist | 1 | 6 | 4 | — | green |
| util_embedder | 2 | 9 | 16 | — | green |
| util_everyone | 2 | 3 | 3 | — | green |
| util_isalive | 2 | 4 | 4 | — | green |
| util_nextbirthday | 1 | 2 | 2 | — | green |
| util_postforwarder | 2 | 8 | 8 | — | green |
| util_postgetter | 1 | 4 | 4 | — | green |
| util_youtube | 1 | 1 | 1 | — | green |
| x_age_guess | — | 5 | 7 | — | v2-only spec |
| x_analysis | — | 4 | 7 | — | v2-only spec |
| x_conversational_ai | — | 7 | 7 | — | v2-only spec |
| x_custom_commands | — | 6 | 6 | — | v2-only spec |
| x_distortion | — | 10 | 12 | — | v2-only spec |
| x_drawing_idea | — | 3 | 5 | — | v2-only spec |
| x_fortune_cookie | — | 3 | 5 | — | v2-only spec |
| x_gender_guess | — | 6 | 8 | — | v2-only spec |
| x_giveaways | — | 10 | 10 | — | v2-only spec |
| x_image_search | — | 10 | 10 | — | v2-only spec |
| x_owner_commands | — | 8 | 9 | — | v2-only spec |
| x_reverse_search | — | 6 | 6 | — | v2-only spec |
| x_speech_to_text | — | 6 | 6 | — | v2-only spec |
| x_sticker_autoreply | — | 6 | 6 | — | v2-only spec |
| x_unearth | — | 5 | 6 | — | v2-only spec |
Reading a state
| State | Means |
|---|---|
green | Every ported scenario for this spec executed and passed |
partial | Some of the v1 scenarios are ported, others are not |
not ported | v1 specified it; v2 has no executable scenario yet |
v2-only spec | Behaviour v2 added or pinned down that v1 never specified |
failing | A ported scenario is red — the one state that is a bug, not a plan |
no step definitions | The .feature file exists but nothing binds its steps |