J.A.R.V.I.S-py/tests
Bossiara13 94edb73f26 feat: Python parity for Wave 6-8 — memory admin / cooking / leftoff / trivia / routines
New module `wave68_handlers.py` (~270 lines) covering the Rust packs that
were Rust-only after Waves 6-8:

  - memory_admin: do_memory_count/list/wipe (with full RU plural decl.)
  - cooking: do_cooking + reusable match_recipe(phrase) for the 15-dish
    preset table. Schedules a "ready!" reminder via scheduler_store.
  - leftoff: do_leftoff stitches memory + scheduled tasks + last reply
    into a one-paragraph recap. Offline.
  - trivia: do_trivia random one-liner from RU/EN MCU pools.
  - routines: do_good_night (sleep profile + cancel one-shots),
    do_good_morning (default profile + agenda hint),
    do_coffee_break (5-min check-in via scheduler).

memory_store: new clear_all() returning removed count, atomic via _save.

extensions.py: imports + set_speak wiring + 9 proxy do_* fns.
main.py: 9 new dispatch elifs.
commands.yaml: 9 new entries (now 196 total).

tests/test_wave68_handlers.py: 15 unit tests covering each handler.
Test helper `_rewire()` re-imports state modules via the existing
isolated_state fixture then re-binds the wave68_handlers module-level
refs — fixes the gotcha where module-level imports cache the OLD
memory_store / scheduler_store instances from process startup.

Tests: 81 → 96 (+15).
2026-05-16 14:55:47 +03:00
..
__init__.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
conftest.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_gui_smoke.py feat: Wave 3 — plugin loader + Flet GUI (parity with Rust fork) 2026-05-16 13:27:04 +03:00
test_llm_backend.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_macros_store.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_memory_store.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_outlook_handlers.py feat: Wave 5 Python parity — outlook COM + time tracker 2026-05-16 14:34:44 +03:00
test_personality_handlers.py feat: personality pack — Python parity 2026-05-16 13:53:44 +03:00
test_plugins_store.py feat: Wave 3 — plugin loader + Flet GUI (parity with Rust fork) 2026-05-16 13:27:04 +03:00
test_profiles_store.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_scheduler_store.py feat+test: pytest suite + Now Playing + World Clock + Daily Quote packs (154 commands) 2026-05-16 00:56:02 +03:00
test_time_tracker.py feat: Wave 5 Python parity — outlook COM + time tracker 2026-05-16 14:34:44 +03:00
test_wave68_handlers.py feat: Python parity for Wave 6-8 — memory admin / cooking / leftoff / trivia / routines 2026-05-16 14:55:47 +03:00