{"quest":{"id":"q-content-quality","name":"Content Quality Sweep","description":"HIGHEST PRIORITY: Systematic review of all top-level pages and content for quality issues. The system has accumulated junk: 7,824 broken figure artifacts, duplicate test hypotheses, placeholder notebooks, and low-quality auto-generated content. Quality gates are post-hoc only. This quest gates ALL future content generation behind quality verification.","layer":"Senate","priority":62,"status":"active","created_at":"2026-04-06T14:11:50.565579+00:00","updated_at":"2026-04-10T14:44:10.355870+00:00"},"tasks":[{"id":"4594b494-0bb1-478a-9bfd-6f98aae07d3d","title":"[Quality] Regenerate all 67 stub notebooks linked from showcase/walkthrough analyses","description":"Find notebooks linked from WALKTHROUGH_IDS analyses that are stubs (<10KB). For each: regenerate using the forge/seaad_analysis.py pattern — pull analysis hypotheses, call Forge tools (PubMed, STRING, Reactome), build ipynb, execute, render HTML. Priority: notebooks reachable from /showcase navigation.","status":"open","priority":82,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:13:05.533644+00:00","updated_at":"2026-04-28T06:31:30.465325+00:00","summary":"","completion_summary":"[Atlas] Regenerate 9 WALKTHROUGH stub notebooks with real Forge tool outputs","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/showcase_notebook_rebuild_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6, \"safety\": 9}, \"completion_shas\": [\"6095f6ee18f62960c28347f38743ac09e40a6b3f\"], \"completion_shas_checked_at\": \"2026-04-12T17:38:17.492156+00:00\", \"completion_shas_missing\": [\"6d41401ff66a6dbee8a3ccc4981c2ebcd33c6fc2\", \"fccee9aead44199e4606b4c2fa448920c15fd828\", \"7a0f85eecdfa2143efb2bc6fd5f80441df2c5f9a\", \"8e9f818137f905ea4615f779ded1eef5aadeb4e0\", \"7318642be0314e3143d2a3be03044d9959a299db\", \"92ca8db4bb39d0f5df28b82db226f985964372a4\", \"9b487bfe89995816ed6917f1d3f003b6c41ebec6\", \"8db6ea6a9d30689de3465ca6681f131c71129647\", \"5c0dcf9a53bca1675369596f1a8f94b230f9df67\", \"991846dfe527603af9c1813ef486114ba952edc3\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"9b4b1e14-513e-475e-8962-3412f332696b","title":"[Quality] Review top 10 hypothesis pages for demo quality","description":"Visit the 10 highest-scored hypotheses. Check: title quality, description completeness, evidence tables populated, radar chart rendering, related hypotheses linked, challenge connection. Fix any issues found.","status":"open","priority":74,"frequency":"every-24h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T11:20:14.298345+00:00","updated_at":"2026-04-27T11:20:14.298345+00:00","summary":"","completion_summary":"[Atlas] Quality audit: backfill 3 NULL scores for h-var-e2b5a7e7db [task:9b4b1e14-513e-475e-8962-3412f332696b]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9b4b1e14_quality_top_hypothesis_pages_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6, \"safety\": 6}, \"_stall_skip_providers\": [\"glm\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"4257183e-aeab-4e34-a4f9-f7640cc966a1","title":"[Quality] Walk the site: review every major page for UX issues, broken links, ugly rendering","description":"Visit /, /exchange, /analyses/, /forge, /wiki, /senate, /showcase, /benchmarks, /challenges, /arenas, /notebooks, /forge/playground, /forge/idea-collider. For each: check layout, broken elements, missing data, confusing text. File issues as commits.","status":"open","priority":64,"frequency":"every-12h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T12:33:18.037306+00:00","updated_at":"2026-04-27T12:33:18.037306+00:00","summary":"","completion_summary":"Merged task branch into main","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/4257183e_site_walk_ux_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6, \"safety\": 6}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"any\", \"_stall_requeued_at\": \"2026-04-11 02:27:40\", \"completion_shas\": [\"ce96070a060b3a98db36bdbc8bcab7f60cc33516\", \"818bf7b023ecc28ac732230e988c879dd67d383b\", \"5bd80d5b47ac4207fc3c451fba0f8ba8c96f6dcb\", \"af57af4cb088d40c7810d0444938c7ec76c824ca\", \"d40c633563ae2c96bcd156af1b20f1db1e21d21b\", \"5ef6e9f4a9261819812cad10cfdeb106ee88ed75\", \"d61e3ba8114a245b9807f07c46c1ded654d7eb34\", \"296c02538732de238eb14f10ef55099570fbb124\", \"ce23e1091ffcecb4f3a22cf151b91f842e3a493b\", \"0ab4c0296cf1757d1a0db4f65218924216ecf717\", \"432d1ea0409ac0cc7736054b49e13d426d9d3d1d\", \"d9986a98dfbcd663f32c88fc42bc73b0c4afff83\", \"2bbde4187e24cde3d656d83985a914181296cd78\", \"4976ac61fdd2060ae0e470ff9fa20ab05a4afaa5\", \"d439e4b072815c6f8f8506254068e3a4e1c4886c\", \"f121cf540b409546a5fcb782454ca946bd54e9ae\", \"a943c0585f4ea2db606bdbd0a490605b3f5f3135\", \"b214fad96b871588e7d55cd47b725802a677ddff\", \"a40e3ce8c3298de08ea4dae256283dfec19ec4cf\", \"7876b2aed5e6d0b01ad507c3119dccba07d4b212\", \"ed954dfa64ae6addd337b8ed64f27b699cff622b\", \"b0312917e92092951ff185a494a11d7205f68d69\", \"4c6d3cd7a1a431a4db9b483967daf76f244e79d4\", \"a59ff27f313e5a30dc5f72430c5a914ded3d53b9\", \"527c781e85c06345345312acc8fdb1adda0016f3\", \"5064af68f4be322ca16e1be82f0f1a9b899feeeb\", \"eee7dba56f5a0e5ca5bd21ec7be7a465f313a609\", \"c3aba2360c06553a080d935bb0dbdf9c74aefd73\", \"b2f2ad10b3a45b3e8eac35c371d9b60622a2cb6b\", \"525ac96b95925c51c0695ddf1ba7354b6d68683e\", \"50e3045a19258cbd977f6509481332409cbf31f6\", \"590d0515af96d96c862e7a1c9af194f44b5701db\", \"944d5022ab353a1c527f91f9dbd0a559a700d395\", \"57aec45e750309499ce816fc342453131a44afb6\", \"e18f791bb98ad26a5150c318f32c23fec2baf3c0\", \"94a78abb51195af457f1b2218b4e88539deb2eb6\", \"c7d080ccd7418dae29768b226d098f4d91b12d90\"], \"completion_shas_checked_at\": \"2026-04-13T05:43:40.689187+00:00\", \"completion_shas_missing\": [\"99a249c7c09b86cb0c923c6ea75f5c855ee17daf\", \"aaef809f3c301a3e2f1369d0ad41f59f3333e66e\", \"03a5742b875755a13994cb2b9096914a6d04fe77\", \"0d7468b367a3070a947108c93d8227fb9c347af9\", \"eda7d8dabe10bab33bbc4e16abf9abbf2f50c5c3\", \"a0d56a8713ea07650dbf97d8b769e1c1f6f3aa0c\", \"01aaf6ad3d310d76746105eb3a07a5293e7c4086\", \"bb5240b5b5db642adaa0c0f49365f8a6c691201c\", \"b65bb335d91ba9eddbaf08cf9c5588357a7ec25e\", \"264c86cfd449a6dc4f8288685893a79c4aa7824e\", \"9e222ffb688a28f60c03d96508352b97afdc47fa\", \"931ea65cf93aafa4293f4fb9d841e3145c2d0a15\", \"30aba79ea97247c2ff3458c84713af1e300daa01\", \"b28132a8550b7947dc1e8ce60e2b49391c2a9035\", \"eeb83b8d16dab36d3a306f3ccf01fa4f2c6359be\", \"4567841d3a9bc6e8c830899cad3a73e80a106e37\", \"071a675cdf31c7643e2558d8be24c4b54e154353\", \"53631c06adaf39e61e1bb181d23e17d3c000c0e3\", \"671f6a04e396e3e9dca2585aee70b05f933627ef\", \"434e6572e72d483d3922ea94f0d4afab0fb4fae8\", \"990ddaffcb0eeb11bd513644eae60bb898158d0a\", \"2799d9e11b4b54f49316b9a2f4703381242bb6fa\", \"a697be5f153a06479e12360c086a421bbbf26915\", \"b89ce146473e1624ec92b373cebb0ff0a72e74d3\", \"4daa3e284e02f942bfd79ce48ce83730fe831304\", \"c243fa5cad80640ea53fcfb356f11f936c5dfc99\", \"82587c4c79eeef3ad365218288753bc7820214c2\", \"bf8d7b5198323b51a4535685d6ee8cc45b5cd091\", \"370ec2ac643acdc5139e2ece9dfd1dab1591a52f\", \"7b4f3d93113293a33f549c64085198fa90bc000a\", \"77b37c26ae93629013f1a1c0b13c4a6ccef8a928\", \"87881ed769174909fa0ce5caf81f8ffac3b12f51\", \"46185e8954c23832b0bcf92a266d0586338f9c23\", \"49d2e5d4f47ee886fcda765902fb5c74e3a74878\", \"24c13295485aaeda3d62cdee86ec7f801c7c1200\", \"a5c5016facbc4d5346ad1f8d15cea9be95a71246\", \"a487366b7ffdc393dad7651d5a119f166877b3b0\", \"7a73c6b41b941aa2d40afcfdad465d6172c614d6\", \"a28762ee815308fed14c3e4632b5f50f93d87866\", \"7204268165cf057109ed318784f3cce2bdbff6e5\", \"6bbfb05218d540ded6a2330bcd760dcc8d3fa67a\", \"66e19454028e4c6712ccda1e819efc69f6c8f470\", \"d9fa50304c38b611b70b8cac2b8ff2c1cd86cb97\", \"a1e5ed47acf80706d733c264db58587feae3efa8\", \"749f629e1e34f0efe10b08d9e2e281ce27a83e6d\", \"6d11f8f0ad8a39ebdc5db68e8bdce91e7ee1f8ac\", \"a663e2d2f9730286d40266e2fd21ae8fba694b12\", \"608ad37df3a982cad130561a7c3ae1a5ecad90aa\", \"7c68f053a14fe801f5eb39d2fafe33144ead62d0\", \"27fa6eeaa1c5b46884ab3dd595f161a5e9590c11\", \"c03d0fb7a191e8cd19486b21fda57bae0dd7cb98\", \"43b1e1a3a9b76ed66658bcf6545e4ed57a84d23b\", \"a65aa386c039d7312e80904a60ad93e32f84ca83\", \"c3e1cfd744e7fd6f30ceed59a38638c502650dbc\", \"73e51f6818df34bf742bdeb06281a1b4b8e2cde6\", \"31f73506c2a4239a32dd0f87a389cfb4385d2f23\", \"929f67d21af52c3ad402be3a07c95594c6385ca0\", \"00bb340761d24b2f56292b8fb89157ec0fbf63bb\", \"f8447bed3d25edf4f10a2aa28d4beb79b8dce96e\", \"17369515e7cd3b7f3af283091b8e941cf8acaae0\", \"3fa9ffa83a3a44127d021c8f4f61b53ed4e875aa\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"5faca020-48e8-45e6-aec0-5c54cda327a0","title":"[Quality] Review wiki entity pages for completeness and formatting","description":"Sample 10 wiki pages from /wiki. Check: content quality, mermaid diagrams rendering, cross-links to analyses/hypotheses, infobox data present. Fix formatting issues.","status":"open","priority":60,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T12:14:41.341260+00:00","updated_at":"2026-04-27T12:14:41.341260+00:00","summary":"","completion_summary":"[Atlas] Wiki quality review: fix 5 pages (broken mermaids, citation leaks, boilerplate) [task:5faca020-48e8-45e6-aec0-5c54cda327a0]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5faca020_wiki_quality_review_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6, \"safety\": 9}, \"completion_shas\": [\"6f71b1ea26612dee439a47b8214c9801ee0ac3e5\", \"27a8518f848fb030bb7bb4d1bb305effa0274157\"], \"completion_shas_checked_at\": \"2026-04-12T18:10:28.083646+00:00\", \"completion_shas_missing\": [\"c8f8e0d69f5425f216c9f2ea1f6e1398965393a9\", \"7341d13c4a2186662531537ddec0dc41207b98ae\", \"2259b123c3d7fc1ffce4e7e5bede75087c258aad\", \"e51596ca0d02c7244d20af69a8cfe9972ff78278\", \"309667156ce072bfa6ea114714bc568cd3b9299b\", \"d9d389bade4b623203448206b67f81f272cafc78\", \"fe4109ecc5c8638860f85978ba05edfd8efa4e12\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"4a7e7a20-9864-4aa8-9a4d-baee88668e8d","title":"[Quality] Fix hypothesis description truncation on analysis pages","description":"In api.py analysis_detail, hypothesis descriptions are truncated to 200 chars with \"...\". This cuts off important scientific content. Fix: either show full description with expand/collapse, or increase to 500+ chars. The line is approximately: desc = h.get(\"description\", \"\")[:200]. Also check showcase/walkthrough pages for the same truncation pattern.","status":"done","priority":97,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-24T13:42:52.591428+00:00","updated_at":"2026-04-24T13:42:52.591428+00:00","summary":"","completion_summary":"Task closed as pass. The fix was already on main — hypothesis descriptions on all three surfaces (`/analyses/{id}`, `/walkthrough/{id}`, `/showcase`) use 500-char previews with expand/collapse rather than the original 200-char hard truncation. No code changes were needed; the substantive fix landed in a prior squash merge (`3fe211b58`).","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 7}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Task closed as pass. The fix was already on main — hypothesis descriptions on all three surfaces (`/analyses/{id}`, `/walkthrough/{id}`, `/showcase`) use 500-char previews with expand/collapse rather than the original 200-char hard truncation. No code changes were needed; the substantive fix landed in a prior squash merge (`3fe211b58`).","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f4f66e36-c04a-4517-a9f3-74c36a230ddb","title":"[Quality] Agent walkthrough: audit every top-level page for content quality","description":"Walk through every major page (dashboard, exchange, analyses, hypotheses, debates, wiki, forge, atlas, gaps, notebooks, senate) as a critical visitor. For each: is the content real and useful? Are there broken links? Placeholder text? Misleading stats? Low-quality entries? Produce a page-by-page quality report with specific issues and fix recommendations.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T01:23:56.540213+00:00","updated_at":"2026-04-14T01:23:56.540213+00:00","summary":"","completion_summary":"[Docs] Update 6bb6ec05 spec work log: verification confirmed on main [task:6bb6ec05-3376-4c7e-9594-73c7326b16b0]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"completion_shas\": [\"5b67040367dce04447a6dd5cd2b6be498d0ae29c\"], \"completion_shas_checked_at\": \"2026-04-14T01:23:56.520709+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"57872c4e-1d85-4efc-8073-4c7a5ec586a5","title":"[Quality] Clean up broken/junk figure artifacts","description":"7,824 figure artifacts have quality_status='missing_file'. Options: (a) delete artifacts without backing files, (b) regenerate figures where the source data exists, (c) keep only figures that are actually useful. Start by understanding which figures have real value. Also clean up any test/placeholder artifacts (title='Test:*').\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:08:51.658292+00:00","updated_at":"2026-04-16T10:08:51.658292+00:00","summary":"","completion_summary":"[Atlas] Update spec with cleanup script work log [task:57872c4e-1d85-4efc-8073-4c7a5ec586a5]; [Atlas] Add cleanup_figure_artifacts.py script for missing file detection [task:57872c4e-1d85-4efc-8073-4c7a5ec586a5]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"completion_shas\": [\"faa3b8a140ffc108bb6b51518dcb39d42c50a474\", \"5702b926052c84a1186576b5d78537db62af4d2b\", \"9efd5b48cace46d7506ce8efafbe424519bbc551\"], \"completion_shas_checked_at\": \"2026-04-16T10:08:51.636424+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9e7f0b0d-f065-474c-9b72-01ca10cf5a10","title":"[Senate] Auto fact-check pipeline - cross-verify every claim across 3 sources","description":"Triangulated claim verification: fan out every atomic claim to PubMed+S2+OpenAlex, LLM judge per source, mode-vote verdict + confidence.","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T15:35:12.054043+00:00","updated_at":"2026-04-27T15:35:11.974524+00:00","summary":"","completion_summary":"Completed","completion_notes":"Auto fact-check pipeline complete. Fans out claims to PubMed/Semantic Scholar/OpenAlex, LLM judges each source, triangulates via mode vote. API routes added (`GET /api/senate/fact_check/{claim_id}`, `POST /api/senate/fact_check/run`). HTML badge on hypothesis pages. 15 tests passing. SQL migration applied.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-qual-auto-fact-check-pipeline_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"74668743c\"], \"completion_shas_checked_at\": \"2026-04-27T15:35:07.336831+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Completed","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"58055617-625a-4ebc-b560-52d434b5c3d7","title":"[Senate] Hallucination detector - compare LLM claims to retrieval-grounded baseline","description":"Detect LLM-invented claims by extracting sub-claims and checking each against retrieval baseline; score, flag, dock composite, fire Senate alert.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T15:36:37.980635+00:00","updated_at":"2026-04-27T15:36:37.980635+00:00","summary":"","completion_summary":"**Verdict: already resolved.** The hallucination detector implementation shipped on main in commits `ee8de5729` (squash merge) and `7eab2d32d` (three commits). A prior Verify commit (`984cea621`) confirmed all acceptance criteria are met:","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-qual-hallucination-detector_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"ee8de5729\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":"ee8de5729","merge_verified_at":"2026-04-27T15:26:00.103921+00:00","verification_result":"pass","verification_notes":"**Verdict: already resolved.** The hallucination detector implementation shipped on main in commits `ee8de5729` (squash merge) and `7eab2d32d` (three commits). A prior Verify commit (`984cea621`) confirmed all acceptance criteria are met:","task_type":"one_shot","pr_links":[],"commit_links":[{"sha":"ee8de5729","role":"merge_commit"}]},{"id":"71b3d647-7fcd-4198-b30c-8205eee56b81","title":"[Quality] Pre-publication artifact validation gate","description":"Implement a blocking quality check in artifact_registry.py that validates: (a) figure artifacts have an existing file on disk, (b) notebook artifacts have HTML + ipynb, (c) hypothesis artifacts have non-empty description > 50 chars, (d) no exact-title duplicates. Reject registration if checks fail.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:30:44.588233+00:00","updated_at":"2026-04-18T16:30:44.588233+00:00","summary":"","completion_summary":"[Verify] Pre-publication artifact validation gate — PASS [task:71b3d647-7fcd-4198-b30c-8205eee56b81]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"e59d1a03f\", \"648510963\"], \"completion_shas_checked_at\": \"2026-04-18T16:30:23.752850+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] Pre-publication artifact validation gate — PASS [task:71b3d647-7fcd-4198-b30c-8205eee56b81]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"88952f44-693d-4ec2-95f2-289c6712b2c4","title":"[Senate] Cross-claim consistency engine - flag contradictory hypotheses","description":"Embedding shortlist + LLM contradiction judge for every pair of atomic claims; auto-spawn debate to adjudicate when confidence>=0.8.","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T15:35:13.251711+00:00","updated_at":"2026-04-27T15:35:13.251711+00:00","summary":"","completion_summary":"[Senate] Cross-claim consistency engine — flag contradictory hypotheses [task:88952f44-693d-4ec2-95f2-289c6712b2c4]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-qual-cross-claim-consistency_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"205d0755-7eb3-44b3-9c70-41e0040dfc00","title":"[Senate] Claim-strength normalizer - force loose claims into structured form","description":"Normalize free-text claims into (subject, predicate, object, strength, scope); strength label modulates evidence_strength_score.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T16:16:56.651095+00:00","updated_at":"2026-04-27T16:16:56.651095+00:00","summary":"","completion_summary":"[Senate] Mark acceptance criteria complete in spec [task:205d0755-7eb3-44b3-9c70-41e0040dfc00]; [Senate] Add claim normalize API endpoint and strength badges to rebased api.py [task:205d0755-7eb3-44b3-9c70-41e0040dfc00]; [Senate] Claim-strength normalizer — force loose claims into structured form [task:205d0755-7eb3-44b3-9c70-41e0040dfc00]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-qual-claim-strength-normalizer_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dcc3bb02-e4da-4b45-9b04-007183603edc","title":"[Quality] De-duplicate hypotheses and analyses","description":"Find and merge duplicate hypotheses (same title, similar description). Keep the highest-scored version. Update references. Also check analyses for duplicates. 7 'Test: TREM2' entries already cleaned; run comprehensive duplicate scan.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T01:48:14.408778+00:00","updated_at":"2026-04-19T01:48:14.408778+00:00","summary":"","completion_summary":"[Quality] Add hypotheses dedup scripts (CLI-based, index-corruption-safe) [task:dcc3bb02-e4da-4b45-9b04-007183603edc]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"28b75b73-c14d-46a5-91fc-4298acc8f81a","title":"[Quality] Review and improve Exchange/hypothesis page quality","description":"The Exchange page is a key entry point. Audit: Are hypothesis titles meaningful? Are scores calibrated? Do the top-10 hypotheses have real evidence? Are there junk/test entries polluting the rankings? Flag issues, fix what we can.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T02:27:07.746831+00:00","updated_at":"2026-04-19T02:27:07.746831+00:00","summary":"","completion_summary":"Already resolved: f2afa830c on main (69a6249c2). Verified archived filtering in /api/hypotheses (line 6126), archived filtering in exchange() (line 26901), and Variant badge for h-var-* entries (line 27738). Orphaned branch fixed, spec updated with verification evidence.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: f2afa830c on main (69a6249c2). Verified archived filtering in /api/hypotheses (line 6126), archived filtering in exchange() (line 26901), and Variant badge for h-var-* entries (line 27738). Orphaned branch fixed, spec updated with verification evidence.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e98f5d97-9571-43ec-928c-425270079951","title":"[Senate] Review 50 artifacts with empty quality_status for lifecycle readiness","description":"14027 artifacts have no quality_status. Senate lifecycle decisions need an explicit review state, not just raw quality_score.\n\n## Acceptance criteria\n\n- 50 artifacts receive quality_status or documented insufficient-data rationale\n- Statuses are consistent with quality_score, lifecycle_state, provenance, and usage signals\n- Systemic status gaps are documented as follow-up tasks if found\n\n## Approach\n\n1. Select artifacts with high usage/citation and empty quality_status.\n2. Inspect provenance, dependencies, lifecycle state, and quality score.\n3. Persist status updates through standard DB write paths and verify counts.\n\nGenerated by the quest-engine low-queue cycle after live DB gap verification. Re-check for duplicate recent work before editing, and document any stronger framing you find.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:37:01.019638+00:00","updated_at":"2026-04-27T06:37:01.019638+00:00","summary":"","completion_summary":"Already resolved on main: a4fd4a64, 69269dfe, 184a932c","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_artifact_quality_scoring_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: a4fd4a64, 69269dfe, 184a932c","task_type":"one_shot","pr_links":[],"commit_links":[]}],"reviews":[],"effectiveness":{},"prs":[],"commits":[{"hash":"ee8de5729","message":"**Verdict: already resolved.** The hallucination detector implementation shipped on main in commits `ee8de5729` (squash merge) and `7eab2d32d` (three commits). A prior Verify commit (`984cea621`) confirmed all acceptance criteria are met:","date":"2026-04-27","role":"merge_commit","url":"https://github.com/SciDEX-AI/SciDEX/commit/ee8de5729","task_id":"58055617-625a-4ebc-b560-52d434b5c3d7","task_title":"[Senate] Hallucination detector - compare LLM claims to retrieval-grounded baseline"}]}