Files
instagram-bot/tests/e2e
Marc Mintel 1cc367697e test: add 55-test LLM perception pipeline integrity suite
Validates the deterministic processing logic around the VLM without
needing a real LLM. Five contracts covering the full perception stack:

1. VLM Response Parsing (20 parametrized formats):
   Tests _parse_yes_no against every response format observed in production:
   clean YES/NO, JSON variants, explanations, edge cases (now/not/nothing),
   empty strings, free-form JSON. Documents the startswith('yes') early-exit
   behavior for ambiguous responses.

2. Box Index Extraction (7 formats):
   Validates JSON parsing of VLM box selections across all observed key
   variants: 'box', 'selected_index', 'box_index', 'index', null, and
   out-of-range values.

3. Structural Guards (11 tests):
   Tests every hallucination prevention guard in IntentResolver:
   - Tab intent excludes Back button (bug 2026-04-30)
   - Back intent preserves Back button
   - Tab height guard (y > 85% screen)
   - Author intent excludes nav tabs (bug 2026-05-01)
   - Structural fast-paths (message input, send, author, comment)
   - Abstract goals return None
   - Semantic quoted-target guard

4. Semantic Match Validation (10 tests):
   Prevents memory poisoning via _intent_matches_node:
   - Correct matches (follow/like/save + German locale)
   - Poisoning attempts: Reel thumbnails, photo content, comments
   - Non-toggle intents always pass through

5. ActionMemory Lifecycle (7 tests):
   Full track → confirm/reject cycle with FakeUIMemoryDB:
   - Correct follow stores in memory
   - Poisoned follow is BLOCKED (production bug reproduction)
   - Rejected click triggers confidence decay
   - No-track confirm is noop
   - Mismatched intent is ignored
   - Follow/view-post structural verification
2026-05-02 22:07:12 +02:00
..
2026-04-16 18:58:18 +02:00