Two critical test additions:
1. test_system_full_lifecycle.py — Full A-to-Z integration test:
Exercises the ENTIRE bot pipeline across 4 screen types (HomeFeed →
Explore → Post Detail → Profile) with a real InstagramEmulator state
machine. Validates plugin execution, session state accumulation,
cognitive stack survival, dopamine session timeout, and post-session
serialization. This is the single most important test in the suite.
2. test_system_coverage_gate.py — Critical Path Coverage Enforcement:
Reads coverage_e2e.json and enforces minimum coverage thresholds on
production-critical modules. Each threshold is tied to a real production
incident. If persistent_list.py drops below 20% coverage, the build
fails — because that's exactly how the sessions.json corruption
bug went undetected.
Usage: pytest tests/e2e --cov=GramAddict.core \
--cov-report=json:coverage_e2e.json
Critical paths enforced:
- session_state.py (>=50%): serialization crash prevention
- persistent_list.py (>=20%): persist() path must be tested
- dopamine_engine.py (>=40%): session timeout logic
- screen_identity.py (>=60%): screen identification
- spatial_parser.py (>=70%): UI element parsing
- intent_resolver.py (>=50%): click decision logic
- q_nav_graph.py (>=25%): navigation integrity
- device_facade.py (>=40%): device interface