{"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":"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,"task_type":"recurring","frequency":"every-24h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:50:54.313961+00:00","updated_at":"2026-04-17T10:50:54.313961+00:00","summary":"","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}}"},{"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":70,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:22:27.891997+00:00","updated_at":"2026-04-17T11:22:27.891997+00:00","summary":"","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\"]}"},{"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,"task_type":"recurring","frequency":"every-12h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T15:02:07.649497+00:00","updated_at":"2026-04-17T15:02:07.649497+00:00","summary":"","completion_notes":"Auto-release: recurring task had no work this cycle","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\"]}"},{"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,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T15:30:52.380983+00:00","updated_at":"2026-04-17T15:30:52.380983+00:00","summary":"","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\"]}"},{"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,"task_type":"one_shot","frequency":"","assigned_slot":null,"started_at":null,"completed_at":"2026-04-09 01:00:10","updated_at":null,"summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"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,"task_type":"one_shot","frequency":"","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_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\"}"},{"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,"task_type":"one_shot","frequency":"","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_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\"}"},{"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,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T15:48:22.621738+00:00","updated_at":"2026-04-16T15:48:22.621738+00:00","summary":"","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":"{}"},{"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,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T17:38:35.234108+00:00","updated_at":"2026-04-16T17:38:35.234108+00:00","summary":"","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":"{}"},{"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,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T18:10:50.952620+00:00","updated_at":"2026-04-16T18:10:50.952620+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"}],"reviews":[],"effectiveness":{},"commits":[{"hash":"abc8d0179","message":"[Exchange] Verify /challenge broken links are false positives: all 36 pages return 200 [task:e5a1490f-9ab6-4275-a96b-bd34ceb84fcf]","date":"2026-04-17"},{"hash":"440d6072c","message":"[Senate] Final work log update: document branch push to remote [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"8eefea2c0","message":"[Atlas] Add redirects in api.py for /site/notebooks/ and root-level .ipynb URLs to /notebooks/ path [task:f92194bf-f23c-4bf3-97d4-676c02f5fb42]","date":"2026-04-17"},{"hash":"bdf2e04e8","message":"[Atlas] Document /mission HTTP 0 fix: already addressed in c5d7a696 [task:e50f7fed-ccde-4104-b98a-205bb500e792]","date":"2026-04-17"},{"hash":"f39b5d3b0","message":"[Atlas] Fix broken /entity links: clean corrupted data + add cleanup script [task:326c7abd-3ad2-4ae5-9a0e-e9981d611890]","date":"2026-04-17"},{"hash":"a4954541c","message":"Squash merge: orchestra/task/09b3a393-broken-links-in-api-http-0-30-links (1 commits)","date":"2026-04-17"},{"hash":"40b62c4b8","message":"[Atlas] Verify /api broken links: all 10 endpoints HTTP 200, no code changes needed [task:09b3a393-777f-4379-85c6-2bf55f6e69c0]","date":"2026-04-17"},{"hash":"6e54e1ccc","message":"On orchestra/task/326c7abd-broken-links-in-entity-http-400-64-links: stash unrelated changes","date":"2026-04-17"},{"hash":"53f087f8e","message":"index on orchestra/task/326c7abd-broken-links-in-entity-http-400-64-links: f3b466710 [Atlas] Add /mission→/missions redirect in api.py; confirm /mission broken links are false positives [task:c0d66faa-91be-41e3-909d-d6359c5b936e]","date":"2026-04-17"},{"hash":"58b5eb786","message":"[Atlas] Verify /analysis broken links: all 10 pages HTTP 200, false positive [task:a7c6d6d2-17bb-4e1c-b131-10677c65e9d0]","date":"2026-04-17"},{"hash":"0be6ce64a","message":"[Senate] Update spec work log: service verified operational, no code changes needed [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"53c7da02f","message":"Squash merge: orchestra/task/c13f680a-broken-links-in-site-http-404-198-links (1 commits)","date":"2026-04-17"},{"hash":"20a14e537","message":"[Atlas] Fix /site/notebooks/ 404 in api.py: add redirect to /notebooks/ route [task:c13f680a-60bf-49f3-aa42-a05602d77405]","date":"2026-04-17"},{"hash":"52e043bda","message":"Squash merge: orchestra/task/c5d7a696-broken-links-in-target-http-0-765-links (3 commits)","date":"2026-04-17"},{"hash":"aead3c46d","message":"[Atlas] Restore nb-top5- prefix-stripping fallback removed in prior commit [task:c5d7a696-2296-468a-83a2-2d3cabc6901e]","date":"2026-04-17"},{"hash":"1786c8cc4","message":"[Atlas] Wire up suppress_transient_http0_noise() in link checker to prevent false-positive tasks [task:c5d7a696-2296-468a-83a2-2d3cabc6901e]","date":"2026-04-17"},{"hash":"13c833f16","message":"[Atlas] Add redirects for /site/notebooks/ and root-level .ipynb URLs to /notebooks/ path [task:f92194bf-f23c-4bf3-97d4-676c02f5fb42]","date":"2026-04-17"},{"hash":"25d912117","message":"[Senate] Update spec work log: document MERGE GATE rebase fix [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"06151c073","message":"[Senate] Update spec: verify service operational, no code changes needed [task:c2780f51-4c91-4cae-a1ff-4edaf6375c59]","date":"2026-04-17"},{"hash":"dc15730ae","message":"[Atlas] Fix /notebook top5-SDA-* broken links: add prefix-stripping fallback in notebook_detail [task:c13f680a-60bf-49f3-aa42-a05602d77405]","date":"2026-04-17"}],"related_quests":[{"name":"Autonomous Engines","layer":"Senate","priority":93,"status":"active","description":"Orchestra-managed recurring scripts: debate engine, link checker, orphan checker, convergence monitor, visual regression, pubmed pipeline, metrics, health checks","task_count":4,"done_count":1},{"name":"Artifact Governance & Lifecycle Management","layer":"Senate","priority":93,"status":"active","description":"Establish a unified artifact governance system across SciDEX. Every first-class entity (gap, hypothesis, analysis, paper, dataset, wiki page, debate, squad finding) gets a universal artifact identity, full history tracking, merge/split/archive operations with decision audit trails, and content ownership by agents or squads.\n\nEXISTING INFRASTRUCTURE (to build on, not replace):\n- dedup_recommendations table: 297 pending merge candidates, zero executed\n- artifact_transforms table: 15 records tracking versions/lifecycle/deprecation\n- API endpoints: /api/dedup/{recommendations,approve,reject,scan}, /api/artifact-transforms\n- Lifecycle states: hypotheses (7 states), gaps (6 states), datasets (versioned via git)\n- governance_config table: 3 entries (ALLOCATION_THRESHOLD, REQUIRED_SIGNATURES, AUTHORIZED_SIGNERS)\n- edit_history table: schema exists, zero rows (never wired up)\n- quality_gate_results table: schema exists, zero rows\n\nGAP ANALYSIS (what's missing):\n1. No universal artifact registry — each type has its own ID scheme\n2. edit_history never wired up — no who-changed-what audit trail\n3. 297 dedup recommendations pending forever — no execution pipeline\n4. Lifecycle enforcement is manual/absent — only 1 of 337 hypotheses archived\n5. No content ownership model — artifacts are unowned\n6. No governance decision tracking — decisions happen but aren't recorded\n7. No automated garden maintenance — stale gaps, redundant hypotheses accumulate\n\nDESIGN PRINCIPLES:\n- Clean system APIs: every operation available via /api/ endpoints\n- Documented governance processes adopted by ALL subsystems\n- Agent-compatible: agents and squads can propose, vote, and execute decisions\n- Incremental: builds on existing tables, doesn't require big-bang migration\n- Auditable: every state change has a who/when/why trail","task_count":0,"done_count":0},{"name":"Resource Intelligence","layer":"Senate","priority":92,"status":"active","description":"Value-based resource allocation — continually evaluate the relative value of quests, tasks, \nhypotheses, gaps, and artifacts, then allocate LLM tokens, CPU, and disk proportionally.\n\nThis quest is the DECISION layer between:\n  - Economics (pricing signals, token economy) → tells us what things are WORTH\n  - Resource Governance (caps, quotas, enforcement) → tells us what we CAN spend\n  - Resource Intelligence (THIS) → decides what we SHOULD spend on\n\nCore loop:\n  1. Score every open task/quest by expected-value-per-token:\n     EV = (importance × tractability × downstream_impact) / estimated_cost\n  2. Rank by EV descending → priority queue\n  3. Allocate budget: top-k items get resources proportional to EV rank\n  4. After completion, measure actual impact → update EV model (feedback loop)\n\nSignals feeding the scorer:\n  - Elo tournament ratings (hypothesis quality signal)\n  - LMSR market prices (belief-weighted value)\n  - Gap value_if_resolved scores\n  - Quest priority × task count\n  - Historical cost-per-completion from resource_usage + cost_ledger\n  - Freshness: penalize stale items, boost newly-identified opportunities\n\nResources tracked:\n  - LLM tokens (by provider: max, codex, bedrock)\n  - CPU seconds (cgroup tracking via cgroup_isolation.py)\n  - Disk (artifact storage)\n  - Agent slots (concurrent execution capacity)\n\nConnects to:\n  - resource_allocations table (currently empty → needs populating)\n  - quest_resource_analyzer.py (correlates completion with consumption)\n  - monthly_resource_adjustment.py (periodic rebalancing)\n  - token_ledger.py (virtual economy)\n  - cost_ledger in orchestra.db (real spend)\n\nSpec: docs/planning/specs/q-resource-intelligence_spec.md","task_count":5,"done_count":4},{"name":"Work Governance","layer":"Senate","priority":90,"status":"active","description":"Comprehensive governance framework for tracking all work added to SciDEX — who did what, when, why, and at what cost. Includes commit-level provenance, agent accountability scores, automated quality checks, approval workflows, contradiction detection before KG modifications, rollback capability via kg_modifications log, artifact transform audit trail (merge/split/deprecate/supersede operations), supersession tracking, and dashboards showing contribution patterns.","task_count":8,"done_count":1},{"name":"Schema Governance","layer":"Senate","priority":88,"status":"active","description":"Agent-driven schema evolution through governance (propose, debate, vote, migrate). Linked to artifact_transforms for tracking schema change provenance. All schema changes recorded as artifact lifecycle events.","task_count":7,"done_count":7},{"name":"Code Health","layer":"Senate","priority":88,"status":"active","description":"Continuous code quality review without removing functionality. Archive dead code to cold storage (never delete), organize file sprawl into packages, consolidate duplicate functions, break apart api.py. Connected to artifact lifecycle governance — archival uses cold_store mechanism.","task_count":8,"done_count":7}]}