{ "_comment": "Maps each delivered story to the automated tests that exercise it. Verified by tests/e2e/test_traceability.py: every mapped story maps to existing test files, every test file is claimed by a story (no unexercised tests), and all Phase A (E01) stories US01-01..US01-07 are present.", "stories": { "US01-01": [ "tests/characterization/test_donor_ledger.py", "tests/characterization/test_pa_discovery.py", "tests/characterization/test_pa_hashing_dedup.py", "tests/characterization/test_pa_imaging.py", "tests/characterization/test_pa_exif.py", "tests/characterization/test_pa_db.py", "tests/characterization/test_pa_album.py", "tests/characterization/test_pa_config.py", "tests/characterization/test_pa_variants.py", "tests/characterization/test_nsfwtag.py", "tests/characterization/test_webapp_query.py" ], "US01-02": [ "tests/unit/test_config.py", "tests/integration/test_migrations.py", "tests/integration/test_app_lifecycle.py" ], "US01-03": [ "tests/unit/test_path_policy.py", "tests/unit/test_hashing.py", "tests/integration/test_inventory_reconcile.py" ], "US01-04": [ "tests/unit/test_phash.py", "tests/integration/test_duplicate_engine.py" ], "US01-05": [ "tests/unit/test_thumbnail_cache_key.py", "tests/integration/test_thumbnails.py" ], "US01-06": [ "tests/integration/test_review_api.py", "tests/e2e/test_review_ui.py" ], "US01-07": [ "tests/e2e/test_phase_a_pipeline.py", "tests/e2e/test_traceability.py" ], "US02-01": [ "tests/unit/test_safety.py", "tests/unit/test_design_tokens.py", "tests/integration/test_safety_parity.py" ], "US02-02": [ "tests/unit/test_job_state_machine.py", "tests/integration/test_jobs.py" ], "US02-03": [ "tests/unit/test_lock_order.py", "tests/integration/test_worker.py", "tests/e2e/test_worker_kill.py" ], "US02-04": [ "tests/integration/test_jobs_api.py", "tests/integration/test_jobs_sse.py" ], "US02-05": [ "tests/e2e/test_frontend_shell.py" ], "US02-06": [ "tests/integration/test_safety_analysis.py", "tests/e2e/test_workflow_views.py" ], "US02-07": [ "tests/e2e/test_phase_b_pipeline.py", "tests/e2e/test_analysis_browser.py" ] } }