Scope
Files to port from main: video_analysis.py.
Tests: tests/test_video_analysis.py.
Wiring: register the router in main.py.
Background
During the last campaign, dnb-ai's main and dev branches diverged and bounty PRs landed on both. We are consolidating on dev as the single source of truth. This issue ports one self-contained module that currently exists only on main over to dev, together with its tests, so dev becomes the complete app.
Rules (must follow for the PR to be payable)
- Branch from
dev; your PR must target dev (not main).
- Copy the reference implementation from
main — do not rewrite it.
- Bring the module file(s) and its test(s).
pytest for the module must pass and flake8 must be clean.
- If the module exposes a FastAPI router, register it in
dev's main.py exactly as main does — this is the only change permitted to a shared/core file, and it must be minimal.
- Do NOT modify any reconciliation-reserved core file:
orchestration.py, main.py (beyond the single router include), tafsir.py, citations.py, cross_reference.py, confidence.py, review.py, verifier.py, model_router.py, query_optimizer.py, history.py, faraid.py, thematic_quran.py, prompts/registry.py.
Acceptance criteria
Scope
Files to port from
main:video_analysis.py.Tests:
tests/test_video_analysis.py.Wiring: register the router in
main.py.Background
During the last campaign, dnb-ai's
mainanddevbranches diverged and bounty PRs landed on both. We are consolidating ondevas the single source of truth. This issue ports one self-contained module that currently exists only onmainover todev, together with its tests, sodevbecomes the complete app.Rules (must follow for the PR to be payable)
dev; your PR must targetdev(notmain).main— do not rewrite it.pytestfor the module must pass andflake8must be clean.dev'smain.pyexactly asmaindoes — this is the only change permitted to a shared/core file, and it must be minimal.orchestration.py,main.py(beyond the single router include),tafsir.py,citations.py,cross_reference.py,confidence.py,review.py,verifier.py,model_router.py,query_optimizer.py,history.py,faraid.py,thematic_quran.py,prompts/registry.py.Acceptance criteria
maintodevunchanged in behaviorpytestflake8cleanmain.pyand endpoint reachabledev, no changes to reserved core files