[pytest] testpaths = tests markers = engine: Level 2 — headless cell execution via marimo.App.run() widget: Level 3 — widget structure and prediction-reveal flow protocol: Level 4 — protocol invariant compliance (pedagogical quality gates)