{"quest":{"id":"58079891-7a5","name":"Senate","description":"Governance & quality gates — agent performance tracking, work audit trails, convergence monitoring, quality control. Includes epistemic tier enforcement (T0-T5), adversarial falsification via red-team Falsifier persona, proof-gated KG updates with contradiction checking, and epistemic health dashboards. Implements the Epistemic Ratchet: adding knowledge is easy, degrading established knowledge is hard.","layer":"Senate","priority":88,"status":"active","created_at":"2026-04-02T10:00:57.209491+00:00","updated_at":"2026-04-10T14:44:10.355870+00:00"},"tasks":[{"id":"80ffb77b-8391-493c-8644-37086c8e2e3c","title":"[Senate] CI: Quest engine — generate tasks from quests when queue is low","description":"Recurring task that runs quest_engine.py when the open one-shot task queue drops below 50. Prevents the queue from emptying — without this, agents have nothing substantive to work on. See spec for full details.","status":"open","priority":100,"task_type":"recurring","frequency":"every-30-min","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T20:00:31.207510+00:00","updated_at":"2026-04-17T20:00:31.207510+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/quest-engine-ci.md","provider":"any","payload_json":"{}"},{"id":"aa1c8ad8-f157-4e03-941d-9fdb76dbb12a","title":"[Senate] CI: Database integrity check and backup verification","description":"Run PRAGMA integrity_check on scidex.db. Verify latest backup exists and is recent. Report any issues.","status":"open","priority":98,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T20:06:02.016357+00:00","updated_at":"2026-04-17T20:06:02.016357+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/aa1c8ad8_f157_senate_ci_database_integrity_check_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"auto_tagged_at\": \"2026-04-03T22:29:52.513479\", \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 02:56:22\", \"completion_shas\": [\"0864e242582dfa72ca67864a0a15479ff61c4a2a\", \"457b136125168703f0c01d9fef2b2d9944ed831e\"], \"completion_shas_checked_at\": \"2026-04-12T18:05:26.740965+00:00\", \"completion_shas_missing\": [\"d2f01b42691945712eb3f88293c47997015d6beb\", \"c53cc9020bcd51092e362aa8dc76f38462cd5717\", \"7a267152f834f9721284ccfe516c1c7baf63eeb1\", \"23038e413951082d6db7a07bb22f8ee378871f55\", \"10c1f8d0c9cbeba2252c88512a73c8510f356999\", \"202fd7e104d4fd4074ca72cbef5ecdf9e9419c0e\", \"757a62d9ae58154766f6f1147fb7d947c5f79ee8\", \"0123d1d296f748917b51f41636d78a1d550de13c\", \"bffb9c0aeb28ee8dfb4a8e32c4c61bca66b7c06e\", \"41492c821f7dbb7d1edb4f20f12005400bd185be\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"7afeeab6-a0de-49d7-8897-d28bc957cfe7","title":"[Senate] Orchestra operator watchdog and self-repair loop","description":"Continuously audit Orchestra supervisor health, task throughput, merge-gate failures, deploy failures, and stalled tasks; make targeted fixes in Orchestra or SciDEX when safe; merge/deploy fixes and verify resumed progress.","status":"open","priority":96,"task_type":"recurring","frequency":"every-2h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T18:53:41.970076+00:00","updated_at":"2026-04-17T18:53:41.970076+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/codex_orchestra_operator_watchdog_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 8, \"reasoning\": 7}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 02:12:00\", \"completion_shas\": [\"e092542e1ce8e1849ada22771861b1c1d36d0fda\", \"dc6a7647cc2bca8556ccae7c77a8ae182a7da55c\", \"dd3443ec0e70c5f0000928bd0b8b021a6d4c197b\", \"804302bde400c57dd2b011159def404f54da9e2b\", \"8e717c2d5f68320db4d75f105f7a455c729564a8\", \"0aee197d5eace9909bb5264149e97cf2cba03b09\"], \"completion_shas_checked_at\": \"2026-04-13T04:39:29.410277+00:00\", \"completion_shas_missing\": [\"a3b2871688a7d47d9979364202ce1fcdf17fe347\", \"c450376a6dd8757134c6e112db0f64781859b91f\", \"8c3b7e2cbc7e53d06c896889df3968b7b7b2712f\", \"bd6ac5e99c201f61311c60159c7179b473aff6fe\", \"9c0883067d7475daa5a1860af1d4a7e72451f9c6\", \"42eb689112c0d3e4b8fecc14cec076b42b3c00c9\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"ce02eceb-b31e-46d5-9de5-f4abdbcce3f8","title":"[Senate] Security Manager: periodic git history scan for leaked secrets and credentials","description":"Act as Chief Security Officer. Scan the ENTIRE git history for leaked secrets:\n1. Run: git log --all --diff-filter=A -p | grep -iE \"(api_key|secret|password|token|AWS_SECRET|AKIAQ)\" \n2. Check .env files, config files, spec files, QUESTS.md, task descriptions for secrets\n3. If found: document the leak, assess exposure (was it pushed to GitHub?), rotate the key\n4. Check AWS Secrets Manager for proper secret storage (scidex-s3-readonly, scidex-s3-readwrite)\n5. Verify no hardcoded credentials in api.py, backup.sh, or any Python scripts\n6. Create SECURITY.md documenting findings and remediation steps\nCRITICAL: Do NOT lock anyone out. Do NOT change SSH keys, passwords, or access controls without explicit approval. Do NOT modify nginx auth. Document and flag only — let human approve changes.\nCoordinate with: Quest 14 (Backup), Quest 13 (Architecture), all running agents.\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":"open","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:31:30","updated_at":"2026-04-13T10:16:03.105671+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"93a2b028-d931-457a-8c26-94e7d7bfff22","title":"[Senate] Fix XSS vulnerabilities with html.escape() in all HTML responses","description":"Critical XSS vulnerabilities (H-1, H-2, H-3) in api.py. User-controlled data from database embedded in HTML without escaping. Locations: hypothesis_detail (lines 1311-1356), entity_detail (lines 2895-2993), and all HTML-generating functions. Import html.escape() and apply to ALL user-controlled content (entity names, hypothesis titles, evidence claims, paper titles, etc.) before embedding in HTML. See docs/planning/security_audit_2026-04-02.md for full details.\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":"open","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:47:35","updated_at":"2026-04-13T10:16:03.102397+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/93a2b028_d93_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"0ce71340-e3e6-4f7d-90e8-79dfdc684872","title":"[Senate] Rigor score card — 8-dim evaluation per hypothesis/analysis (Alpha1 rubric)","description":"Recurring every-6h. For each hypothesis/analysis without a rigor score card: spawn 2 independent evaluator agents (Skeptic + second instance), evaluate across 8 dimensions of methodological rigor (scientific premise, study design, blinding, power analysis, resource identification, statistical reporting, data availability, SABV) grounded in NIH/MDAR/ARRIVE 2.0/CONSORT/EQUATOR guidelines. Every rating carries evidence citation from the paper text. Attach score card as artifact. See task-id-pending_rigor_score_card_spec.md + quest_epistemic_rigor.md WS-rigor-ruleset.","status":"open","priority":93,"task_type":"recurring","frequency":"every-6h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T15:54:02.618662+00:00","updated_at":"2026-04-17T15:54:02.618662+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/task-id-pending_rigor_score_card_spec.md","provider":"any","payload_json":"{}"},{"id":"255220b3-317c-4b12-b99e-a866b2b61ae5","title":"[Senate] Edit review queue (driver #9)","description":"Recurring driver. Any pending wiki edit (edit_history rows with status='proposed') must be reviewed by 2+ agents before merge. Pick reviewers from agent_registry, write edit_reviews rows, gate the merge on 2+ approvals. On no candidates, release as no-op. See driver #9.","status":"open","priority":92,"task_type":"recurring","frequency":"every-6h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T19:19:35.114413+00:00","updated_at":"2026-04-17T19:19:35.114413+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/economics_participation_drivers_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 6, \"safety\": 7}, \"completion_shas\": [\"f0b848346a66549bcc7c5fa70f4528bb12c8a563\"], \"completion_shas_checked_at\": \"2026-04-13T09:58:12.213152+00:00\", \"completion_shas_missing\": [\"914b5cdaef84206556706972439c579aa14bd3e5\", \"f3445d6733ece0bb33298db1d0c8f2d40d58f676\", \"d0b3695caaa154ed701625cdd7b0708f08352d07\", \"a80f034f50720bf01937257cf5c91dba63eafcf4\"]}"},{"id":"dff08e77-5e49-4da5-a9ef-fbfe7de3dc17","title":"[Senate] Holistic task prioritization and self-governance","description":"Periodically review all open tasks, adjust priorities holistically based on system state, strategic alignment, staleness, and dependencies. Phase 1: rule-based scoring. Phase 2: market-informed (tasks as tradeable artifacts). Phase 3: debate-driven prioritization. See docs/planning/specs/task_prioritization_quest_spec.md","status":"open","priority":92,"task_type":"recurring","frequency":"every-2h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:22:41.005161+00:00","updated_at":"2026-04-17T18:43:50.677693+00:00","summary":"","completion_notes":"Changed files:\n- .gitignore\n- .orchestra-slot.json\n- agent.py\n- api.py\n- api_shared/db.py\n- api_shared/nav.py\n- ci_snapshot_prices.py\n- cli.py\n- docs/planning/specs/0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md\n- docs/planning/specs/051daf58_f92_spec.md\n- docs/planning/specs/05b6876b_61a_spec.md\n- docs/planning/specs/0850f78f_f00_spec.md\n- docs/planning/specs/0afd971e-686d-400b-98a4-f71293db1351_broken_links_in_entity_http_500_9746_links_spec.md\n- docs/planning/specs/197efcaa_cc16_static_asset_template_issues_spec.md\n- docs/planning/specs/1d21e01d-0d3_template_link_generation_spec.md\n- docs/planning/specs/1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md\n- docs/planning/specs/1f62e277_c72_spec.md\n- docs/planning/specs/1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md\n- docs/planning/specs/22ef73fa-7c9e-4b0c-9bdc-187bdbb8e888_broken_links_in_target_http_500_spec.md\n- docs/planning/specs/2310c378_ea0_spec.md\n- docs/planning/specs/25dc2ab9-6d9e-4e1d-a415-eb8af9628b2c_broken_links_in_entity_http_500_34_links_spec.md\n- docs/planning/specs/2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md\n- docs/planning/specs/2fba3f5b_3e7_spec.md\n- docs/planning/specs/39d76f99-75b5-4451-83d0-01e462b9aca5_broken_links_in_entity_http_404_10_links_spec.md\n- docs/planning/specs/39f47701_938_spec.md\n- docs/planning/specs/3d5cb5ea-broken-links-in-image-http-0-141-links_spec.md\n- docs/planning/specs/3df7390a_4cd6_spec.md\n- docs/planning/specs/3eb45ac3_complete_application_server_failure_spec.md\n- docs/planning/specs/3fea4720-77a6-4a98-999b-0b54c81cae2e_broken_links_in_analysis_http_404_10_links_spec.md\n- docs/planning/specs/4e5c9924_11bc_4268_spec.md\n- docs/planning/specs/4e76d954-e253-441a-af7b-b28d18059f59_spec.md\n- docs/planning/specs/50fd9c87-f086-4576-9d61-fa249719cb44_spec.md\n- docs/planning/specs/51bbc267-83b1-41e6-bef4-ff90a3a91e0e_spec.md\n- docs/planning/specs/53b098aba384_exchange_design_capital_allocation_mode_spec.md\n- docs/planning/specs/53c618dd_a199_4fcb_9356_d43fbc922f59_spec.md\n- docs/planning/specs/55888d47-5c2c-4a80-b007-2bbdc83a81ff_service_down_connection_failure_spec.md\n- docs/planning/specs/55e3ea08_76c2_atlas_reduce_wiki_kg_link_backlog_spec.md\n- docs/planning/specs/5faca020_wiki_quality_review_spec.md\n- docs/planning/specs/692f13b8_876_spec.md\n- docs/planning/specs/6d5f040f-b3e2-431d-8345-d780f32e3ccb_spec.md\n\nDiff stat:\n.gitignore                                         |     2 -\n .orchestra-slot.json                               |     2 +-\n agent.py                                           |    54 +-\n api.py                                             |  2909 ++----\n api_shared/db.py                                   |    30 +-\n api_shared/nav.py                                  |     8 +-\n ci_snapshot_prices.py                              |   104 -\n cli.py                                             |    61 -\n .../0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md   |    24 -\n docs/planning/specs/051daf58_f92_spec.md           |    31 -\n docs/planning/specs/05b6876b","last_error":"Review gate REJECT: 10 blocked merge attempts; escalated via safety>=9 capability requirement","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/dff08e77_5e4_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 6, \"safety\": 9}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 02:33:57\", \"completion_shas\": [\"3b083dbc6b96f250eb6b93b317fa4020f122e326\", \"c2913c8e5f3d28369e4afe3725debec4637ec0bf\", \"f70ba32ad1bd6fd8c591e1d94dd43314e60c3566\", \"7133931a47c3dd52d11f3158c4b69488a7ddf472\", \"b1b8c13a2b64df2c2b1c563adbf6a2d3eb48cb10\", \"ce204f6e29dc5cfc274a57768304c7d5935db629\", \"eb04ac0689853628a958cc2eec3b7e27216dfd64\", \"d0cfd4e81ee641e18d1ff4db2bfc7a4fba6c2ef5\", \"ad4332241b613726a8787d363daf08aa922f1b76\", \"9f5e9adc7655381728856c81807d861bd2e7f7d3\", \"3d05c5e33c441548c8340235ed000c7a9ae4aaf0\", \"62b7141d3c3c481f42e2bd1a7cfc21d799d8bb6a\", \"37faffae305962afbfea839f9adca3b97649a955\", \"26de36f47003e3fd44d1b70e94ad9fe4c835fba6\", \"70993da2d495ac89d160e73af8fa5a13579db334\", \"42e97e225d50fb75f45ab65b554fa595b1f52a35\", \"82036042489a8cf7be0aae3539eb78512e41f127\", \"af76a7c2590888a9f226932d98dbd765b5409d87\", \"f70eaca1c5cfc8f8972a1bdc9bd6faf4e5ced8ac\", \"7824ac1d43966f9ab88c8f254d2807e940ed8d5b\", \"015317e3173a92dcd747f6560061017e8274ed25\", \"bca138d624c6696a57bfe73ccecdc09f8f462d38\", \"c502027ec3353778946e625cdd3441ce1d8baee2\", \"e26d1a0804186eafb8f18ca66f22838f2563f0a3\", \"95866537da5ed91daab20b5c88154293a1f78b55\", \"6b091e4aeba8492f27d17b82af257482c216831a\", \"3cb611a6446505a793be2dce623344027cd708cc\", \"4f8c414ffad453a931f801b8d96ad9ab1034b8d9\", \"864d6943e9b84fce04bd34b014b945d7c9dfa57c\", \"382b487ce6d5e932798aac8f29243aabad1cfdb5\", \"d05269a23bc225c1cec57aaaa19aaa00fab76c01\", \"4eeae4c1a97dc511b9c2bb2d535c985514bd121e\", \"328d661b08d7a210c81aff0a4210e95bb3f4861b\", \"903d3f698a80955bbe6944410071d8f629786081\", \"3c9fbbc86e0b9f7d39936e3810873e03fd36ac29\", \"38e68e4729ab1a4254ad0d1b5322c1395f5cb77c\", \"b6616b1c217f2134eaed3ce2d0f0210df596084b\", \"e0b7fc5e49855bb889b18c8f3a83be260b183e14\", \"a06694d57fd60440e28790b538f666ef1a1471b7\", \"c15489036e50209fe50961b995e8b9c3efcaa0b4\", \"461da2367541d9afbc38109384fa738defdc11b9\", \"3dff8f5edd0c6ec801f3fc2f31379e29edb3e930\", \"a8e3bd37b285def8b70947f285162446efb1f8dd\", \"fd800bb6c09d152cd016ae4e72b50ef2e0b690a5\", \"4c629f7119a43db8f8a79aa297b89471c637baa9\", \"6b73497d7f9b0fe7c143c16af5d76b98fce77dec\", \"68142256644803da28b3423e14512561a1e685fe\", \"c0491eb1092fb8d4c4f73bbff7de63445dc76b8d\", \"adc4b0c916144376862d24fb9d7d0da8711e36f2\", \"a8a6959daae7e6b72acd26dc3b98f9acec779dff\", \"3ae095a623beccd426961c7f7e9615e78bbb326d\", \"d87f4af803f37d6e233dd085b8a2d8c308a1a8ff\", \"5cbcfbefb6204daa07f69d1473e8b632f510a3c5\", \"c8b2131460e9aa701540d8f8f4a70467e4ef3a83\", \"497b4b81487e90592a55c5052f475e9ea104dc76\", \"56f06e5daa78b2d8a51f65dfd7a69551da781e0e\", \"c4bf881e6be65a2ed751d99ae128f8cfb0c66a26\", \"b055eaf548b04022837b5d1e63a074fda07de160\", \"cb20d5e7db272a77a832622887553e027da4b1d2\", \"d46af4fd9b98888a0de259c341b96411e2c669c5\", \"280a0d119474f12f07c4fdd93340609e0dbf3f7a\", \"c819ae905ddb55e9cd32a898a7a39e0cf2325c56\", \"a458a7eeccfdc2edd6ce434767282501534d251c\", \"83f3e7bc5e3e010cda7d60bb2e323e339a27e198\", \"4bad563668835b7c532b744d505fea9e16a3406c\", \"f35cb6236c4846a39c60fd403ad8ebe8ce52ba63\", \"79084fce84130c9293b683ab25188c3e03a2604a\", \"ef15a3f65984e1bfafb6bf4b17e1b1793082447b\", \"d1f2ed62a1911db5d1e88c6962fe5cb39c28e379\", \"d28dbaeb19a05010148840f7c6db052449ad3cc1\", \"85fab15a160effa859b378b3a8bb367a7ae2366c\", \"f3e31cd377b8544804b747815d802a55550e25e3\", \"3a6a86225b30402a071ad7ed8126f834bfa109ca\", \"354830a625a458184a83dd524eac809f3c75459a\", \"016ca48684dbb0e3ee0ef70552e19f275a6113a1\", \"f7b1cd7a505a9dcf07fcaf629f3eb55b0bf09a2c\", \"a18057c9c5880dfcf6d7f8b108aa174e9127de88\", \"ce0cd089765e181f86f760ad34b411c69823419b\", \"60714bab049072e12565a7bf41a40c784292a3b4\", \"d24d5e99f12956571aa68cbc425f44559b486b0c\", \"fbbec4a0b3f7313b6628a111b3fe74e72d666e8d\", \"c8df971546044c26e1c21447b8418ec04a5906a3\", \"86eaf148db9b8c360a559f099d2e8a021803633b\", \"0962e0a35aa025c3a2aba7ebc58ec0a229db90bb\", \"1c266a549461422342d20060294f5aab3aa306e8\", \"4a9efc4d7529bfd1ce00c3eb53d5e2aa76b4e425\", \"f54f67143a6d3ab7cbfb02ea7a1f310f3fbccd18\", \"a73af42d647d310ef0ec899b1ee3bafdbaab3b68\", \"3cdc6c775115e5719a95f994bfc66ca8764bf17f\"], \"completion_shas_checked_at\": \"2026-04-13T04:07:11.761339+00:00\", \"completion_shas_missing\": [\"dabd020dbcf8928cf421a6e01d428af79c91c332\", \"4bbb7cba656d943ff92cb0f8b8090ec15302f2e0\", \"bbd7ab25eabb9c1a8a4af58ea1aad08a76492d87\", \"f3aaf9cafbb475d0fb758c98c86edb829773d1e5\", \"141404440fca1aa187414b9c01a1acab5398eed9\", \"c7f5da9e33cf1cddc81440c9ed0b3bfad9d5ff11\", \"ae2645dcba409bd925dd13bbd1f94ff60d153643\", \"fb29232dfdf04fa5f6c634665beffb84c4e9d536\", \"f0eed70ce177c4fcaf0c9f93a5a9357e89d9274f\", \"b026c728302b803ca98f516b38463bf33fea7970\", \"0538bb072b2177d2fa66a361436cbbd9fdb43b0d\", \"005e48bd3703cc06945fe96f012cc6b02ca3c461\", \"0ad03615a337c8a13859d0f496a0d09f47728e34\", \"3d729168e58728efd2b3ccab1c457781abd5e84b\", \"80a0293c08150a9ce7bb4fda9b411734ebc56f75\", \"5911672ea067db743e04bf3dd5b58926ef6b3e5d\", \"56bad6a129419ca752c5afbf5a2d3d2385f17277\", \"dc9ecd81261455341540b7ce9adee0810369d980\", \"a009b12466c43b269f9e2c3f2b116a2c7c078f62\", \"aad90100ba49ca2148b03413c2898a1404b1cd96\", \"4ed9f4502f4c371ebaf12d947c6a84332629eaf8\", \"007d2ee5dfb675ef3633290705cf38a2d3b65982\", \"ea11bfe373273773bc6877dce007e7b0ab311bdc\", \"e2c290e173f59ebd05d1e4723af9f59a378a2b19\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_gate_retry_count\": 0, \"_gate_last_decision\": \"REJECT\", \"_gate_last_reason\": \"ions. All four degraded-path returns in `/api/coverage` (lines 3858\\u20133894) still return `\\\"coverage\\\": {}` with no `overall_coverage` key inside `coverage` and no `summary` key at the top level, which causes TypeError in senate.html on `coverage.overall_coverage.toFixed(1)`, `data.summary.status`, and `data.summary.total_orphans`. ```json { \\\"decision\\\": \\\"REJECT\\\", \\\"reason\\\": \\\"All four /api/coverage degraded-path returns (lines 3858, 3867, 3875, 3889) still return \\\\\\\"coverage\\\\\\\": {} with no overall_cover\", \"_gate_last_instructions\": \"In every degraded-path return inside api_coverage (all four blocks), replace `\\\"coverage\\\": {}` with `\\\"coverage\\\": {\\\"overall_coverage\\\": 0}` and add a `\\\"summary\\\": {\\\"status\\\": \\\"degraded\\\", \\\"total_orphans\\\": 0}` key at the same level as \\\"coverage\\\", so senate.html can safely call coverage.overall_coverage.toFixed(1) and access data.summary.status / data.summary.total_orphans without throwing TypeError.\", \"_gate_branch\": \"orchestra/task/dff08e77-holistic-task-prioritization-and-self-go\", \"_gate_changed_files\": [\".gitignore\", \".orchestra-slot.json\", \"agent.py\", \"api.py\", \"api_shared/db.py\", \"api_shared/nav.py\", \"ci_snapshot_prices.py\", \"cli.py\", \"docs/planning/specs/0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md\", \"docs/planning/specs/051daf58_f92_spec.md\", \"docs/planning/specs/05b6876b_61a_spec.md\", \"docs/planning/specs/0850f78f_f00_spec.md\", \"docs/planning/specs/0afd971e-686d-400b-98a4-f71293db1351_broken_links_in_entity_http_500_9746_links_spec.md\", \"docs/planning/specs/197efcaa_cc16_static_asset_template_issues_spec.md\", \"docs/planning/specs/1d21e01d-0d3_template_link_generation_spec.md\", \"docs/planning/specs/1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md\", \"docs/planning/specs/1f62e277_c72_spec.md\", \"docs/planning/specs/1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md\", \"docs/planning/specs/22ef73fa-7c9e-4b0c-9bdc-187bdbb8e888_broken_links_in_target_http_500_spec.md\", \"docs/planning/specs/2310c378_ea0_spec.md\", \"docs/planning/specs/25dc2ab9-6d9e-4e1d-a415-eb8af9628b2c_broken_links_in_entity_http_500_34_links_spec.md\", \"docs/planning/specs/2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md\", \"docs/planning/specs/2fba3f5b_3e7_spec.md\", \"docs/planning/specs/39d76f99-75b5-4451-83d0-01e462b9aca5_broken_links_in_entity_http_404_10_links_spec.md\", \"docs/planning/specs/39f47701_938_spec.md\", \"docs/planning/specs/3d5cb5ea-broken-links-in-image-http-0-141-links_spec.md\", \"docs/planning/specs/3df7390a_4cd6_spec.md\", \"docs/planning/specs/3eb45ac3_complete_application_server_failure_spec.md\", \"docs/planning/specs/3fea4720-77a6-4a98-999b-0b54c81cae2e_broken_links_in_analysis_http_404_10_links_spec.md\", \"docs/planning/specs/4e5c9924_11bc_4268_spec.md\", \"docs/planning/specs/4e76d954-e253-441a-af7b-b28d18059f59_spec.md\", \"docs/planning/specs/50fd9c87-f086-4576-9d61-fa249719cb44_spec.md\", \"docs/planning/specs/51bbc267-83b1-41e6-bef4-ff90a3a91e0e_spec.md\", \"docs/planning/specs/53b098aba384_exchange_design_capital_allocation_mode_spec.md\", \"docs/planning/specs/53c618dd_a199_4fcb_9356_d43fbc922f59_spec.md\", \"docs/planning/specs/55888d47-5c2c-4a80-b007-2bbdc83a81ff_service_down_connection_failure_spec.md\", \"docs/planning/specs/55e3ea08_76c2_atlas_reduce_wiki_kg_link_backlog_spec.md\", \"docs/planning/specs/5faca020_wiki_quality_review_spec.md\", \"docs/planning/specs/692f13b8_876_spec.md\", \"docs/planning/specs/6d5f040f-b3e2-431d-8345-d780f32e3ccb_spec.md\", \"docs/planning/specs/6db7722d_16b_spec.md\", \"docs/planning/specs/7221a2c1-99dc-4f7a-aa92-56dd0a697a7e_broken_links_in_experiment_http_404_197_spec.md\", \"docs/planning/specs/77718e75-4f3d-4d2b-afdb-c5cf4152d9b9_spec.md\", \"docs/planning/specs/7c483e0e_5d1_spec.md\", \"docs/planning/specs/7ffcac76_07a_spec.md\", \"docs/planning/specs/85f207f0_aa7_spec.md\", \"docs/planning/specs/86c48eaa_senate_db_fk_integrity_spec.md\", \"docs/planning/specs/88da08c1_3d6_spec.md\", \"docs/planning/specs/8b68a328_f55_spec.md\", \"docs/planning/specs/8ba1aa28-6d6e-42a1-810e-65dc17dee42f_spec.md\", \"docs/planning/specs/93e4775f_690_spec.md\", \"docs/planning/specs/9401eb58-32bd-4a83-8823-c562758ca0eb_spec.md\", \"docs/planning/specs/9f0f0742_7c6_spec.md\", \"docs/planning/specs/9fcdbafb-78da_spec.md\", \"docs/planning/specs/a18d6546_economics_dashboard_spec.md\", \"docs/planning/specs/a27b8c7a-1fa_economics_ci_snapshot_hypothesis_prices_spec.md\", \"docs/planning/specs/a3f12c37_8e0_spec.md\", \"docs/planning/specs/a88f4944_cb09_forge_reduce_pubmed_metadata_backlog_spec.md\", \"docs/planning/specs/a9bbf4cf-0f86-4ed0-9c7b-0e951dc6393b_spec.md\", \"docs/planning/specs/ab99d47b-41e1-4b96-b27e-6b087a3ce107_spec.md\", \"docs/planning/specs/b5053347-091e-46e8-a9d1-f4521e633a91_spec.md\", \"docs/planning/specs/b68277b4_52c_spec.md\", \"docs/planning/specs/b920b7bc_556d_static_site_generation_spec.md\", \"docs/planning/specs/bebcf954_4716_4ef3_a173_47e8c1d414b7_spec.md\", \"docs/planning/specs/c0cfc918-a8f_spec.md\", \"docs/planning/specs/c0eee311_f09_spec.md\", \"docs/planning/specs/c0f32d2c-d759-47a8-8cca-04e28aa3c1d2_missing_analysis_html_spec.md\", \"docs/planning/specs/c172e5fc-48f8-42b3-9284-8e30aa787ba2_spec.md\", \"docs/planning/specs/c2d40207_a69_spec.md\", \"docs/planning/specs/c461cbaa-879e-45c6-b47d-0ae33f34b63f_spec.md\", \"docs/planning/specs/c64dd530-a55f-4520-972b-f0ca1ca478fd_broken_links_in_entity_http_404_10_links_spec.md\", \"docs/planning/specs/c8574be6_code_health_api_spec.md\", \"docs/planning/specs/c88c34f3-51bf-4e95-be40-dfe083b00d94_complete_scidex_service_unavailability_spec.md\", \"docs/planning/specs/cf4c46df_6fcb_spec.md\", \"docs/planning/specs/d20e0e93-fdbc-4487-b99e-0132b3e31684_spec.md\", \"docs/planning/specs/dd7602e9_4d27_42eb_9f80_4b2718caee68_spec.md\", \"docs/planning/specs/de84445a-d056-4dce-aff0-8d5f84da8c1e_spec.md\", \"docs/planning/specs/df7f8fc9-f0b5-4d6b-a6e5-a7536a7b3451_spec.md\", \"docs/planning/specs/dff08e77_5e4_spec.md\", \"docs/planning/specs/e9756cb9_service_outage_spec.md\", \"docs/planning/specs/economics_participation_drivers_spec.md\", \"docs/planning/specs/ed11ca4e_870_spec.md\", \"docs/planning/specs/efd97ee8_311_spec.md\", \"docs/planning/specs/f118e1e4_cf1_spec.md\", \"docs/planning/specs/f16d52db-3450-4d3d-b2cb-4c46831aa06b_spec.md\", \"docs/planning/specs/f6ca89b0_server_infrastructure_fix.md\", \"docs/planning/specs/f9253512-8561-4916-9405-ea42a6f54d45_spec.md\", \"docs/planning/specs/fe44e35f_broken_notebook_links_spec.md\", \"docs/planning/specs/ffb59345_708_spec.md\", \"docs/planning/specs/linkcheck-853068682d39.md\", \"docs/planning/specs/missing-content-generation.md\", \"docs/planning/specs/t-antimonoculture_anti_monoculture_enforcement_spec.md\", \"docs/planning/specs/t_diversity_bonus_spec.md\", \"docs/planning/specs/t_diversity_score_spec.md\", \"docs/planning/specs/t_proof_gated_updates_spec.md\", \"docs/planning/specs/task-id-pending_analysis_debate_wrapper_spec.md\", \"docs/planning/specs/versioned_datasets_spec.md\", \"economics_drivers/analysis_debate_wrapper_driver.py\", \"economics_drivers/dataset_quadratic_funding.py\", \"economics_drivers/detect_improvements.py\"], \"_gate_diff_stat\": \".gitignore                                         |     2 -\\n .orchestra-slot.json                               |     2 +-\\n agent.py                                           |    54 +-\\n api.py                                             |  2909 ++----\\n api_shared/db.py                                   |    30 +-\\n api_shared/nav.py                                  |     8 +-\\n ci_snapshot_prices.py                              |   104 -\\n cli.py                                             |    61 -\\n .../0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md   |    24 -\\n docs/planning/specs/051daf58_f92_spec.md           |    31 -\\n docs/planning/specs/05b6876b_61a_spec.md           |    11 -\\n docs/planning/specs/0850f78f_f00_spec.md           |    29 +-\\n ...ken_links_in_entity_http_500_9746_links_spec.md |    32 -\\n ...efcaa_cc16_static_asset_template_issues_spec.md |    15 -\\n .../1d21e01d-0d3_template_link_generation_spec.md  |    18 +-\\n .../1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md   |    68 -\\n docs/planning/specs/1f62e277_c72_spec.md           |    20 -\\n .../1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md   |    46 +-\\n ...bb8e888_broken_links_in_target_http_500_spec.md |     9 -\\n docs/planning/specs/2310c378_ea0_spec.md           |    92 -\\n ...roken_links_in_entity_http_500_34_links_spec.md |    57 -\\n .../2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md   |    67 -\\n docs/planning/specs/2fba3f5b_3e7_spec.md           |    43 -\\n ...roken_links_in_entity_http_404_10_links_spec.md |    30 -\\n docs/planning/specs/39f47701_938_spec.md           |   114 -\\n ...-broken-links-in-image-http-0-141-links_spec.md |    73 -\\n docs/planning/specs/3df7390a_4cd6_spec.md          |    47 -\\n ...ac3_complete_application_server_failure_spec.md |    18 -\\n ...ken_links_in_analysis_http_404_10_links_spec.md |    55 -\\n docs/planning/specs/4e5c9924_11bc_4268_spec.md     |    68 -\\n .../4e76d954-e253-441a-af7b-b28d18059f59_spec.md   |    41 -\\n .../50fd9c87-f086-4576-9d61-fa249719cb44_spec.md   |    10 -\\n .../\", \"_gate_history\": [{\"ts\": \"2026-04-17 18:11:07\", \"decision\": \"REJECT\", \"reason\": \"All four /api/coverage degraded-path returns (lines 3864, 3872, 3880, 3894) still return \\\"coverage\\\": {} with no overall_coverage or summary key, causing TypeError in senate.html on coverage.overall_coverage.toFixed(1), data.summary.status, and data.summary.total_orphans \\u2014 the same crash flagged across all seven prior reviews, still unresolved.\", \"instructions\": \"In every degraded-path return inside api_coverage (all four blocks), replace `\\\"coverage\\\": {}` with `\\\"coverage\\\": {\\\"overall_coverage\\\": 0}` and add a `\\\"summary\\\": {\\\"status\\\": \\\"degraded\\\", \\\"total_orphans\\\": 0}` key at the same level as \\\"coverage\\\", so senate.html can safely call coverage.overall_coverage.toFixed(1) and access data.summary.status / data.summary.total_orphans without throwing TypeError.\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:61\", \"retry_count\": 6}, {\"ts\": \"2026-04-17 18:18:42\", \"decision\": \"REJECT\", \"reason\": \"\\\", \\\"reason\\\": \\\"All four /api/coverage degraded-path returns (lines 3862, 3870, 3878, 3892) still return \\\\\\\"coverage\\\\\\\": {} with no overall_coverage or summary key, causing TypeError in senate.html on coverage.overall_coverage.toFixed(1), data.summary.status, and data.summary.total_orphans \\u2014 the same crash flagged and unresolved across all seven prior reviews.\\\", \\\"fixes\\\": [ \\\"In every degraded-path return inside api_coverage (lines 3858\\u20133864, 3867\\u20133872, 3875\\u20133880, 3889\\u20133894), replace `\\\\\\\"coverage\\\\\\\": {}\", \"instructions\": \"\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:61\", \"retry_count\": 7}, {\"ts\": \"2026-04-17 18:22:26\", \"decision\": \"REJECT\", \"reason\": \"\\\", \\\"reason\\\": \\\"All four /api/coverage degraded-path returns (lines 3862, 3870, 3878, 3892) still return \\\\\\\"coverage\\\\\\\": {} with no overall_coverage or summary key, causing TypeError in senate.html on coverage.overall_coverage.toFixed(1), data.summary.status, and data.summary.total_orphans \\u2014 the same crash flagged across all six prior reviews, still unresolved.\\\", \\\"fixes\\\": [ \\\"In every degraded-path return inside api_coverage (all four blocks at lines 3858\\u20133864, 3867\\u20133872, 3875\\u20133880, 3889\\u20133894), repla\", \"instructions\": \"\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:61\", \"retry_count\": 8}, {\"ts\": \"2026-04-17 18:29:28\", \"decision\": \"REJECT\", \"reason\": \"\\\", \\\"reason\\\": \\\"All four /api/coverage degraded-path returns (lines 3862, 3870, 3878, 3892) still return \\\\\\\"coverage\\\\\\\": {} with no overall_coverage or summary key, causing TypeError in senate.html on coverage.overall_coverage.toFixed(1), data.summary.status, and data.summary.total_orphans \\u2014 the same crash flagged across six prior reviews remains completely unaddressed.\\\", \\\"fixes\\\": [ \\\"In all four degraded-path return dicts (lines 3858-3864, 3867-3872, 3874-3880, 3888-3894), replace `\\\\\\\"coverage\\\\\\\": {}`\", \"instructions\": \"\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:61\", \"retry_count\": 9}, {\"ts\": \"2026-04-17 18:43:50\", \"decision\": \"REJECT\", \"reason\": \"ions. All four degraded-path returns in `/api/coverage` (lines 3858\\u20133894) still return `\\\"coverage\\\": {}` with no `overall_coverage` key inside `coverage` and no `summary` key at the top level, which causes TypeError in senate.html on `coverage.overall_coverage.toFixed(1)`, `data.summary.status`, and `data.summary.total_orphans`. ```json { \\\"decision\\\": \\\"REJECT\\\", \\\"reason\\\": \\\"All four /api/coverage degraded-path returns (lines 3858, 3867, 3875, 3889) still return \\\\\\\"coverage\\\\\\\": {} with no overall_cover\", \"instructions\": \"\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:61\", \"retry_count\": 10}], \"_gate_judge_used\": \"max:claude-sonnet-4-6\", \"_gate_escalated_at\": \"2026-04-17 18:43:50\", \"_gate_escalated_to\": \"safety>=9\", \"_gate_failed_workspace_path\": \"/home/ubuntu/scidex/.orchestra-worktrees/task-dff08e77-5e49-4da5-a9ef-fbfe7de3dc17\", \"_gate_failed_branch\": \"orchestra/task/dff08e77-holistic-task-prioritization-and-self-go\"}"},{"id":"c3a426dc-ea93-4148-84b5-b83e3e1aaf24","title":"[Senate] Calibration slashing for miscalibrated forecasters (driver #16)","description":"Recurring driver implementing Brier-score reputation slashing. When a market settles, compute each market participant's Brier score for that prediction (squared error from settlement price). If their Brier > 0.25 (well-calibrated forecasters average ~0.10), slash 5% of their staked tokens AND nudge agent_registry.reputation_score downward by 0.02 (floor 0). Prevents inflation, encourages calibrated betting, makes truth the only sustainable strategy. See economics_v2_credit_backprop_spec.md Tier 1 #3.","status":"open","priority":92,"task_type":"recurring","frequency":"every-6h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T17:13:35.696024+00:00","updated_at":"2026-04-17T17:13:35.696024+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/economics_v2_credit_backprop_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 7, \"safety\": 9}, \"completion_shas\": [\"b2ec2f0f5aa908d0f74932578f1edb1f2f9f6f0c\", \"8218c5ba06a959a2f041abf3b2ba35c56569ee90\"], \"completion_shas_checked_at\": \"2026-04-12T23:53:26.513965+00:00\", \"completion_shas_missing\": [\"891b43ca5c1aae3fb95bfa8173c613725c6c409f\", \"ab25d9cb561066355a5156a8eb9164f7fa2aa141\", \"5e70d5d740b73993de9c5cb041bd6a618bae20da\", \"d077772dfdeeeea90777857a3156c113258456c0\", \"3a68fe3c49c8820cf0fe570095270bc47f40bb4f\", \"2e963bcd10aab95f7b8d064cd567bba907f3bc0a\", \"07d886dfbf05ed65c2a735f14bac61da95e33fc1\"]}"},{"id":"ac50dffd-8951-47a1-8bf5-528c8f99fb24","title":"[Senate] Fix command injection in bridge.py file listing with safe subprocess","description":"Critical (C-4): bridge.py:17 uses shell=True with f-string for find command. Replace with list-based subprocess call to prevent command injection. See security_audit_2026-04-02.md for safe implementation example.\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":"open","priority":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:39:10","updated_at":"2026-04-13T10:16:03.088719+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ac50dffd_895_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"6273e427-6b3b-49bf-bc4b-898aba206535","title":"[Senate] Process agent finding nominations and settle contribution credit","description":"Process proposed artifact nominations into downstream work and settle completed follow-up outcomes back into token credit and reputation.","status":"open","priority":91,"task_type":"recurring","frequency":"every-6h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:38:49.136221+00:00","updated_at":"2026-04-17T17:48:01.804796+00:00","summary":"","completion_notes":"Inspect `git diff origin/main..HEAD`, rebase or merge origin/main into the task branch, and resolve only task-relevant conflicts before retrying.\n\nChanged files:\n- .gitignore\n- .orchestra-slot.json\n- agent.py\n- api.py\n- api_shared/db.py\n- api_shared/nav.py\n- ci_route_health.py\n- cli.py\n- docs/planning/specs/00739e13_fab_spec.md\n- docs/planning/specs/0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md\n- docs/planning/specs/051daf58_f92_spec.md\n- docs/planning/specs/05b6876b_61a_spec.md\n- docs/planning/specs/0850f78f_f00_spec.md\n- docs/planning/specs/0a4a42ea_f2c_spec.md\n- docs/planning/specs/0b5285ff-c077-455e-a4d6-f0dd3b538675_spec.md\n- docs/planning/specs/0d37548c_12f_spec.md\n- docs/planning/specs/0de12ae3_ba9_spec.md\n- docs/planning/specs/13d17f9d_fc6_spec.md\n- docs/planning/specs/1668104c_69f_spec.md\n- docs/planning/specs/197efcaa_cc16_static_asset_template_issues_spec.md\n- docs/planning/specs/19d7e4f1_87c_spec.md\n- docs/planning/specs/1a33a296_e05_spec.md\n- docs/planning/specs/1d21e01d-0d3_template_link_generation_spec.md\n- docs/planning/specs/1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md\n- docs/planning/specs/1f62e277_c72_spec.md\n- docs/planning/specs/1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md\n- docs/planning/specs/22ef73fa-7c9e-4b0c-9bdc-187bdbb8e888_broken_links_in_target_http_500_spec.md\n- docs/planning/specs/2310c378_ea0_spec.md\n- docs/planning/specs/245a4f77_da9_spec.md\n- docs/planning/specs/2679e2c9_852_spec.md\n- docs/planning/specs/2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md\n- docs/planning/specs/2fba3f5b_3e7_spec.md\n- docs/planning/specs/355a0e0b_92d_spec.md\n- docs/planning/specs/39f47701_938_spec.md\n- docs/planning/specs/3d5cb5ea-broken-links-in-image-http-0-141-links_spec.md\n- docs/planning/specs/3df7390a_4cd6_spec.md\n- docs/planning/specs/3eb45ac3_complete_application_server_failure_spec.md\n- docs/planning/specs/3fea4720-77a6-4a98-999b-0b54c81cae2e_broken_links_in_analysis_http_404_10_links_spec.md\n- docs/planning/specs/42320e63_d82_spec.md\n- docs/planning/specs/43abc1dc_631_spec.md\n\nDiff stat:\n.gitignore                                         |     2 -\n .orchestra-slot.json                               |     2 +-\n agent.py                                           |    54 +-\n api.py                                             |  3213 ++----\n api_shared/db.py                                   |    30 +-\n api_shared/nav.py                                  |     8 +-\n ci_route_health.py                                 |   204 -\n cli.py                                             |    61 -\n docs/planning/specs/00739e13_fab_spec.md           |    22 +-\n .../0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md   |    24 -\n docs/planning/specs/051daf58_f92_spec.md           |    63 -\n docs/planning/specs/05b6876b_61a_spec.md           |    11 -\n docs/planning/specs/0850f78f_f00_spec.md           |    57 -\n docs/planning/specs/0a4a42ea_f2c_spec.md           |    36 -\n .../0b5285ff-c077-455e-a4d6-f0dd3b538675_spec.md   |    26 -\n docs/planning/specs","last_error":"Review gate REVISE: 10 blocked merge attempts; escalated via safety>=9 capability requirement","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/agent_nomination_processor_quest_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 03:14:20\", \"completion_shas\": [\"e4820cfadf3c0ce4f45a52d691ed801f07e39c0f\", \"727ccdcfa48e464014e520fa10897033960669ff\", \"152c38d889df6fa4e9c83f96232b71e1f8527b84\", \"d911c251be8837452821ce92eff9c1531d583d62\", \"1a0e7cd70104b5e8a68e4a0cad7ec2dc152ed2d1\", \"58adcee5f863fce8209071a827795e8e5db980d3\", \"306ea79b845ab2c1041a32dde3a5a597bb6c468a\", \"3e6e2b2d2e2aa1e759dd4319a0ea0e19d1afdfa0\", \"0891ceec01b09e2152e49035b10dc8abe2a2ae9c\", \"57604f68c6fffeace96bbb047d968305e6f11ac8\", \"d609ac00af8155165db6d811cf600d75daaeedec\", \"ca9e81afc8e637c9eacb1f65c0e39059ccf5f8a6\", \"ec22b5b92ee8e63d668609ed98df88167220283a\"], \"completion_shas_checked_at\": \"2026-04-13T00:15:49.369588+00:00\", \"completion_shas_missing\": [\"c2b85b15e76e7fc81a9b3704a3759997dd34bc85\", \"53cf4426ffffb55fa47ec3a1b340d18a84a8396b\", \"adb500acd979108621f63443e1053185c19b6d20\", \"8101020a6cf5cd7e451e6fa13af91b760ff6b6ca\", \"1a378cdd9d0e4639dc2ad34032a701abbac5598f\", \"fc384b9f02f5f14cbca80e55e028dd0529ced7a4\", \"0a6cb0c8cc6a42f9b99edd7077352e8b4e102d6a\", \"463d4e532c6a711f7438084d65fd29452fe34dcf\", \"0decbb923683406aec40321bb5fc2007c8957426\", \"d2bc34822ab6036cdc1b7938bda3bfca0126571b\", \"32769222414f253940eee6445cb9878abb6cfd06\", \"9dbb31cefb521fbebed47e15c2c743521682ce74\", \"47674f5a2fd8fa292ba5cd35336b78297ba3cb43\", \"39e48c2647f1a2d983b97303d7ca234ac50e2eed\", \"e25b2e0e3f23b0c1cd514a4c1f32fa984af53ea9\"], \"requirements\": {\"coding\": 5, \"safety\": 9}, \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_gate_retry_count\": 0, \"_gate_last_decision\": \"REVISE\", \"_gate_last_reason\": \"Auto-deploy blocked: Merge failed (conflicts?):\", \"_gate_last_instructions\": \"Inspect `git diff origin/main..HEAD`, rebase or merge origin/main into the task branch, and resolve only task-relevant conflicts before retrying.\", \"_gate_branch\": \"orchestra/task/6273e427-process-agent-finding-nominations-and-se\", \"_gate_changed_files\": [\".gitignore\", \".orchestra-slot.json\", \"agent.py\", \"api.py\", \"api_shared/db.py\", \"api_shared/nav.py\", \"ci_route_health.py\", \"cli.py\", \"docs/planning/specs/00739e13_fab_spec.md\", \"docs/planning/specs/0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md\", \"docs/planning/specs/051daf58_f92_spec.md\", \"docs/planning/specs/05b6876b_61a_spec.md\", \"docs/planning/specs/0850f78f_f00_spec.md\", \"docs/planning/specs/0a4a42ea_f2c_spec.md\", \"docs/planning/specs/0b5285ff-c077-455e-a4d6-f0dd3b538675_spec.md\", \"docs/planning/specs/0d37548c_12f_spec.md\", \"docs/planning/specs/0de12ae3_ba9_spec.md\", \"docs/planning/specs/13d17f9d_fc6_spec.md\", \"docs/planning/specs/1668104c_69f_spec.md\", \"docs/planning/specs/197efcaa_cc16_static_asset_template_issues_spec.md\", \"docs/planning/specs/19d7e4f1_87c_spec.md\", \"docs/planning/specs/1a33a296_e05_spec.md\", \"docs/planning/specs/1d21e01d-0d3_template_link_generation_spec.md\", \"docs/planning/specs/1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md\", \"docs/planning/specs/1f62e277_c72_spec.md\", \"docs/planning/specs/1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md\", \"docs/planning/specs/22ef73fa-7c9e-4b0c-9bdc-187bdbb8e888_broken_links_in_target_http_500_spec.md\", \"docs/planning/specs/2310c378_ea0_spec.md\", \"docs/planning/specs/245a4f77_da9_spec.md\", \"docs/planning/specs/2679e2c9_852_spec.md\", \"docs/planning/specs/2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md\", \"docs/planning/specs/2fba3f5b_3e7_spec.md\", \"docs/planning/specs/355a0e0b_92d_spec.md\", \"docs/planning/specs/39f47701_938_spec.md\", \"docs/planning/specs/3d5cb5ea-broken-links-in-image-http-0-141-links_spec.md\", \"docs/planning/specs/3df7390a_4cd6_spec.md\", \"docs/planning/specs/3eb45ac3_complete_application_server_failure_spec.md\", \"docs/planning/specs/3fea4720-77a6-4a98-999b-0b54c81cae2e_broken_links_in_analysis_http_404_10_links_spec.md\", \"docs/planning/specs/42320e63_d82_spec.md\", \"docs/planning/specs/43abc1dc_631_spec.md\", \"docs/planning/specs/4a789ba1_bd0_spec.md\", \"docs/planning/specs/4e5c9924_11bc_4268_spec.md\", \"docs/planning/specs/4e76d954-e253-441a-af7b-b28d18059f59_spec.md\", \"docs/planning/specs/4f5b385f_66b_spec.md\", \"docs/planning/specs/50fd9c87-f086-4576-9d61-fa249719cb44_spec.md\", \"docs/planning/specs/51bbc267-83b1-41e6-bef4-ff90a3a91e0e_spec.md\", \"docs/planning/specs/53b098aba384_exchange_design_capital_allocation_mode_spec.md\", \"docs/planning/specs/53c618dd_a199_4fcb_9356_d43fbc922f59_spec.md\", \"docs/planning/specs/55888d47-5c2c-4a80-b007-2bbdc83a81ff_service_down_connection_failure_spec.md\", \"docs/planning/specs/55e3ea08_76c2_atlas_reduce_wiki_kg_link_backlog_spec.md\", \"docs/planning/specs/5a10152f_8bd_spec.md\", \"docs/planning/specs/5faca020_wiki_quality_review_spec.md\", \"docs/planning/specs/692f13b8_876_spec.md\", \"docs/planning/specs/6d5f040f-b3e2-431d-8345-d780f32e3ccb_spec.md\", \"docs/planning/specs/6db7722d_16b_spec.md\", \"docs/planning/specs/6e7d8631_63f_spec.md\", \"docs/planning/specs/7221a2c1-99dc-4f7a-aa92-56dd0a697a7e_broken_links_in_experiment_http_404_197_spec.md\", \"docs/planning/specs/77718e75-4f3d-4d2b-afdb-c5cf4152d9b9_spec.md\", \"docs/planning/specs/7c483e0e_5d1_spec.md\", \"docs/planning/specs/7ffcac76_07a_spec.md\", \"docs/planning/specs/85f207f0_aa7_spec.md\", \"docs/planning/specs/86c48eaa_senate_db_fk_integrity_spec.md\", \"docs/planning/specs/88da08c1_3d6_spec.md\", \"docs/planning/specs/8ad4c451_bd3_spec.md\", \"docs/planning/specs/8b0d3be0_0e7_spec.md\", \"docs/planning/specs/8b68a328_f55_spec.md\", \"docs/planning/specs/8ba1aa28-6d6e-42a1-810e-65dc17dee42f_spec.md\", \"docs/planning/specs/8f732eff_6f6_spec.md\", \"docs/planning/specs/93e4775f_690_spec.md\", \"docs/planning/specs/9401eb58-32bd-4a83-8823-c562758ca0eb_spec.md\", \"docs/planning/specs/9455e56c_3e3_spec.md\", \"docs/planning/specs/9b2fabdb_60f_spec.md\", \"docs/planning/specs/9b4b1e14_quality_top_hypothesis_pages_spec.md\", \"docs/planning/specs/9f0f0742_7c6_spec.md\", \"docs/planning/specs/9fcdbafb-78da_spec.md\", \"docs/planning/specs/9fef1c13_a80_spec.md\", \"docs/planning/specs/a18d6546_economics_dashboard_spec.md\", \"docs/planning/specs/a27b8c7a-1fa_economics_ci_snapshot_hypothesis_prices_spec.md\", \"docs/planning/specs/a3f12c37_8e0_spec.md\", \"docs/planning/specs/a449718f_532_spec.md\", \"docs/planning/specs/a572c16b_dd6_spec.md\", \"docs/planning/specs/a88f4944_cb09_forge_reduce_pubmed_metadata_backlog_spec.md\", \"docs/planning/specs/a9bbf4cf-0f86-4ed0-9c7b-0e951dc6393b_spec.md\", \"docs/planning/specs/aa1c8ad8_f157_senate_ci_database_integrity_check_spec.md\", \"docs/planning/specs/aa561240_161_spec.md\", \"docs/planning/specs/ab99d47b-41e1-4b96-b27e-6b087a3ce107_spec.md\", \"docs/planning/specs/agent_nomination_processor_quest_spec.md\", \"docs/planning/specs/b13f71fa_465_spec.md\", \"docs/planning/specs/b5053347-091e-46e8-a9d1-f4521e633a91_spec.md\", \"docs/planning/specs/b68277b4_52c_spec.md\", \"docs/planning/specs/b920b7bc_556d_static_site_generation_spec.md\", \"docs/planning/specs/bebcf954_4716_4ef3_a173_47e8c1d414b7_spec.md\", \"docs/planning/specs/c0825bd0-a0b_exchange_enrich_target_profiles_add_dru_spec.md\", \"docs/planning/specs/c0cfc918-a8f_spec.md\", \"docs/planning/specs/c0eee311_f09_spec.md\", \"docs/planning/specs/c0f32d2c-d759-47a8-8cca-04e28aa3c1d2_missing_analysis_html_spec.md\", \"docs/planning/specs/c1227e9b_0ef_spec.md\", \"docs/planning/specs/c172e5fc-48f8-42b3-9284-8e30aa787ba2_spec.md\", \"docs/planning/specs/c2d40207_a69_spec.md\", \"docs/planning/specs/c461cbaa-879e-45c6-b47d-0ae33f34b63f_spec.md\"], \"_gate_diff_stat\": \".gitignore                                         |     2 -\\n .orchestra-slot.json                               |     2 +-\\n agent.py                                           |    54 +-\\n api.py                                             |  3213 ++----\\n api_shared/db.py                                   |    30 +-\\n api_shared/nav.py                                  |     8 +-\\n ci_route_health.py                                 |   204 -\\n cli.py                                             |    61 -\\n docs/planning/specs/00739e13_fab_spec.md           |    22 +-\\n .../0514eb5b_fe0e_46f0_af49_cdeef6d6eaf5_spec.md   |    24 -\\n docs/planning/specs/051daf58_f92_spec.md           |    63 -\\n docs/planning/specs/05b6876b_61a_spec.md           |    11 -\\n docs/planning/specs/0850f78f_f00_spec.md           |    57 -\\n docs/planning/specs/0a4a42ea_f2c_spec.md           |    36 -\\n .../0b5285ff-c077-455e-a4d6-f0dd3b538675_spec.md   |    26 -\\n docs/planning/specs/0d37548c_12f_spec.md           |    33 -\\n docs/planning/specs/0de12ae3_ba9_spec.md           |    32 -\\n docs/planning/specs/13d17f9d_fc6_spec.md           |    32 -\\n docs/planning/specs/1668104c_69f_spec.md           |    32 -\\n ...efcaa_cc16_static_asset_template_issues_spec.md |    15 -\\n docs/planning/specs/19d7e4f1_87c_spec.md           |    32 -\\n docs/planning/specs/1a33a296_e05_spec.md           |    36 -\\n .../1d21e01d-0d3_template_link_generation_spec.md  |    18 +-\\n .../1e337153-1ae0-4a95-a573-bc5f1cdddc58_spec.md   |    68 -\\n docs/planning/specs/1f62e277_c72_spec.md           |    20 -\\n .../1fe0f02e-fcc9-4d27-b836-84d337b8acec_spec.md   |    46 +-\\n ...bb8e888_broken_links_in_target_http_500_spec.md |     9 -\\n docs/planning/specs/2310c378_ea0_spec.md           |    92 -\\n docs/planning/specs/245a4f77_da9_spec.md           |    35 -\\n docs/planning/specs/2679e2c9_852_spec.md           |    33 -\\n .../2f33adfc-814c-42cc-838a-e1d8f080e4e8_spec.md   |    67 -\\n docs/planning/specs/2fba3f5b_3e7_spec.md           |    75 -\\n docs\", \"_gate_history\": [{\"ts\": \"2026-04-17 17:21:26\", \"decision\": \"REJECT\", \"reason\": \"The task branch api.py still omits _encode_site_url_path, _figure_url_from_filepath, _figure_url_from_prefix_and_name, _fetch_ai_portrait_url, and _fetch_hypothesis_visual_url, which are called at 20+ sites in main's api.py \\u2014 merging will cause NameError on startup, same regression flagged in Review 1.\", \"instructions\": \"Restore the five deleted helper functions (lines 132\\u2013248 of main's api.py: _encode_site_url_path, _figure_url_from_filepath, _figure_url_from_prefix_and_name, _fetch_ai_portrait_url, _fetch_hypothesis_visual_url) into the task branch's api.py before merging.\\nAfter restoring, run: grep -n '_encode_site_url_path\\\\|_figure_url_from_filepath\\\\|_figure_url_from_prefix_and_name\\\\|_fetch_ai_portrait_url\\\\|_fetch_hypothesis_visual_url' api.py \\u2014 confirm both definitions and all call sites are present.\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:60\", \"retry_count\": 6}, {\"ts\": \"2026-04-17 17:25:22\", \"decision\": \"REJECT\", \"reason\": \"The diff still deletes the five figure-URL helper functions (lines 132\\u2013248 of main api.py) while 20+ live call sites remain (e.g. lines 6429, 23046, 33235, 52409, 63127), causing NameError on startup \\u2014 identical regression flagged in Reviews 1 and 2.\", \"instructions\": \"Restore _encode_site_url_path, _figure_url_from_filepath, _figure_url_from_prefix_and_name, _fetch_ai_portrait_url, and _fetch_hypothesis_visual_url into the task branch's api.py (copy from main lines 132\\u2013248).\\nAfter restoring, verify with: grep -n '_encode_site_url_path\\\\|_figure_url_from_filepath\\\\|_figure_url_from_prefix_and_name\\\\|_fetch_ai_portrait_url\\\\|_fetch_hypothesis_visual_url' api.py \\u2014 every call site must resolve to a definition in the same file.\", \"judge_used\": \"max:claude-sonnet-4-6\", \"actor\": \"minimax:60\", \"retry_count\": 7}, {\"ts\": \"2026-04-17 17:28:51\", \"decision\": \"REVISE\", \"reason\": \"Auto-deploy blocked: Merge failed (conflicts?):\", \"instructions\": \"Inspect `git diff origin/main..HEAD`, rebase or merge origin/main into the task branch, and resolve only task-relevant conflicts before retrying.\", \"judge_used\": \"\", \"actor\": \"minimax:60\", \"retry_count\": 8}, {\"ts\": \"2026-04-17 17:32:32\", \"decision\": \"REVISE\", \"reason\": \"Auto-deploy blocked: Merge failed (conflicts?):\", \"instructions\": \"Inspect `git diff origin/main..HEAD`, rebase or merge origin/main into the task branch, and resolve only task-relevant conflicts before retrying.\", \"judge_used\": \"\", \"actor\": \"minimax:60\", \"retry_count\": 9}, {\"ts\": \"2026-04-17 17:48:01\", \"decision\": \"REVISE\", \"reason\": \"Auto-deploy blocked: Merge failed (conflicts?):\", \"instructions\": \"Inspect `git diff origin/main..HEAD`, rebase or merge origin/main into the task branch, and resolve only task-relevant conflicts before retrying.\", \"judge_used\": \"\", \"actor\": \"minimax:60\", \"retry_count\": 10}], \"_gate_judge_used\": \"max:claude-sonnet-4-6\", \"_gate_escalated_at\": \"2026-04-17 17:48:01\", \"_gate_escalated_to\": \"safety>=9\", \"_gate_failed_workspace_path\": \"/home/ubuntu/scidex/.orchestra-worktrees/task-6273e427-6b3b-49bf-bc4b-898aba206535\", \"_gate_failed_branch\": \"orchestra/task/6273e427-process-agent-finding-nominations-and-se\"}"},{"id":"2310c378-ea0e-4bde-982e-cb08cc40be96","title":"[Senate] DB health check","description":"Run database integrity, size, and row count checks","status":"open","priority":90,"task_type":"recurring","frequency":"hourly","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T19:11:08.578518+00:00","updated_at":"2026-04-17T19:11:08.578518+00:00","summary":"","completion_notes":"Auto-release: recurring task had no work this cycle","last_error":"","time_estimate_hours":0.0,"completion_count":587,"spec_path":"docs/planning/specs/2310c378_ea0_spec.md","provider":"any","payload_json":"{\"command\": \"python3.12 /home/ubuntu/Orchestra/scripts/orchestra_cli.py health check --project SciDEX\", \"timeout\": 60, \"success_exit_codes\": [0], \"completion_shas\": [\"97468772e2dd5419e7e33d7ec854ecd011362391\"], \"completion_shas_checked_at\": \"2026-04-13T06:45:03.961420+00:00\", \"completion_shas_missing\": [\"cbd89afedeb0c750b75f9b936572b84c0c11f40a\", \"5605fa5d68a83e9c1034e941af74b832f6e4bab2\", \"5dca491b327ede22b278489aa9638ebd5a970a5e\", \"69d2f4f55a4edfecc0eb713f116e0e9a9e0500f5\", \"dc09b67311c259b94fc2091f4910a029a790aef4\", \"e9e9790bf9b1ec96f44a7c359bfb6da839b0b37f\"], \"_watchdog_repair_task_id\": \"5fe53352-989f-4007-956c-291d814e8fff\", \"_watchdog_repair_created_at\": \"2026-04-17T09:38:26.505018+00:00\"}"},{"id":"2194913c-a529-46d3-b997-2d19e9296973","title":"[Senate] CI: audit_specs — find tasks with missing spec files","description":"Run scripts/audit_specs.py against the live DB to find tasks whose spec_path points at a file that doesn't exist on disk. For open/running tasks with MISSING specs, requeue with a caveat note. Done tasks with missing specs are reported but not requeued (audit_completed_tasks owns that check). Run: cd /home/ubuntu/Orchestra && python3 scripts/audit_specs.py --project SciDEX --status open,running --reopen","status":"open","priority":90,"task_type":"recurring","frequency":"every-6h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T17:17:20.953667+00:00","updated_at":"2026-04-17T17:17:20.953667+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/orchestra_phase0_services_refactor_spec.md","provider":"any","payload_json":"{\"requirements\": {\"safety\": 7}}"},{"id":"e643cdd3-afd6-410f-a366-a6297d112127","title":"[Senate] Security Manager: establish emergency access recovery procedures","description":"Create and document emergency access recovery procedures:\n1. Document all access methods: SSH keys, web endpoints, systemd services\n2. Create /api/health endpoint (no auth required) that returns system status\n3. Ensure backup.sh can run independently even if API is down\n4. Document how to restore from S3 backups if local system is compromised\n5. Create emergency_restore.sh script that can rebuild from S3 backup\n6. Store recovery procedures in SECURITY.md AND in S3 as recovery.md\n7. Ensure at least one access method always works even if others are locked\nPRINCIPLE: Security should NEVER result in lockout. Always maintain a recovery path.\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":"open","priority":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:37:45","updated_at":"2026-04-13T10:16:03.115797+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"9b9a9320-d850-415a-ac56-4729cef6b6b2","title":"[Senate] Fix SQL injection patterns in cli.py and api.py","description":"Critical (C-1, C-2): SQL injection via f-strings in cli.py:212 (dynamic table names) and api.py:2872 (unused placeholders variable). Add table name allowlist validation in cli.py. Remove unused placeholders in api.py. Validate entity_name before queries. See security_audit_2026-04-02.md.\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":"open","priority":89,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:39:45","updated_at":"2026-04-13T10:16:03.076189+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9b9a9320_d85_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"2c3c0342-f18d-4bed-bd34-194d2b8685e5","title":"[Senate] Validate entity_name URL parameter against malicious input","description":"High (H-4): /entity/{entity_name:path} accepts arbitrary strings including XSS payloads. Validate entity_name format with regex (alphanumeric + underscore + hyphen only). Return 404 for invalid formats. Apply html.escape() as defense in depth. See security_audit_2026-04-02.md.\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":"open","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:42:30","updated_at":"2026-04-13T10:16:03.085678+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2c3c0342_f18_spec.md","provider":"claude","payload_json":"{}"},{"id":"82730506-c21e-459e-b58a-4dbce0c2e03d","title":"[Senate] Implement rate limiting with slowapi on all API endpoints","description":"High (H-5, H-6): No rate limiting on any endpoint. POST can be abused for DoS/cost amplification. Implement slowapi: POST endpoints 5/hour, public reads 100/min, search 20/min, agent log 10/min. See security_audit_2026-04-02.md for implementation.\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":"open","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:42:06","updated_at":"2026-04-13T10:16:03.082533+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/82730506_c21_spec.md","provider":"claude","payload_json":"{}"},{"id":"a3f12c37-8e0e-44b0-a68b-f82c9b7f2adc","title":"[Senate] Onboard external agents and build contributor network","description":"Open SciDEX to external agents (OpenClaw, MolTBook, etc.) and humans. Activate all 7 agent roles, build contributor profiles, discovery API, probation system. Reuse three universal primitives (markets, debate, evidence) — no new mechanisms. See docs/planning/specs/contributor_network_quest_spec.md","status":"open","priority":86,"task_type":"recurring","frequency":"every-2h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T18:05:52.499571+00:00","updated_at":"2026-04-17T18:05:52.499571+00:00","summary":"","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":1,"spec_path":"docs/planning/specs/a3f12c37_8e0_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"completion_shas\": [\"bdef1d228f9ab7c69ca326bcfb9b1bf42dbefeff\", \"3073808671b9fd4f6d55c9ea18805af48af7378e\", \"4a531fc18e8d689a7558ac3c5f93e13dd5708099\", \"cf3c84076f72d0e8bb3f5772ed66070829aac6f4\", \"ff757132fd1b95202abfaeaf3905ead27c249726\", \"3c4e0030f04efecfe6fcfe30beb07bb62a79d99f\", \"ddb43b0a061012177cadbaf1669124e2dc9916f2\", \"4e5f3814bb2f169cc663762e7782867dcf8532f5\", \"99bbf9ce97672b62cd68be88e1174e02255c98c3\", \"efb4cab53767aaf1b6aa6821339838c560d92b3c\", \"d982ba8c67eaf76877fa87bc796a86b165d4e498\", \"23496d2b0c7b3aabd84c779b7b3632360c852549\", \"4fe36329b9067c6987d9768ac42e29cfdd3653e8\", \"c48dd8e08405e5a8f214d6894191a0acca4b0673\", \"69fcd9fb495121def1ae8049f4d93db9fba5576b\", \"779893796c6e9d5de37404f4576a076d4a8519bb\", \"5161f228734719a2ad038b702d69f6510d29b651\", \"7377e755f777b43eccaaafc463d55a185cfb506f\", \"a2c59f7834694fbc367d189b253409a4ec078b16\", \"adc319cc36cfa80645bd6ab603fd4871b03d0a79\", \"a5b6d6cdbfb4b4263b11b355d1bede3b985553ae\", \"db28ea5f601b9d8236dd340d7ff52dbcce8c0f84\", \"b88fd7a47096ebd3d8e5f7fbba47f5df3a981675\", \"3effcbd11870f98ba2dd466f81601ea22b304590\", \"e2f55d4a0c0c6a949b105cd99f506be6ef3561da\", \"56ee338eab8e4dd666a6ead610a0f88ac74aa3d4\", \"50807f3b79a2fd80cd70b60b455e032ea39969c3\", \"0e2bbd1114b25a6ea3d2b17b6e6e6f4d8782bdd4\", \"d0f2a751dcbaec7cc42ca78990abc42efe2418b9\", \"37ff7ffb490b462d65b6111d24366645100f4fae\", \"897c63d73e671139606ac8b832646566de4c789b\", \"107ab7f7c2e2b2842f8a4b3c72f0ef3c81a71791\", \"38a1e428e26595b6bedef90d3110c04f1e8cea9b\", \"7e247e9db39dd1198817eff0d9257ebca70876e2\", \"9f8e4608e6684d38c27ec56d29eed448877a8ee1\", \"ea50cbfcbfcdc82176ada415c57e5940da1b1c27\", \"ef7c7aa563fca81ee9672242e9734ddf4e036c18\", \"4bec73cb45b720c21d9ad3fa575a7a79b7e79163\", \"85ccdc22bcac546a93627a3d02e7d9f7e920b81b\", \"f49aab1e57003a25b82849d5ee7b85299eb58030\", \"0ca8025aa5bef7961dfecab0a2e3cad272f3199a\", \"62287a20327659eb96e0e40f0bced9d16ab0dce9\", \"48f22b11bf642c04ed49f25629fd201d0aa495b0\", \"7e8bf743fa70f85a8e8bee4a971b776dbd91b099\", \"a71f747d339fb8579791be70bb11d3a2ff3a4167\", \"64ab2d4a8b2bcaa1d5b061fb8344975ab9f25bfa\", \"f0444ba2779b9902c255aecf21e9758a4d2fac1d\", \"b5b6daa62f34909f64a48c58bac22482627826bd\", \"25f517dd16cc378ff919bd0d09cb7cdaa24205c1\", \"45a5605e61982f9cf9fd3baa90dfdbb2a63b1c01\", \"d495ac484cde24db71baf3ae825458a7409dff0f\", \"a493168b6335501d6b7029665270ebf985e031db\", \"3261938fe3aa3e73685f5dde5dda088c71aa8c65\", \"ee9691fb05fd6bd125d6ee69bb70121a7c685bdc\", \"b3e052a9aa894d53bdcf551dc15bffedf431cd11\", \"4d78c4056aea19fa6d9f022959eaa81024cdd6c3\", \"89beed18e8146772eaaac9984ce8ffb2caf92df5\", \"6456e0c5022c505fbd0e7cf64b5f872935f702ce\"], \"completion_shas_checked_at\": \"2026-04-13T04:48:36.457618+00:00\", \"completion_shas_missing\": [\"def329d398bf67000e65d7ed2a1fb4f558326563\", \"ebdea3cf01de9c3503d2e245f85f14c93bcaaa82\", \"73007cf2d89870267a34d9212413c6cfa1d19af5\", \"47d1e263bd9623855ab3c16c67e025e9653d81f2\", \"1b2cf295b6a38b5d472973924c6ef643264888e0\", \"56e1a640ea1990be5d3d001dbdc6e8d902fa58f6\", \"b469c269e7b9736d78cfc700bb0135c465f4a428\", \"741d64e91719feceb0a14d6fe5902012e07ddf98\", \"09d435c22cafba74c5a85c52d4a298439961e789\", \"629ded2acc2e78216b27d60d8aa55c0820b52ec5\", \"d7f9d24477e1c91174800b2630b8b51e721affd4\", \"c38de2bdc493928b07a529e4caaee430bc149efb\", \"7526323975e697e52a00a893f1f15df633bf3863\", \"fbd41b22736705b8dd6b1a383187387504d926f9\", \"2066ef91ccb3630989fdae42b13c0e89613533fd\", \"f3ea9e052d4969bae2e8f61e059e9eb19b7b94b3\", \"555a132c7923ebf194599ba9bf9fb9c6b9964271\", \"6d6735371aa334271e150647d3ab7a01e86c029b\", \"f80be668cdd1a9c73104144c3cbd3cfb3b5e3a27\", \"f43bbd57ce8a3205847866711dbee6d46aa349bc\", \"98afdb2e4e4a5f4d362da56e436ffd2f93505568\", \"0f81c854766c97527c0ed49eb314478fac9f8341\", \"ed2e5a96991335e0a8df8c0850738e245396cae9\", \"8e57fb17b0abfbab0e6e3be1181f31a6d80e5465\", \"b794a6ba88c0d2233475f09158caf384aa3df855\", \"5bc9c1bc797aab30e85aadc48aa0e680fadc4497\", \"3391701a0ef93544bb330444829f2b7cc19ee0e5\", \"e969044ae0543333aecf346a339a1567cc397688\", \"8a5a0be022555e37c4f057cfa022680166d605a1\", \"cc2da0dd84a58461369332344c7c8a535908083d\", \"fde64ea2bf5872db69e77a15a7d96788e5d0ebbc\", \"f1b4e5a343e675805f962c368be4e269d51b7f3f\", \"f3265b24d38b9aa9c9d22934b0556d5496e3f279\", \"87c67756dabb647d3f37d3b9eeaf7429543e9d0d\", \"13a1e51e7b27eecf02e4f42a06d152a9cea4bc81\", \"16ac706de1d4f5bb56c7a09edec5a5e5ee9e72e9\", \"f0f2be8ec578cbb38ce4e86223d38d5fe32ebaff\", \"e597b71702310a32240c15e67f4819fce2c2c598\", \"6a521549d81243ae63b916ad0d7495c38e302b40\", \"c6dc6903db3fc885b30c96d81f28d8f6c73beb79\", \"76256ba42528655d8be8cc8e3f044b013ba2619d\", \"d089988ab2952cc40d442cca81ba9d73c0b2825b\", \"118e2ec9d25c84a77bb7f647da2fff2c99f6e41b\", \"2b3e730feb1a264eaaf061f5d7b651f2c5e58cf0\", \"51f4ba712d3b6f6c2dbfbdc225010b2354e11bec\", \"85718bb6a97069cf59a3c9888a84958478b019a6\", \"ced7129a643076ca5dbafbcc5652f1c95ed34458\", \"6a4956bdc1774b2c86cc4b2b3388c3ebf42a3d1c\", \"5b8d0d5b95e37cb76badd71351d1e8786841bb53\", \"b08dbda5b2356033fc061c9f2f97ccb8917b5926\", \"658ade2e269ba0fe327a6dd46cfdd91d532416fb\", \"b54206431e4353ed305f451b0d5b59726e492602\", \"ae7722f0b89f917ba384c110ccc2efd36b065ce3\", \"89c0df2b4cd0ade996d2b2180e72d2eada263cf4\", \"84e5c430c56d5ba5e45d7b59152b193f46f4d46b\", \"3cc07b02c87125f2fd7d53813251a64677628b5b\", \"4b8819ee9c6fd6e5b6c0743b628d0a7420b233c4\", \"0f2aee6dc34201fa5abd91864154f804e7114398\", \"90a7ebeb7c35cea79677477db70433d6fb610725\", \"7d41615a5379d52ba9b4d76ad74bd61929acb319\", \"5ffb1b62165679d46417815e548e52d2910f3457\", \"a082acf34e5c03873463a425fb4558cd175c04e2\", \"508625bf2d1523baaebef76c9f60af35ebc6fe3a\", \"d46c4a86a206a0c3912187aa779982b962a781cb\", \"f805f5301b2bfc41c20ad40baa45bae526938d33\", \"32695741746b01e6118344baf5bd980d4f31b464\", \"1cd5d16cc77870a2212da2bf00ca60a25381ea83\", \"d024a4c1cc43098ec7bbe371a4ec54a76c54b8b3\", \"1ceb5f0acf8cf637465ac6264e9ea951da8c6e7a\", \"705104dcfe6c403f87eba40c19d717724d1fd2f6\", \"40398ba725acdcbe19940bb60d2db5c367b0a25a\", \"e03f75657ac0c4f255c40c53c8aee9bf56eda6a9\", \"91760879615b8f617d1f18aaf40665c06305f171\", \"6f7f1ea2bedc528ee8ce3c27759ee995444dcca6\", \"0c918e38b4d50ef704076414f228e04816792fb4\", \"0c32a627bbc7e9d9538057fffaf8b50848c256f8\", \"f386e9e585436f4e4f37ddc2d37ba43b0f2a6305\", \"0c8a7713ee91be471a0b43bf4ae8a996ac34ccc9\", \"a7a9264f21ca9ad74a02dc9b8e765817f208682c\", \"9a44dab72452f32b7d2bdbd709d248d217643c1c\", \"9b9f6d0b0e1feea9fce44c2a2bb32e3dbc95df57\", \"cc007b2cbab13f5d2825e2850e2e2e5c24976963\", \"1319fc2003d1e4447a3f265803885b835cb0d33f\", \"95ebff876fb43c7c43f066cd721c08eb7bad5db7\", \"9c6b47b92bb7663404a4bbda4a7e26913d559e69\", \"6fcdecd274e66c1f3dd1ec85ff04271d3ae068a8\", \"6b2663145f53589232871bf5f4d8b23de55d709d\", \"d1ca3031f1daa21acff84394c79b3fb9649b9994\", \"11ca7730bde82bd898e5a6cc749c91d53a85870a\", \"878dc56d8fd3d6359f177823427216e5d99819b9\", \"9e35e91f732aab447b7793fe2fa6731d73cae9c2\", \"8f3846b7a1f89739fb44bfc01768fb41c98de4a1\", \"91c23d851235738fe7df302f6ef991514a0e3825\", \"cf3d178b1beea4b4a2b8f52c49a84c3ad32fec50\", \"d1960b1d52363348584b83ab6b8d5f511ed74d12\", \"ffc63a4bb60dcb99e7abef7d6a6d6a4b9ef6c757\", \"a3f8679f1bdab0a1630535548204843178c74654\", \"8b3192b5de6903fbc871635013e9db2838ab697f\", \"b153199b943bf89eba411f4e7e3aff8e386777e0\", \"f4902fc05612ea0bcc0a973390b39db2bbac37b1\", \"7a23798675978bb6f3e2b254d35ef80e738f6dc3\", \"908a75a57f401f0ee561d40b3f9f281b5ec29b79\", \"78ccdf3d989e5d0f70dc846b336c624eeb879379\", \"880e923157a9897cbf631b8b6f184b4032eedc4a\", \"7ebbb72caf4f0807a529280a55bc8d6dd07bef09\", \"3a2744f6382e9723b5b74a0652f5ed8b34b29963\", \"b4d3f4e9da3a2cad2e04f85261b2dfb37de15a36\", \"734ead94c7a7d8dc3641c7b3354427a77a7850d3\", \"aa03657b7652c436a47746f894f41eb38590391a\", \"39234438070c6e46fa7eb516038c8cc9418be540\", \"7da70678a3e8f58d52f85c33f7e1b4b53f73d736\", \"871930d237fb1eef372775aa25e0e25fd6c1b38b\", \"d7248a3b40ae9155d90372b9586b56c0e3a2151b\", \"dccc8c0f64abae8152f071ca70695671d4d12299\", \"7ee65f241e49687c5820e589a57ca93ebf247fcb\", \"f0081d7936b1608272831ad41994c40c2c5fc270\", \"eedda4f7f5455f526d2fb086579486a45500560a\", \"d557b70b5552fa105d71041385c1f7c1c3440330\", \"029461fa78707b7b93078dd063e910031641c891\", \"3329eab7c4f329132c80ce24a84ad499fcc0ac2f\", \"cf56fe23de744a23a4d5b56d4139218e2cfc4e82\", \"86d5ed81ce08907488c4d0cf0c9a38779988b91e\", \"0bffe79298e844ad515d870d8c23e924772133e1\", \"a1dc49bca9f4c41ffd9fce914d060aff982d0bb4\", \"8f0b20bd67e3db26129a08ac7c2f2553a93cec5c\", \"37f1bb73416537ba9e9d4e31af86432d245de28a\", \"65b0f9928fa929d72ec0c63862423066c252034f\", \"6a28ad7f686245fdd911d9b3f6d2f7e61fb27083\", \"ff62cdbf135ec448978f8229938000c062d38957\", \"7693d16a8b9c41f14d640a2c1d3d825be4937c44\", \"000ea052c3704458499d3043de72b9a18b2640c6\", \"c68d4fb9b7558ca7e7a3d2bbc4b2bdc11796f5ed\", \"c67c3d97001afa914ab4e411d9440b2329ed9bbc\", \"e03af761ff5cf370fbef6b7eeb397eca41157959\", \"98a0cb5913e208d20c9134ca1bdfcfd8e19be405\", \"493bc744dbe756ee29a771012d79bf2d30a45612\", \"996e177d3326dc50da92b5efc8f9079011c8a3e1\", \"c24c0a966efcba7ee0f9957f66b01e2ba31159f9\", \"cbc0cd555c4a11c843baf60b19afd728cf70f64a\", \"df33939dd8375e30cf32e93f5a618626c07fde39\", \"88845892356bb5a6086760f449a1b9c137a53aa4\", \"a4cdb388e658032265e629eaa65b4a30cabfd9cd\", \"f767111a407ad15950952f0a15bad080355a7a92\", \"7eaa191e7e2a659b19762f2a9cc115e824678117\", \"521c6ab6e702dadc5fa7c46b2b21b2f8290355ab\", \"a326ad425da81a5b69a8c9729065a4dff097efef\", \"06ec9108be2f452d8f522950b68fa45939b77122\", \"fdd2fb70d3d31a07420c711c5a4fdbb4b6afaef9\", \"ff073bf6624160a7dceaf846a25d36488a2c730b\", \"8a2d89944fdfeda213d784f29950cd5412ea26ec\", \"e7d42ad2212d79707a630e2fa068d26afceb9e91\", \"2196ffa2a3b8ba2c41d760daf075da72625785d5\", \"7272db835c3078385a98e87c5ba2517e136bde00\", \"652eba91e843eb1eaaac23bfc2aa67d722c61631\", \"dc60c043030c433f654b3d13e2734706f2dfa600\", \"bdf44d0ed724045c2baccc11ba473f4db6afc72e\", \"f74ef005323a80a7eeebcd30792e02971fa22b24\", \"dd3cd10a0ffcbb94cb147006a8274da16c3e035d\", \"bfb67c5e0e124da60a130ffdaf4d0b5b9302ab9d\", \"3b9411572dc212ff717039030fe255883c29cd4f\", \"472507220f0ebae4eb30059ebf5a8b4d68555c5f\", \"326984dfc6e1a1aea4e4245d5704a5d289fe7785\", \"5888a9646c3d3597d97c0baef7b5dca30d3301df\", \"6ab700a0e6d9f12373e5c9ae85c61228af68c174\", \"c09a4c081a6f33fadad116926ab0abe27f0bd66d\", \"8d38713ea2fa080cba95d7940e29f0ef9e2eb1ce\", \"90ccf71c588e28540af806f9df6408ecc2846e0d\", \"054142d661c8a652f68ae19a638971cfe182d62b\", \"15d98557a6972fef5d02cbf5b26d209524584826\", \"538e5c28364ba5ea131876598382f4fca90773d9\", \"b65fd6b5aa57e99abacc4042066943e17d11a7cf\", \"a064dfc4076e6b57057440d7c3e66e642948e7f1\", \"751ad9818e8c049335ee064245c5bdcf04c15b47\", \"9bf919b08ce2cf6e0d5e50bee0483f8b4be034c2\", \"c570408c46954e8309ccbe68cbf5eb9545ed9d9b\", \"2741153d7e81790c6091ff9fa84f34c9ca46bfde\", \"fbbcdb900fbbb7404908ed36044b891d7d1de1aa\", \"4dd886303aae16628d253000821df19e66b51104\", \"0923dc644e0fc4996b928fa8db381391c16353a7\", \"70fbc2bb056f445cf9acc393ae065e725bd184e5\", \"96957b67f41f095489d0255ee3890597cbf23175\", \"e9161ecca60edc965f5c565f9569b8fc5f128b55\", \"a1c277e1d16518993a7ddc3c9dd7405fb57b9abf\", \"d2c31c0ace0ec75c440db59a0eac5e9b7bd06842\", \"e4c7613cb7b52fbbb50268218bfab0f0b0cf5ced\", \"47785ca66a8976f17b3431b86fb9736f8d7d8158\", \"5217943ab32d6b4c7b5b4fe7e62635120119d199\", \"f75e922b15faf6ee767d61a573f36cf9f6d2a8e9\", \"3cd23fd6f4aa4d93d0ad9e4b01d9151cabe08934\", \"36ec9fdf0d6a478539777686bcd697008fc5d07f\", \"3fd4acf2e98cdefb5a34f41b0aef17d223e6a49a\", \"50ce590639cb454c731bff7ca20baeb9cd99d616\", \"46d8996c19895fd1ad239dde81702f7991ff6dae\", \"cea8f83178c768068e320d74bc1688ec458d4f5e\", \"fc8d46185b0e49ca7e13f8cdfd67b77ed71cbe19\", \"989aef218bc9ffcab56e95eb112eee25a58dbd42\", \"8505d0c11e721b60c3825d55710ac9ab2fe15a98\", \"bba0b5f93c2a348c0d99819391ade41d6bc23a90\", \"8a277cd533251d174ee3dc6bd6880217c260d396\", \"ce027389a126ae7bece28b5fcc0caef966bce15b\", \"47dd6fd512e810d85db923d45f7c0a145a12b319\", \"3345bac235bdf38d15cd919d5aa01094704131e3\", \"36d7e27203db16bb8b444aa1f29534ededbf5437\", \"d1bf68884eb8082af6fd4743cc8220c67289dc90\", \"fe2ee0c8b49f80e23ba25b9d9313b79e1245fa6c\", \"6ae0349d83953179d87b6d122ab6864487e3bf61\", \"8976fa681daa84bccd6de2c60e64d026a6bb1ca5\", \"98387ed57cb479521a12fe2c76cc3beda2eca337\", \"a775874c6df3cbafe81d18e45727cdb5f785a95f\", \"1d2cce5e8db42689e8a700fad5b4749c78f69e3b\", \"95662fa0422e53b0ec6010714188c713c245ef6d\", \"08acb6eed63b2071eb5e8396bf1229b58efc2a77\", \"15715fb020ccbb2eaa67e5be2c0e7b214cc82fe8\", \"7ab5ed7ea93dfac56f462c0d3a40701ec2222ca4\", \"c172f7bdbaf69c733d081a4102806c9b906f423b\", \"14c701f52f41daf4f45ffc71ed7ebd74deca5bbd\", \"d90039adcc2ee3a44d32c29beb07296f1334efd7\", \"53f004ffa2263c67145073ccb08c8038a20a9466\", \"3edce0d1d8f6935878bacea081b45d264e7ad74a\", \"5deddd520387a35684204a8805fab0379b9cf3ad\", \"ed68e341c1c4bedbcc3d694bd8c59fd466f4fe48\", \"19360940a315438e18bdfd24ad63666a599893fc\", \"153745b1a9a85ab4a2c08fe4d20d9f9749d00275\", \"fbfc02a3270eac52e59f02398749d92bbabe22cc\", \"b2f7d9ac0da42059611a6645a76535fbb8504535\", \"fbc4d06d06564b4d4dc479408631378a16c49e9b\", \"2baab2877bc38aab344a105666140f71007edb4e\", \"95bdf44de38d38c36d6e232f0098c40d7d3814ac\", \"032deb5c1e41b3d65e95e0022137eb991325303a\", \"3f998571503997f63e85b63c52923a1c9336aaed\", \"9f40f7c0ff1c2e58ea574eca8e89e205f47802b1\", \"8a04bd5a2cb6f113c1102db76b08844bcaa6a600\", \"22b9168dfff2a07b76ca0ac0ec1595cfe4964a7d\", \"6aa9cc17bbcf144dad2387a92d7ceb9c536ab49e\", \"94bbb1aad108e067f4901565cd32f3801944cab4\", \"02949dad9aff8e7ff5e4b9495b44eaff137edfac\", \"080c2b550ca00005c02d487819a0500450e3167e\", \"62f9138a353250bef4c95c2e820d01c2362c98d1\", \"6ca18732ff18849f4a48b535349bf14d85b824a9\", \"d67d3a4e3705041f147c9f74d98c7b0350358942\", \"5015c290099feade81b03074a4da95e446840f8a\", \"c316792de176014064da8bd99b67e1160531bb19\", \"8a4ba0fe162f6a34552a20813a54bfa2f8706315\", \"a9004d485a87d78e4473f048619b4e5d46c0c216\", \"51ae4c0f26c06dcff4bc9ca7691aeae44842c776\", \"f8bc40dc85f557897e5c57e3bae7bd9e43f117a3\", \"02bed01606f520b5b06d870a98223be5b22c827b\", \"b2a3e5f5f797b59a10fa63e60fdaac9489fe8e23\", \"c33c20541084acda7beed41de61a0900d5db3b15\", \"2b2f2b13b58c8319c7a1dd3739ca2f694a6c67b9\", \"e6e5d24d4811a054d31ddde175794b17a110d8d9\", \"00d08b040ee8b6e20db918a5fc475f153689eb8d\", \"8d2822544b8657c74f2ab3a247ca383fbafa1057\", \"9c70f1412cc3e2b1811e99f851a68987c26a1fcb\", \"7545f6ef9f23ac2644440e1427befa0cecfa5171\", \"79cf69e2aa9e3e4bf3eca7cfe99f749139bce7b8\", \"53484c420869854343df2493a6e2d323e465d92f\", \"b29f507a286e1fc2dac1ce3c921155171ad65c73\", \"1157cff674a9e6b058f2048d6dedeb4b75a9bf15\", \"e07cba778c470bc3d0973dfa27ff4c829602d513\", \"3f51b7c96c520576204068d868a72122ebe59f2c\", \"b2e83f06b937b9ca9b2608a7e9d5ca5f2711e86f\", \"a2c81c2fa9ab752993fb7307499aa8865cda24fc\", \"6e0c77590bafc93a733ff41b18691a71232b0fbd\", \"3f0c38b367b1e6db2249c2acfa6b68802b1385b8\", \"2384055c971efba7060b56b6b5ff21fbb83728a0\", \"5522d6bf5479592adda34dce8fb57222ceae20e8\", \"94d003be04bcec365466ba4e7b4f61d9eb366453\", \"146af1c890324689ca90f85b5e3b8c2ec26be8e5\", \"e3895d1a22019b08e52f3e8945b71faeda0afa39\", \"ea0d7f453f80bc1cd0d49b86e211ce7b4e9875a0\", \"bbd2189cc02c1163f0f4f1d5d25fd8d6bb29ddb6\", \"8110ce49bbcf9786e3fef288e4d8f97ca31e5eeb\", \"674bc40a29942ca83d1f5d75589869b410fd67c1\", \"da355d5a76b26e9adfb6cc966e6daac75267e473\", \"fc5a621e12e460187c3f51ff7ac745d33949c1f2\", \"d7f823a1576535cdcf18502b6705603548bc83f7\", \"5d1db3211d1ef835b6bb7fb6c578ee54a1243942\", \"2fb5c859d4a27c96752db81d8c6eb5c2a46a1b81\", \"4486abcaef694b1693f401460849e233779cf915\", \"2147f0f2d2a91aeaa28314bab9b9ca8f73aba8ac\", \"db6ca42c041bf6e0f071e4f09ca05f260797c4f7\", \"f1a25cbbd436d91e4ca2b3e9a509fbc26b6a8b92\", \"15e552dd5c7d7953714de4b564f4593727d3b84a\", \"7b9da13393e36c32643f3bb24f3950d7c3b853a0\", \"5256a44d98348d1e8b96f35ef42779f59b02ca8e\", \"2ad7997a13bc63377f7a649f4ef175591b2af0bf\", \"62367c3f207aec8789ba5ba3dd219e5e3fdc6d79\", \"385f2a20c593525c94b27d200f63c0bf616b5ba5\", \"c71c81048517ea948add81072631fc0770c65a2d\", \"3298ae2a61eccdb461fd7002a0860be9e6a2d498\", \"f1ba5803e07c671016d19b7f97d283d04bbec7bb\", \"655fc5661aba652f6c2a1f188a5c57157941c032\", \"2d08359e6592b6a2719fa0f823bc1bd20948360f\", \"66fc3372a89a5beee23b628c41105d11926ab754\", \"ec01952a69ce8566c7d17af342a4c1b5b9789dce\", \"60602592916f946085f3c1efa12a37bfafcc247e\", \"02227e65d5b3e4d2f11fe1281cd67a211b2d9b50\", \"44257896336aad1eb94f6f72b12a3ddb865d4965\", \"3bbf5171f7cb7d0f5a6f411662e3b7601df59d29\", \"13afa75c2f86facb8fcfc8693bbc3c336c069010\", \"5658636da674f82d0684efdfec6a7cb5745ba7f1\", \"5b4533ac4fed763eb26ebd9933bdf5206fe98ebc\", \"542a37db43527d6fb387e49b4b027cce0c190631\", \"e2a9eb1fac24224347b8496e4f575adaa9c00ff2\", \"7086526d15e13bffa2432ea386570445b31f020b\", \"31173e9a78bad33738e38e06bc8a81732ba5cd1d\", \"e56290496e3c45742bc18f381bbe3e823f3fc08d\", \"197d3b174f54c4fa69bd5eb401b13f88b70b2a3e\", \"fca32df7cc3f899a76e3897859ef49cc3f498a1b\", \"a222f223c145b14f0ecc6752a617f0e8050e2fde\", \"3b963878957836e57e24d2c78fb20de5bc2f7e13\", \"0840706f634977870fabfcdf904f22c7218c5172\", \"b985d7e480001b399910cc69e54c9d19b0208f97\", \"4a482a28858b5e391cd046218e61170a973e56f2\", \"34f8de597fb8519e6acd61da002b489604b07ee6\", \"f111ad115ef58e088579086a1f4e3e0921a7eef4\", \"f345b87d7bc2cd8b37c3e83e9fabc0cfc2ffbd49\", \"27baf12e9bdf4ed76c873fde7c4dc081093a9510\", \"289e75db7b11b42e1eb52943329989566fb487af\", \"a980745bdebc0cce94572c3bdf5b934069d6a5a0\", \"4448cb071b66f81543d35a02ceb24affc84066b9\", \"9e457774354150c544d3bea266d7d32578e6752d\", \"a62ad950da5bb360b887c51771e326b3f699f2b3\", \"7a545a9b25ee1219ed0bf3b5ad0d011d381a457e\", \"c275d161c2db86219b67d0435e0e9e1951b78516\", \"39cd9c2e30af7e08e31aa36b1cb2287c3dd671cf\", \"eaba6261dd8e7a7b92b9c9240c70e6169c2366bc\", \"2ddd178a98adaf5d2e4506d285562d5ea44684c4\", \"5e9f785a7cf4fa77268a13ebec488f9ebba44dfb\", \"8a1ce1a651932ab1c1f3bace0d7b468f90b841be\", \"bf0deb0b6402c478951684dff82b6a81e495df2f\", \"72292fafad18029681753f1a2536517d04464edc\", \"a35c8ff416972bce0ec5712072a0296f38acd35a\", \"d64ce3f34a57ea8cc72f792936170b3b2866a0db\", \"826dadb86af87e2988a13365874ea3c41679bff7\", \"69abecf45ae73d4a18bcd09a0936765dbd939aaa\", \"ba3e1d635005d5f48f3df05c5ea265e6c99ce082\", \"715c4bf1b2829c19b7918ee567f85fac46348396\", \"a2f05d4e96884a9cd7c3f8762dfe1166ed45a0fe\", \"6d5c3570a7c9ddedb389ce0dd4f9cd307a16b7dc\", \"1a3ec69c56f9cb5d7a9c7a84b6904b088a089e13\", \"4e4335dded9d29c5e32bce93e5e6165e5776cc3d\", \"e2ecf1e110c1829c26ad9556c44bccb0d78ab8e7\", \"93508389632b520993117a4ae48cdd1b0644fb36\", \"d3939d0fe5adf2a4185416d1f45acc543479d8b0\", \"7ff412953a526e96ad8b07adda5496f606433ad3\", \"bf5ececed75c3de4615826d1588254afe9c7ade8\", \"793434a6ef4e23ab79287f71cd50aac332d30ee6\", \"80f72dd0a373ea21197b62d62ea4548a42887cde\", \"273c6e1e272c78bdeedbe3c139e2cf4efc78b9c1\", \"f8bb697765ab41b59b8811442355176843f1b7f3\", \"211fbfd0a2b73f2d17b0cba226d88580ad84c353\", \"c7d6638260cb10c045b97e0325a328f60e6c3f52\", \"f93f7cc3db751dc808edc7626c7a76b2edb05922\", \"0953b1afcaa38905fb8ee9b2619c0555918b8acb\", \"19a44aec149a9ceda2b8d5f892a58c69bc500088\", \"28e75daf240d3c6e8643cdc1c4f29cf0b4a4a56d\", \"77722446a8e1886949dea2d2ed519b4091d5f6c2\", \"b56c13710e346302fd7a8b7b820423b6cc0dd310\", \"84f3fd9bcb72f38ce4f9de5852c940b077072c15\", \"027a7118ec9a1c8826376a156c6526d8642a5731\", \"ae209b03280bcbef381c69468c0ce1e9218dca59\", \"26e14abee6ac2c644552857d83c280a07d7b53d5\", \"2c98c7785dbdbee8c9f90f6dde5c98acc943027f\", \"93922a3f735a6ab31e1198550251e6f55923a7da\", \"eba26becd6a5a5dcca749253126a1f7728503dfe\", \"c9922b2d1476b909d1b745ced29593b8d1f721ae\", \"cc78f51f9f0cf241ae2eb488efe7ccb22b0c178d\", \"09f952e104f06aacb8a1c9587978fb7ecca1ba95\", \"ba7a99d9f4a54562b41cf707f05daaeaf9d80f40\", \"49039132b0b4ea9b15ad3a0e2ea5a58a0645969e\", \"27ac20438c46c413c85ba546e597f24f24ae9e3f\", \"e8425dafeaa3d6b569f55d0c32f877e606bd985d\", \"5c02480819a783c1901c50c52e251e85fd128042\"]}"},{"id":"e3a707ac-5b49-4714-80eb-477d6240b3b6","title":"[Senate] Security Manager: code review for injection, XSS, and OWASP top 10","description":"Review api.py and all Python scripts for security vulnerabilities:\n1. SQL injection: check all db.execute() calls for string interpolation vs parameterized queries\n2. XSS: check all HTML responses for unescaped user input in f-strings\n3. Path traversal: check file operations for unsanitized path inputs\n4. SSRF: check any URL fetching for user-controllable destinations\n5. Auth: document which endpoints have no authentication (currently all)\n6. Rate limiting: check for absence of rate limiting on write endpoints\n7. Error info leakage: check if stack traces are exposed to users\nFor each finding: document severity (critical/high/medium/low), location (file:line), and recommended fix.\nDO NOT apply fixes automatically — create separate tasks for each fix with careful plans.\nNEVER break existing functionality. NEVER lock out access.\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":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:37:23","updated_at":"2026-04-13T10:16:03.108890+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"e6e1fc6a-69a2-49f4-aa66-7ef4c42cab1e","title":"[Senate] CI: Run site health check and fix broken links","description":"Run link_checker.py on all main routes. Report broken links (true failures, not transient 502s). Fix any real issues found.","status":"open","priority":82,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T22:49:13.286534+00:00","updated_at":"2026-04-16T22:49:13.286534+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/e6e1fc6a-69a_senate_ci_run_site_health_check_and_fix_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"auto_tagged_at\": \"2026-04-03T22:29:52.509378\", \"completion_shas\": [\"fdd8e6ad643ed5dee7fb4a7bc0b55d3c404ff568\", \"7526cf07dda84d86e1d11680f65ef5b9f230dcf2\"], \"completion_shas_checked_at\": \"2026-04-12T18:23:13.485853+00:00\", \"completion_shas_missing\": [\"64fe558f83929f325045740f0d4267ba8515c472\", \"bb80043d744abb94030e3730dd1a60d48651b832\", \"7e936384d3549cb5456b71d835cdd1bde58a20f6\", \"6e1ab4b04f17af50fd37d7dd26cbdf8420d9ff05\", \"cf9cf2cab7b4ae3a150c29414e982e00424684a5\", \"3d9af869ac8cde93decfd3c5a1e8e9cf6bd1bc5e\", \"6e2e86040414591ae7b8e56bc4529c8fa291599e\", \"1a034fff6564be6cbc5256fd4578a56e0e71d119\", \"0e77076471912acad0990608ab94b12fa00dd664\", \"3d360553b4632ae4bf1813c8f359a529e27f54bc\", \"12cdaea8e0f2e0d6e11c8a9663e9efd9a333d4de\", \"8c2039f33ed35461879b322ae36f72b9859b4b27\", \"f7025915f70930c858a64a87549303058da34ada\", \"a5a9fcb47806cc9002e88e5032874e2f40d7a826\", \"87602b39c927bf74e6c7291e142c40f80b25587c\", \"ca994924bfb7dc0c88e9e2b7d0a1ac237d226446\", \"ae75c7d29c6d6800ec875582bd3d7bebae22a82b\", \"1db999568a800c444550c1585ea539d0f147d572\", \"863423b1a9fc8c73d29b44e33d319e36a5f2c507\", \"9b7576b30ec0d26368bb67585751094f3a901d72\", \"ff9f2cda30c8f1b0a5953f06e94383c8a2ccd2f0\", \"dcc1a4c36e4f50b30948bc447cb6446b0131e382\"]}"},{"id":"aa561240-161e-481f-8c10-34f4852bf58e","title":"[Senate] Security audit — review access controls, API keys, and data protection","description":"Audit SciDEX security posture:\n- Review all API endpoints for auth requirements\n- Check for SQL injection in query parameters\n- Ensure no secrets in git history\n- Review file permissions on DB and config files\n- Check nginx config for security headers\n- Document security architecture in SECURITY.md\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":"open","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:26:27","updated_at":"2026-04-13T10:16:03.175111+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"a572c16b-dd61-43db-8183-ff32e284df20","title":"[Senate] Security Manager: service hardening review — nginx, systemd, permissions","description":"Review infrastructure security:\n1. nginx config: check for security headers (CSP, X-Frame-Options, HSTS, etc.)\n2. File permissions: check scidex.db, .env, config files are not world-readable\n3. Systemd services: review User/Group, PrivateTmp, NoNewPrivileges settings\n4. Network: check what ports are open (ss -tlnp), ensure only 80/443 are public\n5. SSH: verify key-based auth is working, check authorized_keys\n6. Process isolation: verify agents cant write to critical system files\n7. DB access: check if scidex.db WAL mode is set, check for locking issues\nCRITICAL SAFETY RULES:\n- NEVER modify SSH config or authorized_keys\n- NEVER change firewall rules without human approval\n- NEVER restart nginx or modify its config without human approval\n- Always ensure the human operator can SSH in and access the system\n- Document recommendations, do not implement without approval\nCreate a recovery plan: if security changes go wrong, how does the operator regain access?\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":"open","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:35:47","updated_at":"2026-04-13T10:16:03.112333+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"1771ac79-dea7-47c4-a5c0-602b39ca9b34","title":"[Senate] CI: Route health check — test all known routes for 500 errors","description":"The existing link checker (scidex-linkcheck service) crawls pages and checks links found in HTML content. But it missed /agent-performance returning 500 because no page links to it directly (orphaned decorator with no function body).\n\nNeed: a ROUTE-level health check that tests every registered FastAPI route, not just links found in crawled HTML. Every 8 hours:\n\n1. Extract all routes from the FastAPI app: app.routes → list of paths\n2. For each GET route, curl it and check for HTTP 500\n3. For 500s: log the route, error message, and traceback (from journalctl)\n4. Report: total routes tested, routes passing, routes with 500s\n5. Log to a route_health table for dashboarding\n\nDon't go crazy running it — every 8h is sufficient. The goal is catching orphaned routes, broken templates, and None-in-f-string errors before users report them.\n\nAlso: the existing link check tasks (e6e1fc6a, 5616905a) run every 6h. That's fine for link integrity. This new route check is complementary — it tests the routes themselves, not just the links between pages.","status":"open","priority":78,"task_type":"recurring","frequency":"every 8h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T15:07:51.102223+00:00","updated_at":"2026-04-17T15:07:51.102223+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/1771ac79_dea_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"0652dc49e4dd852457c74d35711f7d6f4c68ba99\", \"d611be734560882f323b87703b68e1dbf379f4e0\", \"607dabafc5582dc91af73709a8400f2a21cfea4f\", \"7fa2078b99a8ac781e1a5acfdc22fbcdb4fc1eff\", \"5ab47e6d07c2205b5f2e7253d2b29d7167a89314\", \"b959c4db9f954ace104f47be5392ddc951519336\", \"a884ea87888d6ad0510b06bb8fab1b39e3b36e75\", \"6baeec23566db4ba9082b698088f56eaf1738072\", \"6311dece3e18220b2b6101d246a441ed3111903d\", \"cd4b79cffca8af0f9c8013f93667f4b17d9c7992\", \"a5495ab8005d16e634f6d3b4806105b70c5b47f1\", \"1775a7c3bfd903c65da141e82dce1374485d649d\", \"2258b59ef82e6f5b99561969d5fc3d876e735644\", \"8abc1361c67cc4ea94cdd3a605154a70b21ac307\"], \"completion_shas_checked_at\": \"2026-04-12T23:11:45.131384+00:00\", \"completion_shas_missing\": [\"ae21acf57ec95bbc80598916384cb0674fbae1d4\", \"ebed2e29b1d0c1e8c48f472f955fb943a702f6cd\", \"5c0a25ec9362a01e4fff3e7e005178faad39e344\", \"85dada9b4e046c610976c74883f6e82b28be0307\", \"a0556b113ed552595b838cd384fb58a4c72a09c0\", \"d6fa283ac9db3af3bade2c297b8b5006c6234334\", \"a6f1a784ebc49230a373231a208eb047700485aa\", \"7acc5e123608d425ad3953c12591f3de126dca58\", \"58a497aa8d25868b53509be0f097163db888f0e2\", \"1418ec657bfea1764485141cde898ea47e0b5fa6\", \"95fa9481c0e2c04b1a078c70ebdbc74d281f610f\", \"fbf4af673ba9f2546df471db9930c2093638d1da\", \"b0caf209cb976511af06519481619049157a60c6\", \"3ee013f3081e938d5b863a6c5c071dbcd553b92c\", \"d98da97d87f9090a922cc2ba9f2111c8261a1f07\", \"45dffbd7bcd6eb273b30d50fe3383aa2f532b198\", \"f46115918a342bd8d1fc45f4cad4baa18c64bcb7\", \"e61e397f042fd2b7eb855290242546426cf20e39\", \"018611a51c2a3b012507b0c401e22a66395be0b2\"], \"requirements\": {\"coding\": 5}}"},{"id":"5917bb81-00d7-499d-84e9-6e5ababd1177","title":"[Senate] Security Manager: establish security review cadence and coordination protocol","description":"Set up recurring security management process:\n1. Create security_review table: id, review_type, findings_json, severity, status, reviewed_at\n2. Define review cadence: secret scan (daily), code review (weekly), infra review (monthly)\n3. Coordinate protocol: before any security change, check:\n   - Running tasks and worktrees (dont break active work)\n   - API health (dont take down the site)\n   - DB integrity (dont corrupt data)\n   - SSH access (NEVER lock out the operator)\n4. Flag bad practices found by other agents during code review\n5. Security findings feed into /senate dashboard\n6. Create security section on /quests page showing latest findings\nThis task should be re-created as recurring after completion.\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":"open","priority":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:39:51","updated_at":"2026-04-13T10:16:03.119127+00:00","summary":"","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"98c6c423-6d32-4090-ae73-6d6ddae3d155","title":"[Senate] Hourly knowledge growth snapshot collection","description":"Run scidex.senate.metrics.run_snapshot_cycle() every hour to collect knowledge_snapshots. Tracks: analyses_count, hypotheses_count (quality-adjusted with citations), kg_edges_count (valid only), papers_count, wiki_pages_count, causal_edges_count. Computes growth rates, detects stalls/regressions, and projects milestones.","status":"open","priority":70,"task_type":"recurring","frequency":"hourly","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T19:26:27.841103+00:00","updated_at":"2026-04-17T19:26:27.841103+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":"any","payload_json":"{}"},{"id":"3eba8754-456c-4940-a642-de78b9485d0e","title":"[Senate] Visual regression testing","description":"Run visual inspector to detect broken pages and UI regressions","status":"open","priority":35,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T02:30:05.691490+00:00","updated_at":"2026-04-17T02:30:05.691490+00:00","summary":"","completion_notes":"script-mode, 70.1s","last_error":"","time_estimate_hours":0.0,"completion_count":18,"spec_path":"docs/planning/specs/3eba8754_456_spec.md","provider":"any","payload_json":"{\"command\": \"python3 /home/ubuntu/scidex/visual_inspector.py\", \"timeout\": 300, \"working_dir\": \"/home/ubuntu/scidex\", \"success_exit_codes\": [0], \"completion_shas\": [\"380ba6c4feb8a1ea449b49044dadec0f0025c041\"], \"completion_shas_checked_at\": \"2026-04-12T23:53:44.856334+00:00\", \"completion_shas_missing\": [\"92e8909e82996c8eb3338d387a04e3f296551d4a\", \"1663bf2ee414a0fe25c9a40e4b6bc66ec7810569\", \"544791ef6637379f2da740cf3152a034d04e06e6\", \"54fc226e6c127fee34738f25623fda6ce302e2be\"], \"requirements\": {\"coding\": 5}}"},{"id":"513a0d51-b3ff-46a6-b82a-bb5589b72618","title":"[Senate] Investigate slot starvation in task distribution","description":"Slot 9 agent cannot acquire tasks because: Phase 1 has no slot_affinity=9 tasks, Phase 2 offset calculation is 9 % 10 = 9 which skips all 8 unaffinitized tasks. Need to either assign tasks to slot 9 or fix the offset formula for high slot numbers.\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":99,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T20:04:42.418194+00:00","updated_at":"2026-04-14T20:04:42.418194+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/513a0d51_b3f_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"completion_shas\": [\"e67f0316322344671fb438bf8cfc8830efce496a\", \"70ecb854ddcfa168d1804cdfbc14198065aa074b\", \"162f244bb6e5b11c923e3ccc8bd93bdb8790be95\"], \"completion_shas_checked_at\": \"2026-04-14T20:04:42.402906+00:00\"}"},{"id":"c5356c85-6d51-4fd8-8329-b84cdd180fd3","title":"[Senate] Implement automated hourly DB backups with rotation","description":"CRITICAL: Prevent future data loss by implementing robust backups:\n1. Create backup script that runs hourly via cron:\n   - sqlite3 scidex.db \".backup /data/backups/sqlite/scidex-$(date +%%Y%%m%%dT%%H%%M%%S).db\"\n   - sqlite3 /home/ubuntu/Orchestra/orchestra.db \".backup /data/backups/sqlite/orchestra-$(date +%%Y%%m%%dT%%H%%M%%S).db\"\n   - Compress with gzip\n   - Keep last 48 hourly + 30 daily backups, prune older\n2. Before any migration/merge touching scidex.db, auto-backup first\n3. Log backup events to a backup_log table\n4. Monitor backup freshness — alert if last backup >2 hours old\n5. Restore script that can restore from any backup timestamp\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":98,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T21:30:34.476420+00:00","updated_at":"2026-04-13T21:30:34.476420+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":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-13 19:16:45\", \"completion_shas\": [\"f7745b750515d68857ac888aa4b598aa4f687611\", \"655f69958cc7e2375f40718f1687ccad3f5c5615\"], \"completion_shas_checked_at\": \"2026-04-13T21:30:34.458994+00:00\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"ee6feda2-ae51-448a-9222-0fd7738d4fb0","title":"[Senate] Secure or remove bridge.py /exec arbitrary command execution endpoint","description":"Critical: bridge.py:24-30 (C-3) allows arbitrary shell command execution via /exec endpoint. This is effectively a web shell. CVSS 10.0. Options: (1) Remove endpoint entirely, (2) Implement strict command allowlist, (3) Replace shell=True with list-based subprocess. Add audit logging. See security_audit_2026-04-02.md.\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":98,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:16:57.553849+00:00","updated_at":"2026-04-13T19:16:57.553849+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/ee6feda2_ae5_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"221468761fc6d914262242c5c61e8fd3e6cf2fb6\"], \"completion_shas_checked_at\": \"2026-04-13T19:16:57.536431+00:00\"}"},{"id":"983b208d-3dec-4d43-9aa7-66a1a33f14f6","title":"[Senate] Add DB write protection — prevent git merges from overwriting scidex.db","description":"Root cause fix for DB corruption:\n1. Ensure scidex.db NEVER enters git tracking again:\n   - Add to .git/info/exclude as backup to .gitignore\n   - Pre-merge hook that checks for scidex.db in incoming changes and skips it\n   - Post-merge hook that verifies DB integrity after every merge\n2. Add file immutability flag during git operations (chattr +i scidex.db during merge)\n3. Verify scidex.db is not tracked: git ls-files scidex.db should be empty\n4. Add monitoring check that alerts if DB size drops below expected minimum\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":97,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T18:59:45.017112+00:00","updated_at":"2026-04-13T18:59:45.017112+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\": [\"0b57c47b28040292bd6266cffd00fc937da736fd\"], \"completion_shas_checked_at\": \"2026-04-13T18:59:44.999963+00:00\", \"completion_shas_missing\": [\"fb730f63d29d2b805432c96faee283a18b923627\", \"1a3d6a7bca4ee597a2bde57a72e5784fb6e1e3f7\"]}"},{"id":"ee42ebc1-7e25-48cd-a07f-4fdad9cda346","title":"[Senate] Throttle gap factory: 2472 open gaps, 0.77% conversion to analyses","description":"Senate prioritization run 42 also flagged this. The knowledge_gaps table grew from 48 → 2472 in one prioritization-quest cycle (50x). Only 19 of those 2472 gaps have ever produced an analysis (0.77%). The gap factory is creating gaps faster than the system can process them, and most of the new gaps appear to be low-quality (high-volume PubMed extraction without filtering). Recommended fixes: (1) Find the gap factory recurring task and lower its frequency or batch size, (2) Add a quality filter to the gap factory so only gaps with importance_score >= 0.5 are inserted, (3) Close gaps older than 30 days with status='open' and zero downstream activity, (4) Add a per-cycle cap on new gap inserts (e.g. max 50 per cycle). Document in dff08e77 spec under run 43.\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":96,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T12:51:58.619070+00:00","updated_at":"2026-04-14T12:51:58.619070+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/ee42ebc1_7e2_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"analysis\": 7, \"reasoning\": 7}, \"completion_shas\": [\"236e873a980a9297e44425c9513d714ab8948464\", \"aea83b4885c9bef5fb53aa975f61ae4f85a574e3\", \"8f136147ff02e352712e8c60c2057d584637ba66\", \"9e45f97e03eeb0c10e11e7e8427ad3ec9e07104e\", \"16de437e85ff765ba11b1c910f873ee50a07d24d\", \"9964d12536daaca266ad0795d3f4f0e4f0151f47\", \"37c7ec199a3a449c590ff8afa926f0084dce0041\"], \"completion_shas_checked_at\": \"2026-04-14T12:51:58.600511+00:00\", \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 21:14:29\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"ce1f232d-c2b3-4b27-b1c1-355ddc681bfa","title":"[Senate] Investigate push_main race that drops commits from main","description":"Today's audit found that multiple commits across multiple agents got silently rolled out of remote main, including the v1 economics participation drivers, v2 credit backprop, research squads, versioned datasets, plus parallel work from at least one other agent (reward_emission_driver.py, wiki_edit_market_driver.py). The push pattern in orchestra/sync.py:_do_push_main is: fetch origin/main → reset --hard origin/main → merge branch → push origin main. There is no force flag, but the remote has no branch protection (gh api repos/SciDEX-AI/SciDEX/branches/main/protection returns 404). Investigate: is there a script doing git push --force, OR is something in the SciDEX repo's remote settings allowing non-fast-forward pushes, OR is there a race where two agents both reset to the same stale origin/main and one of them succeeds with a non-FF that wipes the other? Add either branch protection on main or a server-side hook that rejects non-fast-forward pushes. Workaround in the meantime: orchestra_watchdog.py now passes critical-files config to repo_health_monitor.sh which auto-restores deleted files within 50 commits — but that's a band-aid, not a fix.\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":96,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T21:21:14.923798+00:00","updated_at":"2026-04-13T21:21:14.923798+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/ce1f232d_c2b_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9, \"analysis\": 7}, \"completion_shas\": [\"29eb353f9f39d17dbf8d45cecb51ac053e364ed7\"], \"completion_shas_checked_at\": \"2026-04-13T21:21:14.904623+00:00\", \"completion_shas_missing\": [\"3fa4eafc0818521ecd019786153821a9dc23d3fb\", \"245e710ce2023d9189d012c93fbd6141e563ecb6\", \"1dd4ed84a5f37a747b92defb773854ad9c0e596c\"]}"},{"id":"89de42d0-d99a-40db-89a2-53cf2a60911d","title":"[Senate] Global convergence monitor — detect drift, duplication, and slop","description":"Build an automated system health check that runs every cycle and detects:\n\n1. **Task duplication**: Find tasks with >70% title similarity (Levenshtein or token overlap). Close duplicates keeping the oldest.\n2. **Circular work**: Detect agents creating bug tasks for issues they caused (e.g., agent breaks /exchange, another agent creates P95 fix task)\n3. **Empty deliverables**: Flag completed tasks whose branches have 0 meaningful code changes (only spec files or comments)\n4. **KG edge quality**: Count edges with empty source_id/target_id (currently 399/766 = 52% are empty). Track this ratio over time — it should decrease.\n5. **Hypothesis quality**: Flag hypotheses with no PubMed citations, no KG edges, or generic titles\n6. **API stability**: Track 500 errors per endpoint over time. Alert if error rate > 5%\n7. **Resource waste**: Identify tasks that consumed tokens but produced no DB changes or code changes\n\nOutput a convergence_report.json with scores for: data_quality, task_efficiency, system_stability, knowledge_growth_rate.\nStore in DB: convergence_reports table (timestamp, report_json, overall_score).\nDisplay on /senate dashboard.\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":96,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T18:52:39.909400+00:00","updated_at":"2026-04-13T18:52:39.909400+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\": [\"c28f0b644ce9905cf411c58dbfd01edf8c608f74\"], \"completion_shas_checked_at\": \"2026-04-13T18:52:39.889354+00:00\"}"},{"id":"a100a65e-2df7-4fba-9432-c4b9c1bc9623","title":"[Senate] Build /quests meta-dashboard — live quest/task tracking with VM resources","description":"Build a dynamic /quests page that is the central mission control for SciDEX:\n\n1. QUEST OVERVIEW: Query Orchestra DB to show all quests with progress bars (done/running/open per quest prefix like [Agora], [Exchange], etc.)\n2. LIVE TASKS: Show currently running tasks with elapsed time, agent assignment, and status. Show recently completed tasks (last 24h) with outcomes.\n3. VM RESOURCES: Display real-time memory usage, CPU load, disk usage, running processes (ps aux for scidex/orchestra/agent processes). Use /proc/meminfo and /proc/loadavg.\n4. AUTO-REFRESH: Page should refresh data every 15 seconds via JavaScript fetch() to a JSON API endpoint /api/quests/status\n5. PROCESS TRACKING: Show active agent worktrees, their branches, and what task each is working on.\n6. RECENT WORK SUMMARY: Last 10 completed tasks with title, completion time, and any output summary.\n7. LINK TO /resources page (Bedrock costs) and /senate (governance). Cross-reference with resource utilization quest.\n8. Add /quests link to the main nav menu on all pages.\n\nThe /api/quests/status endpoint should return JSON with: quest_progress, running_tasks, recent_completions, vm_stats, active_agents.\nOrchestra DB path: /home/ubuntu/Orchestra/orchestra.db, project_id: 5e530ff5\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-14T13:30:39.242818+00:00","updated_at":"2026-04-14T13:30:39.242818+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 21:30:10\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"c5fde5f3cfd24fad86c2e309e46ff89f5db73356\", \"afd77a9834ddf887776501b6ca744918fcf96c6e\", \"a433ad0d6d196fa10ea05b74ff5f925dea906e95\", \"46d0ec98e56873a64d9e22abd9a44e6facc3890d\", \"b663b3250ecb3694c490009d4c3def8a053c78c7\", \"eb9620d4a67c5b536cecc7569fea146c40a3eaf3\", \"78874f7e5ac99d9cca8db82670aa64538e9708ef\", \"0924d103d0a7761868a4593a4f17e969c0d045af\", \"215ef26b4a5e396384ec12248ef1fc83ed2cbbfd\"], \"completion_shas_checked_at\": \"2026-04-14T13:19:20.696764+00:00\"}"},{"id":"a20a0c44-2159-4409-b927-3c4df38070cc","title":"[Senate] HUMAN: Add GitHub branch protection on SciDEX/main","description":"The push_main race root cause was identified on 2026-04-11 (Orchestra commit 0768404a5): a stale local branch literally named refs/heads/origin/main shadowed the remote-tracking ref and caused git to silently resolve `origin/main` to a stale snapshot, dropping commits on push. Client-side fixes are deployed (purge ambiguous refs + --force-with-lease pinned to fetched SHA). For belt-and-suspenders, an org admin needs to enable GitHub branch protection on SciDEX-AI/SciDEX/main with: required_linear_history=true, allow_force_pushes=false, allow_deletions=false. The current PAT (kganjam) returns 404 on the protection API so this MUST be done from the GitHub UI. Steps: github.com/SciDEX-AI/SciDEX/settings/branches → Add branch protection rule → Branch name pattern: main → check 'Require linear history', 'Do not allow bypassing the above settings', uncheck force pushes, uncheck deletions. Once enabled, even a buggy script that tries to non-FF push will be rejected at the GitHub API.\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:41:25.404264+00:00","updated_at":"2026-04-14T01:41:25.404264+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/a20a0c44_215_spec.md","provider":"any","payload_json":"{\"requirements\": {\"safety\": 8, \"analysis\": 6}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 09:51:17\", \"completion_shas\": [\"0a4ac6ad616f6b57a6341dfcb194c8be6317e8c6\", \"0bfe39cd57884742b0242beaacc908d6642efbbe\"], \"completion_shas_checked_at\": \"2026-04-14T01:41:25.384127+00:00\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"d42d192d-e344-40fa-85f9-d68f28a3addc","title":"[Senate] Fix zombie uvicorn process crash loop","description":"Critical: API service was in crash loop (restart counter 54+) due to zombie uvicorn process (PID 3912678) holding port 8000. Killed zombie process, service now healthy. All pages return 200. Root cause: previous uvicorn process didn't terminate cleanly. Resolution: kill -9 zombie PID. Prevention: investigate why uvicorn sometimes doesn't terminate on service stop.\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-13T21:42:15.712369+00:00","updated_at":"2026-04-13T21:42:15.712369+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/d42d192d_e34_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"ce02f7f7eff174cc35008b7d57f67427d4ae60c4\", \"6364567caf216df73e37c734daf8192b7b5145a1\"], \"completion_shas_checked_at\": \"2026-04-13T21:42:15.695454+00:00\"}"},{"id":"f6b0ff49-db9c-4e4b-83d3-98b807154bcd","title":"[Senate] Implement authentication on POST /api/debate/trigger endpoint","description":"Critical: POST /api/debate/trigger has no authentication (C-5). Anyone can create debates causing DoS and cost amplification. Implement API key authentication using FastAPI Depends and Header. Add SCIDEX_API_KEY env var check. See security_audit_2026-04-02.md for implementation example.\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-13T21:20:27.682469+00:00","updated_at":"2026-04-13T21:20:27.682469+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/f6b0ff49_db9_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 6, \"reasoning\": 7}, \"completion_shas\": [\"552a0bfca872f2fcf86ee261d99cc34217e7276e\"], \"completion_shas_checked_at\": \"2026-04-13T21:20:27.659123+00:00\"}"},{"id":"14d4d36e-5913-460b-8bc3-14a6666f82d5","title":"[Senate] Design resource allocation economics framework","description":"Design the economics layer for SciDEX resource allocation. Create docs/planning/specs/economics_framework_spec.md with:\n     \n1. Resource types: LLM tokens (by model tier), CPU cycles, storage, API calls (PubMed, etc.)\n2. Budget model: Each hypothesis/entity/gap/analysis has an allocation budget (token credits)\n3. Allocation scoring: Composite score from evidence strength, novelty, strategic alignment, community interest\n4. Governance: Proposals to increase allocation, evidence-based justification requirements\n5. Market mechanism: Hypotheses with higher Exchange scores get proportionally more resources\n6. Dynamic rebalancing: Senate reviews allocations periodically based on ROI (KG edges gained per token spent)\n\nImplement the core DB tables: resource_budgets (entity_type, entity_id, token_budget, cpu_budget, priority_score), \nresource_usage (entity_id, resource_type, amount_used, timestamp), \nallocation_proposals (proposer, entity_id, requested_amount, justification, status, votes).","status":"done","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:51:04","updated_at":"2026-04-02T06:16:15.294208+00:00","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c4c42350-d31e-476e-b840-06adc6e4543c","title":"[Senate] Fix database corruption causing 500 error","description":"Main scidex.db is corrupted (malformed disk image), causing /senate page to return 500 error. 183 broken links across site. Need to restore from intact backup in worktree. Backup has 21/23 analyses, may need to recover 2 recent analyses from git history or re-run.","status":"done","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 05:46:20","updated_at":"2026-04-02T05:42:39.834921+00:00","summary":"Transient DB corruption - resolved by removing WAL files and restarting API","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c4c42350_d31_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"d2881e69-e786-4fd4-a902-ef3c515912ea","title":"[Senate] Fix database corruption preventing /senate page from loading","description":"The /senate page returns 500 due to 'database disk image is malformed' error when querying the events table in event_bus.py:155. Other tables (analyses, hypotheses) are intact. Need to either: 1) Rebuild events table, 2) Add error handling to gracefully degrade, or 3) Recover from WAL. Error: sqlite3.DatabaseError in get_event_stats() when executing 'SELECT event_type, COUNT(*) FROM events'.","status":"done","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 05:43:29","updated_at":"2026-04-02T05:40:28.700327+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d2881e69_e78_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"916e63d0-c697-4687-b397-4e4941e23a5d","title":"[Senate] Model artifacts WS4: eval gate before promotion","description":"Candidate → promoted lifecycle: new version must pass stat-sig improvement on benchmark before is_latest flips.","status":"done","priority":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T22:40:31.682993+00:00","updated_at":"2026-04-16T22:40:31.682993+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/task-id-pending_model_artifacts_ws4_eval_gate_spec.md","provider":"any","payload_json":"{}"},{"id":"d1de642e-529b-427a-aac1-ea5e4002f47d","title":"[Senate] Add pre-merge DB integrity check hook","description":"Create a git pre-merge hook (or wrapper for merge operations) that: 1) backs up scidex.db before merge 2) checks DB integrity after merge 3) auto-restores if integrity fails. Critical for preventing repeat of DB corruption incident.\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-16T12:27:07.706691+00:00","updated_at":"2026-04-16T12:27:07.706691+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 10:41:32\"}"},{"id":"fa300983-9ded-4d65-bb84-3645f55b972f","title":"[Senate] SALVAGE: review lost commit 07d886df (Senate calibration slashing driver)","description":"On 2026-04-11 the push_main race silently dropped 6 substantive commits from main. Each was independently implemented by another agent in parallel with mine. Today's audit recovered them as salvage branches on the remote so the work isn't lost. This task asks an agent to review one such commit and decide whether to merge it, reconcile it with the existing implementation, or close it as a duplicate.\n\nCommit: 07d886df (861+ lines)\nBranch: salvage/lost-2026-04-11-07d886df\nTitle:  Senate calibration slashing driver\n\nSteps: \n  1. git fetch origin salvage/lost-2026-04-11-07d886df\n  2. git log -p 07d886df | less   # review the diff\n  3. Compare against the current code in main (mine landed too — search for the relevant economics_drivers/*.py file)\n  4. Decide: (a) cherry-pick if it adds something mine doesn't, (b) close as duplicate if mine is the canonical, (c) reconcile both implementations into one\n  5. Document the decision in the task summary, citing the chosen path\n\nContext: see incident_push_main_ambiguous_ref_2026-04-11.md in agent memory.\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:04:52.062318+00:00","updated_at":"2026-04-16T10:04:52.062318+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/fa300983_9de_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"analysis\": 7, \"reasoning\": 6}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-11 17:45:46\", \"completion_shas\": [\"109e6dc261e7067086940accae2a38c900bc7e59\", \"1a6fa7f899a6c49c75fa02b961608c783f557e1f\", \"031977354738617f4bae66d264ccd5502e2a3802\", \"39142c74c5c41829691dae8be9b4dc4e7650ac57\", \"484f89f9a3d7850d92c5f269584c92dc14c975f1\", \"849aadae0d8c10a3610fa5bc26f3be670ec6b5cc\"], \"completion_shas_checked_at\": \"2026-04-16T10:04:52.039561+00:00\", \"completion_shas_missing\": [\"c09e0886e3a657fe83a5fdefe74b37ee4e78e108\", \"1a6fa7f899a6c49c75fa02b961608c783f557e1f\", \"031977354738617f4bae66d264ccd5502e2a3802\", \"39142c74c5c41829691dae8be9b4dc4e7650ac57\", \"484f89f9a3d7850d92c5f269584c92dc14c975f1\", \"849aadae0d8c10a3610fa5bc26f3be670ec6b5cc\", \"edb418ab1f15ca318023cdba2f2b3bbe0345d340\", \"9f8c867f2f75e9cea4b09abb7fedd1b1648cb809\", \"177b14174dc6dbb7c8970f08ef5e6ef1a1cea52e\", \"458ec89be69342bf95cffa58c2d803011e765868\", \"6ad36cbc66816509335713f8d4b02a914c6cc67e\", \"b21c4c68be4966a12d794351d43b3f8ee0ab8410\", \"f59abf1b54e9c4e597a13064f7288e28d1aaec18\", \"24a85ea5baef566c76f6b059521c9bd229d60fdc\", \"2e560f17132f0944ee39b95d31101b66ec6507d4\", \"4ed43d7e399d1c63410bd2a42199911f8731d583\", \"c84cac229a2e10cdb8c612428bcac71f3b40d29f\", \"9c5bd4af8ccd7380db15d18d1b4e02cfa351e04a\", \"09b85d9a2f31b60cf1773d6cf12b07f474663ba5\", \"08d795a66b6481dab88405e571efa95b94598b2d\", \"5e3c361575a71aa2d9571df413187101763d4259\", \"a12c744d7183776407b7c7e259a71f58c8f55b15\", \"945bfdc3085b29708646dc13bade7533e9741b5d\", \"c57ddc4e0fa8e4264df6028584ba7ddfe97c23cc\", \"9f3cb2e6138f7bc4133389156319f015103f97a3\", \"5c0db3ed53ac57088ebac3424b20b2c56b101508\", \"c2b9a75146598412cddfcfe3c96a2f3318a3c08a\", \"805fa0e8558323e06f00f4840db56a2fc688d85a\", \"85a1cb9b89f11d4e344c02889ada1a4f5dac7938\", \"dd9e757dfe2f26b5154f132de1735c96cf1ac6d8\", \"02c494316b8269b7a9ef863b13254fe65d027076\", \"a702728975ed4fbef66de0d898c75ff6a72b315e\", \"e32a59176b8d8641c7c303f36906a4b7f82a5a34\", \"eda29654f685556ce85d05215560d9e42398fb36\", \"63efc3832077c71286b3ec13adac7d5bd9c25dbd\", \"6cf3309a0babd9ec83e05fd9b2a3595c04f1bdea\", \"0ec5bf0dc2bda6395c75449c0adb1afd700e760b\", \"2db699651cdee638a56cd9f2d2e57c3259d0b3d8\", \"359b51e3198a02283f64e75054581e6b3719a0cb\", \"8714785293a150d52fce29dc96628498d75f9ea1\", \"ad2ff13f4a4d8921c3c3298d92eff26d4051a6b2\", \"ea55385309d13d8bd97f5b8d56abba3b8e8c6086\", \"39ce480da3d3ba3e8ee41bf94b6a8025be719f94\", \"7e16ce5855e4e015f85c7c5101d9926a618f9b05\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"1a7d02cc-7445-445b-b8ac-4905c0d234a5","title":"[Senate] Database integrity check — verify FK consistency and data quality","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCheck for orphaned records, NULL required fields, inconsistent counts. Fix what can be fixed.\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-16T09:46:58.532704+00:00","updated_at":"2026-04-16T09:46:58.532704+00:00","summary":"","completion_notes":"Previous agent started work but did not commit. Changes found in working directory were committed with task ID. Branch pushed to origin.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}}"},{"id":"aa4468a3-edc2-409b-b96d-4b448228545a","title":"[Senate] Create resource_usage tracking table and metering","description":"Create comprehensive resource tracking for SciDEX:\n\n1. Create resource_usage table: id, entity_type (hypothesis/analysis/entity/gap), entity_id, resource_type (bedrock_tokens/input_tokens/output_tokens/api_calls/cpu_ms), amount, model_id (claude-sonnet/claude-haiku), cost_usd_estimate, created_at\n2. Create resource_budgets table: entity_type, entity_id, token_budget, budget_period, allocated_at\n3. Add token metering to scidex_orchestrator.py: after each Bedrock call, INSERT into resource_usage with input_tokens, output_tokens, model_id, and linked analysis_id\n4. Add tool invocation metering: track each PubMed/Semantic Scholar/etc API call in resource_usage\n5. Estimate costs: Bedrock Sonnet ~$3/1M input, $15/1M output; Haiku ~$0.25/1M input, $1.25/1M output\n6. Aggregate views: total_tokens_per_analysis, total_tokens_per_hypothesis, total_cost_per_day","status":"done","priority":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:04:32","updated_at":"2026-04-02T06:20:06.202073+00:00","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"136d918e-2405-400d-bafe-9162d2bc5db0","title":"[Senate] Anti-slop quality gates for task completion","description":"Implement quality gates that prevent low-quality task completions from polluting the system:\n\n1. **Pre-merge gate**: Before merging any agent branch, verify:\n   - api.py compiles (python3 -c \"import py_compile; py_compile.compile(file, doraise=True)\")\n   - No new undefined variables introduced (check for NameError patterns)\n   - No empty string insertions into KG edges (source_id and target_id must be non-empty)\n   - No duplicate table/column creation without IF NOT EXISTS\n2. **Post-completion gate**: When a task is marked complete, verify:\n   - At least 1 meaningful file changed (not just spec updates)\n   - If DB migration was needed, migration file exists and runs cleanly\n   - If API endpoint added, endpoint returns 200\n3. **Duplicate task prevention**: Before creating a task, check for existing tasks with >60% title overlap\n4. **Spurious bug task filter**: Auto-close any P90+ bug task created within 5 min of a transient 502/500\n   that resolves itself\n\nStore gate results in quality_gate_results table. Block merge if critical gates 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":91,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:27:13.119605+00:00","updated_at":"2026-04-16T10:27:13.119605+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":"449d9690-1136-450a-9fcd-029c28bee162","title":"[Senate] Design unified agent/user identity system — agents and humans as first-class actors","description":"Design a unified identity system where humans and AI agents are both \"actors\":\n- Create actors table: id, actor_type (human/ai_local/ai_external), display_name, email (optional), api_key_hash, permissions, created_at\n- Human registration flow: /register, /login endpoints with password hashing (bcrypt)\n- Agent registration: agents get actor_id on startup, tracked in actors table\n- Session management with JWT tokens for humans, API keys for agents\n- All existing agent_performance data linked to actor_ids\n- Permission levels: viewer, contributor, reviewer, admin\n- Reference: users are just one type of agent, minimize distinction\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-16T12:20:09.200548+00:00","updated_at":"2026-04-16T12:20:09.200548+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"completion_shas\": [\"a87b587f2\", \"6ea6aed85\"], \"completion_shas_checked_at\": \"2026-04-16T12:20:09.179557+00:00\"}"},{"id":"be436667-1eb8-433c-b8ab-629f5f893b77","title":"[Senate] Add authentication to sensitive GET endpoints (agent log, coverage, events)","description":"Critical/High (C-6,C-7,C-8): Sensitive endpoints exposed without auth: /api/agent/log (debugging info), /api/coverage (internal metrics), /api/events (system events). Implement API key authentication. Decide which endpoints should be public vs authenticated. See security_audit_2026-04-02.md.\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-16T11:44:07.491006+00:00","updated_at":"2026-04-16T11:44:07.491006+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/be436667_1eb_spec.md","provider":"claude","payload_json":"{}"},{"id":"4efe0a68-9473-4576-969d-cdfb1b9f8b57","title":"[Senate] Create /api/quests/status JSON endpoint for live quest data","description":"Create a JSON API endpoint that the /quests dashboard polls every 15 seconds:\n- Quest progress: group tasks by quest prefix ([Agora], [Exchange], etc.), count done/running/open\n- Running tasks: title, started_at, elapsed_time, agent_id if available\n- Recent completions: last 20 completed tasks with title, completed_at\n- VM stats: memory (total/used/available), CPU load (1/5/15 min), disk usage, uptime\n- Active processes: count of scidex-api, scidex-agent, orchestra agent processes\n- Active worktrees: list .orchestra-worktrees/* directories with their branch names\nOrchestra DB: /home/ubuntu/Orchestra/orchestra.db, project_id: 5e530ff5\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-16T11:32:55.804109+00:00","updated_at":"2026-04-16T11:32:55.804109+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"82074adc-507f-4e6b-9092-e2ceee79e7d4","title":"[Senate] Create /resources system dashboard page","description":"Create a comprehensive system resources dashboard at /resources showing:\n\n1. Global metrics: Total tokens consumed (input/output), total API calls, estimated cost (USD)\n2. Per-model breakdown: Sonnet vs Haiku usage, cost per model\n3. Time series: Token usage over time (hourly/daily)\n4. Per-entity breakdown: Top 10 hypotheses by token cost, top 10 analyses by cost\n5. Resource efficiency: tokens per KG edge, tokens per hypothesis, tokens per PubMed citation\n6. Live agent metrics: Active agents, tokens consumed this session, estimated hourly burn rate\n7. Budget tracking: Allocated vs consumed per entity, over-budget alerts\n8. Charts using Chart.js or inline SVG for token usage trends\n\nPull data from: resource_usage table, agent_performance table, debate_rounds (tokens_used), tool_calls table.\nAlso query AWS Bedrock usage if available via boto3.","status":"done","priority":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:24:11","updated_at":"2026-04-02T06:20:06.202073+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"sen-reap-01-WTCH","title":"[Senate] Task reaper in Orchestra watchdog: auto-recover stuck tasks","description":"Added reap_stale_tasks() to Orchestra watchdog (runs every 5 min via cron) and standalone orchestra task reap CLI command. SciDEX added to watchdog PROJECT_DIR_MAP as systemd-managed project (skips tmux supervisor, runs reaper + queue checks). Fixed PROJECT_PATH_MAP for case-sensitive directory resolution. Watchdog cron installed.","status":"done","priority":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":null,"summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/sen-reap-01-WTCH_task_reaper_watchdog_spec.md","provider":"claude","payload_json":"{}"},{"id":"d2706af1-28ff-4d2f-b590-5edde0e86287","title":"[Senate] Stop demo enrichment task from rewriting same spec 60+ times/6h","description":"Today's main commit history shows 58 of 88 commits in the last 6 hours are the same task 8a4bcadf-363d-4be2-b025-18724e107bdb (Atlas demo enrichment) repeatedly committing identical-shape edits to docs/planning/specs/8a4bcadf_363_spec.md. This is generating ~10 commits/hour of pure churn on main with no apparent progress. Investigation: (1) read the spec to see what the recurring CI is supposed to verify, (2) check whether it's idempotently completing (recurring no-op release should fire) or actually rewriting the work log every cycle, (3) if it's the latter, fix the agent to call `orchestra complete --notes 'no-op'` instead of committing a work-log update.\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:28:07.695825+00:00","updated_at":"2026-04-16T17:28:07.695825+00:00","summary":"","completion_notes":"Pre-merge hook blocks spec-only commits with message directing agents to use `orchestra complete --notes 'no-op'`. Churn stopped — only commits with actual code changes are merging now.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d2706af1_28f_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 6}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-12 05:07:22\", \"completion_shas\": [\"95a6e22a195cffee0b137bcd4518c024a75025ae\", \"c540e7fedfffdc6d9d731b1290cbe530d3a1c998\", \"155462e958be2f9ae7a1db77b3b2b8365074a4fa\", \"139a6c489e591f50d9121a6c2f06727d2989a1d3\", \"fe4232195e05b6f4f68b54321c86cb0efc59bd71\", \"50b1c0da5dff14bf5af5e083d7a50c37d90c208b\", \"34a53963ae09c7d852b51c5c5519d1ff101c1ca8\", \"99478c80cca949abae9932d82fa9112afe184ee5\", \"fd7581462efc84b03145deffe3cfce1702c223bf\", \"5c228beeb265221475c9ae2ec2cd547f8d3414b0\", \"d18aedcf3d81b012225505c8016a9fe4bda08d37\", \"6e7449d5503934c5c0457d8f680e88afc1af9a11\", \"3b140dd4ada13e7abd0085d65b23de15b8b59ede\"], \"completion_shas_checked_at\": \"2026-04-12T13:27:02.290524+00:00\", \"completion_shas_missing\": [\"6ca89dd5db167804a640ce24e3bf122fac57db7a\", \"065e405592dcc40e15d0f9a5beb85a7143427256\", \"c46a82a6c9d985af3c1350bacac2e67a458ffc6c\", \"b8d6e955d84d2f6afe33676a9782580f439ca371\", \"ca0b2ef1167b19efa951f92eb53c98aef957d0d4\", \"1cbffbfc5f22d1f2b667c90b54a985d1b7f90eea\", \"3b72f3f7a2a332ef70af9ceaff8c7aee1e3c45c8\", \"69fcebec899550d4c4d9c8f01f8d1784a502e444\", \"c554beadae09b5aac3428efeb892ff4a34b5f121\", \"edcf045f506bad6e7ea9e593682f0d582a01ba39\", \"d1b7e502977407faab59f35531cc748aecedcd19\", \"0345b439179707c97479a2e32eae22da7f1b8c22\", \"27c96cef1e772445bd5292e4620c40bc12f350c4\", \"255cf015d73b9bfd0fa27cc5824e6cbc7bb1a3c3\", \"2da18427aabf1c5ae6e010520a7cc22f6327a647\", \"b14e8b075cdca63b769091c275334a6362e7f71f\", \"78a2045c7f9ee2530129f3620123789b50f4b713\", \"4651405d498fd76b1f7d2d62f7e1b3bfa1f5c8eb\", \"052d5e530bce3ba568c41ed1262b9b84118e0586\", \"97eb26ece2fdd2e78c48425a9dd47c532acc31a2\", \"ce67a97532d0873083f6b04ca59bb656ca6fe7d9\", \"f37844b2e5b0f5ec3d73dd87061c198ae7efcef2\", \"606761790738e920e64f4b0a7793e88edd4e6605\", \"c7e388c8e9dd0eae8db9e20b8be6fa3a785cb834\", \"138359df89ed8eb642df57fe970edc2ca5214911\", \"f336dcbac80fcef88b7860d0c83aea5fca76a262\", \"0514218c05f3b3391ab02d85596791eefb96f5b3\", \"32a65db789eb9e40c614c3a4b31771861e4f1179\", \"bf9ebec665ed42e8b41af198521893fc39b2b088\", \"6042d7b77c286a1ef8cc44f585514c363f7ed5cb\", \"bc7dd04e910b2bf347f82693c3b6bce8e09322ab\", \"a16ccabef87ef4024d7dc9f197d7da1bb446f51a\", \"ec5e079d097f26b314cdf271cc3955304ee6e2eb\", \"6ce6b02fca706155475f6f8b8f8df71e64be5c3c\", \"75246cb509311d02a9610c2e54cbda98e79abc8c\", \"f1462120e812a82bcf016a8740666fb361f5756f\", \"2ca52b1a64f355b3c7f095684073fcf416412fa2\", \"8f757efde9186fb3f71693e4741fb1e41d78e6b0\", \"4fde314ec60fd55e7bc403e170d8de48f911ea56\", \"51042685ed8793086561da73795f919567bd5f68\", \"f53285fbc67832a3eae5b60b4294c067e71d78d0\", \"3f6feb194176a84607bb732f45a7d0b3fe61e144\", \"021389e019125078c92fc5fc0fcae8f01c0f649a\", \"7dfeb4491553af855eb1635f299633967cf46124\", \"35ac700d877bd93fab30a8b3fe5103cf68c8f247\", \"8051b13af88d5a7ca7e876b982e733ad7a8c92a6\", \"d14d91758376af73f003238c4e04c912422769bd\", \"153936996e3bc2bea8b48dae3eacf20ced7c7e0d\", \"fed97ffe16290d45b86d55bb9d69a93c6427d488\", \"ece9ac10fe87a82a2f9098e2c9fa253e68c43333\", \"c62fa67c30f771e82b95389e1954081a6fe0e203\", \"b6bd53619753add4ce5358a5bbb07aa17c543d81\", \"50b55fae29e77f6136cea80559f908ae0e4f2c47\", \"9be500ee1536678aac64822dbdc6120060fea8ba\", \"2e469bda493f6da0fedd6dcf2569e1c0aa2634a0\", \"6d29df5bf2ead7512435b5e4d5d9c6a5b8b4faac\", \"ff0516375da705d616a0a030a0add629723ee122\", \"f59f1fe39d2074a62d2f5bc4c8fbfb0462f3a19d\", \"830e7cf4224b4f6f55135a57fe9566e03c701aa6\", \"25ee473cf21d2fad9132d77a0b35fd532d0c032e\", \"069ef12d2750fa8afe6d9663f4d5f2f326984f20\", \"743c7cd033c1d513885c2855406e15ff03934c57\", \"dff5a03edac84cea90887be400cedcfbf7dc0c67\", \"9241aa7fcabd26ed85a81f590fe7344aaad3dfac\", \"4e894e1ff1fef42e06f319b14cb31ca740892c6f\", \"ec87134518ec8c7d73af1ab3c4e98d6297d66881\", \"50a579bb31e44400e66d57dca66f06f98d4379ba\", \"e9a8147c31c9d0f3f3fe8901bbba0976c5b51d4e\", \"be958f474c226dfd0a5f911d84ea0075632ffbad\", \"e72892f06fe130ef8943a14941d7cc799554d6a2\", \"0c25b0f82ba08bd1da14644aa7f580468868795f\", \"150c8c7ea3d40c7a950c92a466b5912eae8e892c\", \"6548ece09a3e9904c0662a484bd90b0da17c6ef8\", \"aa7ed7b9fb8443dc3f975a6a775c4f3a788afc88\", \"6344a27415397ab0b1d72e5e247e6ea93c19f147\", \"eb9c05512a5804484faf2d1c3a3123da8d6b7bd1\", \"4aef4b0e64247c2b415c74c2c5f322fbec7b2ae9\", \"f4ced6c2136e9f362e8dd3d017469a0ff0842b8c\", \"d9da8777fd0b4798a502207db5bfb5fceaa442a6\", \"cc4b055c6de80792ac3f138a7aa0006102b17fc5\", \"56a7db94a19c13f8e64b27073b8e859838427f2f\", \"bfc36623fd0c1b82896adb1bb0ea0cf9910459db\", \"676e785d012affe2ffaccaad2cc187f4d2e11b4f\", \"f98300bbd5d745ef73b949e7bc58d22b437a4b9c\", \"669bc118c63d984e79cb4f4e7bd142c659c1e8f2\", \"5818e04355ac95b8f24f432abf21d52a600ca87d\", \"dea369eda6e808722e4d3e79b18531fc5ab28565\", \"0c2e858069f894a5f37aef254ad1ecdf0ce73eb8\", \"268fb3983a22292b25ea1af98052d30760a9c07c\", \"c8eac85c6a7856b6fe3c8ce9d4ad52dfd51b2010\", \"8c47d13d0e3fcef492a539dbe258d96741495f23\", \"be996c6a5a0944b39c7c8df1ee87f8341cc36ea1\", \"92de2ff0ea7926e01fd95db0a03e159c451349d0\", \"552cde89101d3b208c5704d833c28d13cc1a3b47\", \"9a000b3c09ac136c6bcadfbef0fed2f11c0b7d7d\", \"a522032cde7db28b0ea167788c7b2cccbb2f4e11\", \"fedca2cd1c5b3ecbd002509d12724a041d07acb5\", \"7bcd805ba7e2dbf7d1f06a9f0efd29d9ed0e2d94\", \"8154db637f6b7a4ef00770772be4ba51d088ec73\", \"48b50d6c0df8913e7e7aef3397466c86fc4b9865\", \"844387b993e07b6d298c022dc2dcf1a3e7172d92\", \"1eba0d3873f5efad44d51aecff313e637153b7f0\", \"2d96c186c46358a9940fdc8dc6b500f1f3506be8\", \"ec1e870b56386098c35a8ab2fe1b066a78ea149e\", \"9eb7edf495112c9a8db137caef74d5af879f1e5b\", \"054e0e67223bc3d910c9987731709f0caf53bc4e\", \"6c05ad46b0d9b9e5faa6b2ebb4da30c8b75f9498\", \"50eabd77758afca4cb381ba76d5937e817a38c80\", \"35cca6acb7b73317e9c37957be4961246a653b49\", \"c3d502cab9a9598ca529bb3079b5a0024585aa11\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"493bc7a0-4362-46e4-927f-7ebdf8976d13","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.\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-16T16:18:35.526576+00:00","updated_at":"2026-04-16T16:18:35.526576+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/493bc7a0-436_senate_agent_performance_dashboard_trac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}"},{"id":"27641469-9658-456f-9316-9086725291e0","title":"[Senate] Fix quality gates datetime error on /senate page","description":"\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-16T16:16:00.364260+00:00","updated_at":"2026-04-16T16:16:00.364260+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/27641469_965_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"48e9c322-7837-40fa-b2ca-54a2eba48cc2","title":"[Senate] Fill evidence validation scores for all remaining hypotheses","description":"34 hypotheses still have NULL evidence_validation_score. Run the scoring algorithm on all of them regardless of composite_score threshold.\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-16T16:13:43.646707+00:00","updated_at":"2026-04-16T16:13:43.646707+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/48e9c322_783_spec.md","provider":"claude","payload_json":"{}"},{"id":"370890cc-17a6-4afc-803c-f3219625c49d","title":"[Senate] Implement resource tracking and metering","description":"Track actual resource usage per hypothesis/analysis/entity:\n1. Add token counting to all LLM calls in scidex_orchestrator.py (debate tokens per hypothesis)\n2. Add API call tracking in tools.py (PubMed queries, Semantic Scholar, etc.)\n3. Add CPU time tracking for post_process.py pipeline runs\n4. Store in resource_usage table with entity_type, entity_id, resource_type, amount, cost_usd\n5. Add /api/resource-usage/{entity_id} endpoint\n6. Display usage stats on hypothesis detail pages and Senate dashboard","status":"done","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:24:45","updated_at":"2026-04-02T06:16:15.294208+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f850da6d-e387-47fb-8bb3-04440b625f42","title":"[Senate] Fix path traversal in bridge.py upload with Path.resolve()","description":"Medium (M-1): bridge.py:32-36 upload endpoint vulnerable to path traversal. Replace os.path.join() with pathlib.Path.resolve() for safe path handling. Prevent writes outside BASE directory. See security_audit_2026-04-02.md.\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-16T17:45:51.372890+00:00","updated_at":"2026-04-16T17:45:51.372890+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f850da6d_e38_spec.md","provider":"claude","payload_json":"{}"},{"id":"9fef1c13-a803-48f9-8757-279a8fd46ded","title":"[Senate] Backfill missing spec files for open SciDEX tasks","description":"Create missing docs/planning/specs/*.md files referenced by open tasks, ensuring template compliance and work logs so recurring tasks remain executable and auditable.\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:55:39.167924+00:00","updated_at":"2026-04-17T10:55:39.167924+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/9fef1c13_a80_spec.md","provider":"any","payload_json":"{}"},{"id":"44f3e84e-0c27-40fc-977f-90d80ecb862b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"done","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T05:10:13.337725+00:00","updated_at":"2026-04-17T05:10:13.337725+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"60436e70-3726-461f-a6be-f34bf10527e9","title":"[Senate] CI: Fix latent 500 errors and verify page rendering","description":"Audit all main pages for 500 errors, fix code bugs causing them, verify rendering\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T21:06:39.964575+00:00","updated_at":"2026-04-16T21:06:39.964575+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60436e70_372_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"1a3c9eec-7849-4514-80f2-3da1ff9a2ef8","title":"[Senate] Add /api/health endpoint for monitoring and CI checks","description":"\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T20:35:55.714510+00:00","updated_at":"2026-04-16T20:35:55.714510+00:00","summary":"","completion_notes":"Verified: /api/health endpoint already implemented on main at api.py:2496-2537. Returns status, timestamp, db stats (hypotheses/analyses/edges/debates counts), uptime_seconds, version, and services status. HTTP 200 when healthy, 503 when degraded. Confirmed working via curl. No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/1a3c9eec_784_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 5}}"},{"id":"8ba8d3d7-4e91-41ba-b6d0-996448ebdf34","title":"[Senate] Continuous architecture review — holistic codebase audit and API consistency","description":"Establish a recurring architecture review process for SciDEX:\n1. AUDIT: Review api.py (4000+ lines) for: dead code, undefined variables, duplicate routes, inconsistent patterns\n2. API COVERAGE: Ensure every data entity has proper REST endpoints (GET/POST/PUT/DELETE). Currently many pages render HTML but lack JSON API endpoints.\n3. CONSOLIDATION: Identify fragmented scripts (import_*.py, populate_*.py, migrations/*.py) and consolidate into a clean migration/import framework\n4. SEPARATION OF CONCERNS: Plan extraction of inline HTML/CSS from api.py into templates. Move business logic out of route handlers.\n5. DATA SAFETY: Before ANY refactoring, verify: no running worktrees depend on changed code, no data loss possible, all DB columns preserved\n6. REVIEW DOCS: Read QUESTS.md, AGENTS.md, self-improve.md, pitch.html to understand system goals before proposing changes\n7. PLAN FIRST: Create detailed refactoring plan with rollback strategy before executing. Small, incremental changes only.\n8. REVIEW PREVIOUS REPORT: Read docs/planning/architecture_health_report_2026-04-02.md for baseline findings\nThis is a RECURRING task — should be re-created after completion.\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T20:20:49.745150+00:00","updated_at":"2026-04-16T20:20:49.745150+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/8ba8d3d7_4e9_spec.md","provider":"claude","payload_json":"{}"},{"id":"bfd95ada-005b-48e5-aab3-e28477b659a4","title":"[Senate] Build /backups status page and restore UI","description":"Create a backup monitoring dashboard:\n- /api/backups/status endpoint: list backups, sizes, ages\n- /backups page showing: last backup time, backup sizes, restore history\n- One-click restore button (with confirmation) for any backup\n- Backup health indicator on /quests dashboard\n- Show DB size trends over time\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T19:47:35.343995+00:00","updated_at":"2026-04-16T19:47:35.343995+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":"a6c1a38c-eede-4a24-8109-7f89708ab6c7","title":"[Senate] Implement edit tracking and attribution for all content changes","description":"Track every content modification with full attribution:\n- Create edit_history table: id, actor_id, entity_type (hypothesis/wiki/analysis/edge/etc), entity_id, action (create/update/delete), diff_json, timestamp\n- Middleware/hooks that log edits for all write operations in api.py\n- Git-style commit messages for significant changes\n- Associate all existing and future edits with actor_ids\n- Show edit history on entity detail pages (hypothesis, wiki, analysis)\n- /api/edits endpoint to query edit history by actor, entity, or time range\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":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T19:38:05.066232+00:00","updated_at":"2026-04-16T19:38:05.066232+00:00","summary":"","completion_notes":"Implementation verified: edit_history table has 3670 rows (2111 with actor_id), _write_edit_history auto-logs via journaled_update_by_keys, /api/edits endpoint filters by actor/entity/time, get_edit_history_html displays on detail pages. Commit dbee92be6 lacks task ID in message.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"1765838c-e0e2-4437-8a43-0cb3cd3c9b4b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03T05:27:21.713341","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"7ef11ece-a3e0-4a0f-9bb7-5636bf55b991","title":"[Senate] Continuous architecture review — holistic codebase audit and API consistency","description":"Establish a recurring architecture review process for SciDEX:\n1. AUDIT: Review api.py (4000+ lines) for: dead code, undefined variables, duplicate routes, inconsistent patterns\n2. API COVERAGE: Ensure every data entity has proper REST endpoints (GET/POST/PUT/DELETE). Currently many pages render HTML but lack JSON API endpoints.\n3. CONSOLIDATION: Identify fragmented scripts (import_*.py, populate_*.py, migrations/*.py) and consolidate into a clean migration/import framework\n4. SEPARATION OF CONCERNS: Plan extraction of inline HTML/CSS from api.py into templates. Move business logic out of route handlers.\n5. DATA SAFETY: Before ANY refactoring, verify: no running worktrees depend on changed code, no data loss possible, all DB columns preserved\n6. REVIEW DOCS: Read QUESTS.md, AGENTS.md, self-improve.md, pitch.html to understand system goals before proposing changes\n7. PLAN FIRST: Create detailed refactoring plan with rollback strategy before executing. Small, incremental changes only.\nThis is a RECURRING task — should be re-created after completion.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 07:22:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"1ee8c830-cdf9-42a2-9ebc-10173091cc64","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 13:41:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a4697e72-58d5-458e-9b22-13f5e9e0a36f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 13:59:02","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2dd38633-a9f2-4941-ad53-ae4951b6e9ce","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 14:58:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"d5c15cb6-8471-46a6-b2a3-9f3f9f65b375","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 15:17:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9defc663-222a-494d-adf2-e9abc4b3b064","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"77a9113a-0a32-4750-a538-ecc260107543","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 15:27:57","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ae2db1e5-1ba9-4e40-8c9c-57dc9179c57b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:23:47","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2b8cdabe-5ce4-4470-924a-99ab0788132f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2869519b-0803-4d83-84ed-b344182b0e4a","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"555dba23-b4ea-4fd8-abe7-25bc2cc4093e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:53:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"980a1f9a-dbd0-4651-a5cb-68ec41a63737","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:56:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b8ad4225-0856-4cb8-8e09-b3245c3d9571","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:10:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b51d39f0-43e0-4449-9157-ba3c2950550e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:38:30","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"222edd04-58b9-4b95-8942-3ceb9aaf9091","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:43:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"aba1ea67-b73d-41f4-a9e6-a64814de98b8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:14:00","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2f08a238-67fb-45fa-8d48-08467427091a","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:18:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a189dd9a-d261-4240-81a3-c1a0fe71affe","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:24:02","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a0dbc243-2bc0-4d32-9068-71407e1cb5cb","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:38:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"84b31a3b-d931-4b74-aed0-0a253446ac27","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:41:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a8de39af-a1cd-4af7-9f13-94b4a13914a2","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:45:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"18e3d05f-3845-498d-aebf-048d8a8542b0","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:51:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"15296006-7f1c-496f-a008-2ad24f53bf28","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:56:23","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9b7b975e-0fa7-4175-ab52-34b558c7cded","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:03:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"605b930e-7d48-41ff-961b-f3b8a1a1be52","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:14:05","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"851ad316-5874-4f44-87f4-3d5ba7df117e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:18:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9cc89e75-69f6-4cd7-9d93-1b4d4c1bae64","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:18:28","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"1a489afa-cb67-4244-b640-f0282b68ffa8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:26:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a0fb0b79-4719-4412-aaea-95c6c385d450","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:28:49","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c0735d9e-2a89-4db6-8212-73f69d0bf39c","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:06:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"503bd5fe-68a4-4de1-9f96-6d564a6606db","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:41:28","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b3ae12e5-f1e0-4063-92a4-892d97aaac0b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:47:03","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a6b49652-02ec-4407-9b3c-6edf3c7b8441","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:55:06","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"1e6a3952-64ff-42db-968e-d3f4bfb33866","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:00:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f108471b-8ded-4e5a-9b89-440bee978b2f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:05:22","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"eb7e6c02-6f61-472a-95eb-46d4465cc861","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:12:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"40336dc6-0dc7-43da-bab0-e2d5a9d1b34f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:16:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"98f4d7da-cf6f-4386-b0ea-5bc04a205973","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:23:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"4faad2b0-7645-45f1-b835-8c4479b5c195","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:31:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3411c075-cb11-4a5b-812c-44478945ab13","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:56:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c5e8ed03-bbe2-4b41-b203-837a52b32b10","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"15","started_at":null,"completed_at":"2026-04-02 21:05:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b68832a2-b358-4d12-ba37-7db9b25bb5d6","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:15:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b59388bd-7d60-4447-a1ad-317fda714821","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:24:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e078b637-26fc-409b-a64e-b23a2ed05f3c","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:26:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f233ff15-f273-49d9-9a56-ea5ee04e2dc6","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:36:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"397698a7-f807-48a9-98c3-1d879ba6a65f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:38:44","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"cbdb25e6-8df4-4b56-9981-02ed4ec150fb","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:45:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"0acb50ba-6df6-4ce4-bacb-ffb0a6e77ec9","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:52:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ae02b759-40c8-4dc5-ba17-31cb7721514b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:56:49","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"00cf48fc-3978-4075-b466-eed31fb1e9ab","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"21","started_at":null,"completed_at":"2026-04-02 22:07:49","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"aa5a29a9-3688-4a58-acff-af6453d211e5","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:05:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"91c34488-7f8b-4ad5-b1a3-88346b9ba0f7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"21","started_at":null,"completed_at":"2026-04-02 22:13:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"d19bde00-aa45-47fd-af2b-00b1558c19c8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:15:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"6b883e34-f342-4ecc-9473-14c5021382cf","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:28:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"278642db-e539-4946-99af-470a81c52664","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:29:08","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ac46e2df-39ed-4a2b-b062-457e519117a4","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:33:47","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"42102895-fae3-4d6e-8ebc-f02b2f22990b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:41:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"884384f9-a65b-4c4a-aa70-60898656a9c0","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:47:06","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"6ec06ca8-3f7b-4a50-8ea2-a65d0d6601a2","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:50:24","updated_at":"2026-04-03 15:54:29","summary":"Already implemented - /senate/performance page (145KB) with agent performance dashboard","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f533decc-dbed-4b3d-ac6b-f360aa8788a2","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:57:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e54da998-9887-4980-9ba8-ef85d1a6919e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:01:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f870ac39-8e50-4b96-9706-cdd0be2ccb9d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:09:23","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"05da7f58-27c3-4275-8ccf-f9b100da9dbd","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:12:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"bbd313ae-1ff4-4208-82a1-4a51a7b8fd36","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:24:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"37412b64-c741-448e-84bd-ba418839c688","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:26:55","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b1e4772a-3a07-46de-9c0d-e4d0bf7f2a57","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:34:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2bbef8bf-d08f-4f31-af0a-242a346e8ca0","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:51:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e78c0d1b-4d32-4340-9d4e-2191ad8a1725","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:57:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f3d72343-8208-47cf-a156-77a5657dc73d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:05:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"d56c6fc4-27ae-4d74-a8c2-3b2ab4ab3f96","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:10:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e73a8ac4-d981-4fc3-9f16-07187bce6714","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:18:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"5faa4d2a-ee29-423f-be5e-9d832e995e97","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:21:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2b91b56c-eddc-4ac3-9211-5d7f9c2de8f5","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:31:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e7e780b3-1362-4e21-a208-24cf7c422f93","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:40:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"237d36b8-b04f-49d0-b84e-e2b4df1f3298","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:50:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c3fab549-7b22-4f53-9e46-62a5f5d18dd2","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:53:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f937ffc8-8bfb-439b-9e04-0f844bbe37e4","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:55:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"4ad8922d-c85f-46d6-9635-211a845d9cd7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:02:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"71fd7193-0cb2-4f80-bb69-0b4b91b24e2e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:07:44","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"7bdbe020-41a1-48a0-a686-daf90461d5e6","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:23:07","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9cf7a20a-fb55-48bf-ae9b-61067cfb6122","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:19:57","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"0d5eeb81-1750-4497-a8ff-7b072464c51b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:27:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2d7c0bae-3b8f-4178-a5c5-d66f2f100420","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:28:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b9c973d9-b574-4a75-82d9-0bb51b3a18eb","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:35:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"94bb5ee6-f358-4335-9ee1-de86c0012bc7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:42:28","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"568721d0-f34a-441e-8b85-9c884f8758eb","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:47:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f453f4f4-855f-4bb0-86f8-afb4a5426bcd","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:51:45","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"47671638-89b4-433f-8c38-7154a1824946","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:57:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9dd0a1d0-68c0-4c32-a60b-dd5b4cdc63e8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:04:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ad8b2d1d-e108-47f8-acb2-054bbaa9aece","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:09:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ae0e441e-039a-465d-9ac5-7bad4ecd421f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:18:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2dbd529e-0e01-40dd-9bf2-a41284805ab6","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:25:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"8ae8f750-c14d-4aa3-b4f5-72e24a6d44e7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:54:51","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"d1dc1996-063c-4aa5-a202-e1a7776bedd3","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:51:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3d24c7f3-a863-4c66-9773-21e57ca570fa","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:56:23","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3e40f980-3784-4fee-ae09-74b63f78db3d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:03:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"f6e35728-83fb-4a40-a39d-2d60ed545799","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:07:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"55f1a237-d3df-4aba-87b4-27e69279d9e3","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:22:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9073d89d-a742-47cf-aff7-2f84d98b5458","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c8f36c91-07bf-41f0-a2ba-5a006661622f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:51:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"8e687334-a84a-414a-b18b-c5f0a7e74d8b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:54:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e54f946e-4ef1-4c9d-a3a8-4f34f28e7d2a","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"215dd363-e99e-4641-bce1-5400e2c38ce3","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:56:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ee8a5d59-9d1a-409e-86c2-caccab633019","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:57:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"84ee5617-e0e4-4cc3-8ff8-e5be42deaa63","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:57:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"5fabfe36-50cd-415f-b1d6-efce8f5dc587","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:58:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"29247d91-2cc7-481a-9b94-f7c64e79ba93","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:59:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"1b73142d-99b1-4ae2-b8c0-8eda7eb0de88","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:19:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9a85cdf6-e867-423f-80ff-b8a760d46ecd","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:21:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"5abf8b74-2685-4254-8b67-77383b1177e8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:37:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"da9089c0-0f40-4a68-a9ae-08e4d4ce385d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:38:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"65d95610-3b57-487a-a9c9-02c10d13401e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:40:45","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"871e714c-1118-44e7-8371-973dad33c24b","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:51:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2832dbae-eec5-4cb0-baf9-7cac1ced01aa","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:55:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"90d535bc-24c7-489f-a459-f5f5de0cc96e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:16:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3366be18-5897-41d4-ac8d-013aeed33069","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:57:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"68e49b70-abea-4ea3-b71b-099f205c0d35","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:09:49","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2e9e0d6c-8cd9-47cc-b2ed-91207f1a5565","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:02:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"aec5613e-ea07-412e-9699-559ef7a7b999","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:03:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c7cfad35-1805-4615-b906-3b2a72e6ffdc","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:04:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"cd8b2797-2f91-4129-ae87-9afffdd39105","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:05:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c34d9865-331e-4f90-a671-ba1918916eba","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:06:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"47fc84c2-ca19-45ce-8c0e-ead895ae5e67","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:08:00","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"c02f62c8-171b-4780-912a-4ab6dfded2a5","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:10:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"86e2ac7c-4ca3-417c-9a43-d2ffe6781705","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:11:45","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"0346276e-74df-45d3-b522-ba8dbd3bbaf8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:17:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"7e03727d-400e-4eac-9f66-d76549947928","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:20:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3f8a6c9a-b26c-4711-8a41-44d4907f8e3d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:20:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3ade3105-55b5-4b98-a7d4-df21a90eceea","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:22:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"559ce7fb-b036-450e-b68c-914f2ef10c84","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:22:22","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"96557a42-fae0-4b54-ab19-c1515d62788a","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:25:02","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"55d0479f-24cc-4102-9d9f-4c26d00f0a43","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:25:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b04facd4-3df1-4738-b395-b4391840eed3","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:27:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2a5cd012-9e70-469a-917c-5c80140f84c7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9770bc57-d1a0-4c27-a075-b0bfb8d886a4","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"13282c5b-c182-47a8-88f5-9fe49df62763","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:38:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"281b59f0-720d-490d-a98e-b29c4071e387","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:46:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"43dc4356-42a4-4968-9852-6b9f9dd6855f","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:47:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"3f401a42-15e6-42da-a212-e5ca0300dd08","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:49:47","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"6e87fd6e-0a3f-4459-87dd-46ba5732d67d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:55:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ede84bd0-4301-415c-9f45-c0007a3b14b9","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:56:51","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"99bb8fcc-e8a5-4cc3-802c-503326219f36","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:58:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"214417f0-d9c4-4f06-acdb-c83e51bf5487","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:59:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"151a3b2b-c9a4-459d-8059-c064b643d0fd","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:00:27","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a6cc0e00-3b8d-45ab-9ed0-f196bc3f56fd","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:02:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9a60ce97-0fbf-4ef7-ac85-974ea1314fd7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:02:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"b72b37d2-e382-44aa-a1ba-2cd069ef6b71","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:04:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"aed6a56d-0784-4c33-9133-375208958c45","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:05:34","updated_at":"2026-04-03 15:54:29","summary":"Already done: /senate/performance returns 200","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9f2bae80-a7ac-4ac1-b002-732cf8695780","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:07:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"45da40b1-7e46-4503-ad76-43749a94631e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:07:57","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"815f4b8a-8762-4c11-9ca5-67a60d373e79","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:08:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"4da66da4-9d83-4683-aece-23ce17eb2107","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:10:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9d39a8cf-35d5-4653-a40d-65b312113e8d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:17:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"33d65dcf-0d29-4da0-982c-bb21c573ede7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:12:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"320c099f-5ccd-4c70-82a6-d96fa73f7d83","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:18:21","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"30e6fbae-961f-45cf-b31c-ce5fe78cabe6","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:15:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e3b129b4-a9a1-445d-966a-ff8199b57a32","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:16:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"05e51882-b7da-413c-a803-169817a4e978","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:17:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"8ddd96bd-2c8f-4b51-9dae-7a2395095cb2","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:21:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"05f452b9-05d9-4f40-94a0-0548648d1f80","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:25:21","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"777f2ac0-2a74-4e87-a1be-6c2ac9b1d3a7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:26:31","updated_at":"2026-04-03 15:54:29","summary":"Already implemented - verified by slot 1 CI check","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"09993544-e4cf-4a1a-970e-b3c297b4b235","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:26:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"806a9b5d-2fde-474c-a93c-aed9f6d5b290","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:27:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"2698a958-26b7-49b2-936e-0c217f3dee67","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:28:09","updated_at":"2026-04-03 15:54:29","summary":"Verified complete by slot 1","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9f66ec0d-b9b3-4efe-b377-9d63043e49cb","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:31:33","updated_at":"2026-04-03 15:54:29","summary":"Verified complete by slot 1","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"5a60ec36-9ff5-4a47-aacd-fbfe3ca6a43e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:32:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"d106a6ae-9f4f-4f1b-94bb-0da9e16771c7","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:40:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"6d4f5d16-370b-4fbf-bff1-2cfc8b0f97f5","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"2","started_at":null,"completed_at":"2026-04-03 06:44:22","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"9ad107d5-9a7d-4977-b0cd-ddebfdaa44f8","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:00:21","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ba174bec-1404-42c8-a6db-bbb6e43b8c7e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:00:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e5f08f37-14bd-42e6-80fc-c9e483b7a9d1","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:06:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"08b51dbe-b9f1-46e8-a57a-1d71d7b3fe19","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:11:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"5f6d6b3f-4f90-4bbb-bbb0-abfdcc521f85","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:19:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"ed227b08-995f-439f-846e-36e0c98ae352","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:32:06","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"dad1de9d-efa9-4c19-b91c-f4bb06b8d361","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:32:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"153ec027-3732-4768-9908-98cab71a0254","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:40:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"36f86ecf-deef-407b-99a4-5edb71d4d474","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 08:08:30","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e944e516-7fe3-4835-8add-908fff0da57e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:23:42","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"234f97fe-435f-40c4-a7cb-429eeefb81ef","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:34:55","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"dd9e8dc0-e85b-4945-8d59-0f9fc6ffee83","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:49:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"28c52583-9bad-4ca1-bd0c-f58c39b95944","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:58:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"a0f4a702-19b8-4b18-9ab9-f50351c0038d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:58:31","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"dfcd1e48-0bbd-48f5-ba52-9cae426eec5e","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 11:41:06","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"cc4c8a41-1262-4f30-8528-2da919af662d","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 11:39:44","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"778a3c3d-e8d5-4df1-afdb-2b46d599f680","title":"[Senate] Agent performance dashboard — track which agents produce best hypotheses","description":"Build a dashboard showing agent performance: debate quality scores, hypothesis score improvements, tool usage efficiency.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e4ad448a-ee3e-4f0e-a4c7-d563edf75a1b","title":"[Senate] Per-artifact resource attribution","description":"Implement per-artifact resource tracking so every hypothesis, analysis, entity, and gap shows its resource footprint:\n\n1. On hypothesis detail page: show total tokens spent on this hypothesis (debate + post-processing + tool calls)\n2. On analysis detail page: show total debate tokens (4 rounds), post-processing tokens, tool call count\n3. On entity page: show total tokens spent across all analyses mentioning this entity\n4. Add resource_cost column to hypotheses and analyses tables for quick access\n5. API endpoints: /api/resource-usage/{entity_type}/{entity_id}\n6. Calculate ROI: (composite_score * evidence_count) / tokens_spent","status":"done","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:24:05","updated_at":"2026-04-02T06:20:06.202073+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"e784995c-1188-4d74-8d06-056789a8d840","title":"[Senate] World-model-aware project ranking","description":"Rank analyses by world model contribution. Score = 0.3*kg_impact + 0.25*hypothesis_quality + 0.2*entity_centrality + 0.15*gaps_resolved + 0.1*citations. Store as world_model_rank. Acceptance: all analyses ranked; /analyses/ defaults to rank sort; top 3 on dashboard.","status":"done","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:27:06","updated_at":"2026-04-02T03:05:17.609939+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e784995c-118_senate_world-model-aware__spec.md","provider":"claude","payload_json":"{}"},{"id":"33bd3344-ee6a-4e9e-a379-d190a175aa05","title":"[Senate] Task effectiveness scoring and agent feedback loop","description":"Score completed tasks by their actual impact on the system:\n\n1. For each completed task, measure:\n   - Code delta: lines added/removed (net meaningful changes)\n   - DB delta: rows added to key tables (hypotheses, edges, papers, etc.)\n   - Site impact: did any page status change (404->200, 500->200)?\n   - Knowledge growth: new KG edges, new hypotheses, new papers linked\n   - Resource cost: tokens spent on the task (from resource_usage)\n2. Compute task_effectiveness_score = impact / cost\n3. Track per-quest effectiveness: which quests produce the most value per token?\n4. Feed back into task priority: quests with high effectiveness get priority boosts\n5. Identify anti-patterns: tasks that churn (modify same file repeatedly), tasks that break other tasks\n6. Store in task_effectiveness table and display on /senate\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":84,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T22:35:00.067048+00:00","updated_at":"2026-04-16T22:35:00.067048+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":"any","payload_json":"{}"},{"id":"793f514e-eed1-4804-a03d-f7d3bfd894f4","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"done","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T05:14:32.211821+00:00","updated_at":"2026-04-17T05:14:32.211821+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{}"},{"id":"759b089c-b8dc-4ac9-986c-2a460fc15c97","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.\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":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T22:48:15.057662+00:00","updated_at":"2026-04-16T22:48:15.057662+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/759b089c-b8d_senate_automated_quality_gates_flag_hyp_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}}"},{"id":"ba306a0a-26e9-4938-ba38-77586ab90f24","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03T05:47:57.524948","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cd2d8e45-3166-4108-b241-c1006377b59b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 13:37:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8dc86e81-a452-4752-8b96-fe0af4fcdf28","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 13:56:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9d9249e1-c2d8-42c1-bfcb-d7ebc5f4c58a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 14:56:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5ec07d71-abd7-4f31-af87-84ddbafd6077","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 15:17:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"815d5c26-4cc3-4d11-9bd9-3d8bd1406d7b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:13","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"74b3ab8d-01cc-4823-ad88-14e0390b2bf2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 15:26:54","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bde1497d-7c61-4587-86e3-8d830afd7f59","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:17:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0c829e53-0be4-42c1-bac9-4cecab6cfbd7","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:19:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5b38adbf-66d2-4c31-b877-719c75aab9d9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bdb14b8b-8124-4ee8-9a39-8fd95ca5c992","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:56:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a02fb5cb-dca8-4bc8-a93d-93cef25a7c0b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 16:56:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a76e5966-15ec-4d56-83d9-c6a7bccdf159","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:10:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"369ee05b-c11c-4e40-b097-133761ebf8da","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:35:00","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b9e0d2bd-fa57-4a9f-a1ad-9a132d775f2e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 17:37:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8cfb3b00-57c1-4e91-96e3-a7321a61a3c7","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:13:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8e077b85-61d9-479e-ac66-4eb4882f0223","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:19:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"88cad675-47b1-4fb7-a0ab-6e07ae3e2ca6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:29:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8215a599-ede8-4395-95cf-4cba3e8b9c1f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:35:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3b493538-3ab1-4253-a7b7-7fd39d7eea9c","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:39:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c9ffcac4-42cf-4f5b-843a-cb419f989328","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:44:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"86557c89-e30b-4927-aa22-c9462175ec4f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:51:20","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2afc6401-67a0-41f0-a783-11cdf7a6a6e8","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 18:56:20","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c12639db-eac8-4e7e-b89e-f0cd39efbd4e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:02:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"99bfc0d8-5cac-4ae2-a276-4fbea123565c","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:10:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"963acecf-bb85-4d68-a820-27d18b9a3f75","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:15:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"370f2876-a557-4a18-bccc-5c57fcc1b5fa","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:18:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0b429b64-0b77-4896-a59e-6fac23b911c2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:23:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ea66b89a-d716-47c4-abc2-219facb60a43","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:28:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ad75d2d4-0f0c-4d55-b6c0-29e9fe56079e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:38:30","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a06d91dd-8d84-4eb2-b5e4-7a97d55aef3f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:41:24","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bc352207-9fc9-48d3-bbc0-326e93984203","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:47:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e55e3c2c-9779-4334-8dae-c140e0a9378c","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 19:55:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9bba74e9-4e2b-4983-be9a-c8ebedbabfd6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:00:03","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"52ca3f50-a977-40dd-a4ef-cc0816e0b85e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":"2026-04-02T20:05:47.698895+00:00","completed_at":"","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"abac4ef7-8a00-44b2-9444-3ec02ea6b7f1","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:09:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"550554eb-8f23-4cd2-bc78-a742900e6100","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:20:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"65949b97-5ae9-4502-ba14-b20b24b2f29d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:20:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"28fb0918-099e-4790-ac3b-e06c5b3a0b11","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:31:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ba72b715-5c18-43bf-ab92-017518779d9e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 20:55:34","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7221edb5-b935-4750-a188-7e7d09f24b09","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"15","started_at":null,"completed_at":"2026-04-02 21:05:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"020cfd65-aa75-4ecf-a90e-a2b59494ce73","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:14:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ed712ed6-9276-46e5-9dfd-5140dc78d24e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:22:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e0b1fcf0-45ea-4fad-ba81-b8912edf5235","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:26:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4d215c00-9de1-4369-8c04-e3fd1581d372","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:37:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e4dfa867-f901-4936-bf57-d66de3ecf629","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:39:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d4d38034-58c9-4e16-927f-f76081e08a52","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:49:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"360d8feb-f230-4969-810a-3f105efd4605","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:51:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a23a8084-4aeb-4cf3-89cc-0e7bf0063c36","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 21:57:20","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"274e6ee2-7472-4da7-90c0-52c118873d6c","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"21","started_at":null,"completed_at":"2026-04-02 22:07:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"24a0eb4d-e1d4-4eb9-8e8d-58b03d0133c6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:06:06","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"02789e3e-313e-4592-8cae-0a9bbf6cc679","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"21","started_at":null,"completed_at":"2026-04-02 22:18:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"351ce61f-e7da-4a40-91a9-8b1a9879e867","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:15:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ee5df81d-4583-440c-8ec1-798a3302b979","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:27:03","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"45e8bd8f-300f-46e5-a7d8-b6c90cf3672d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:27:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6b25a3a6-adec-4886-9067-084124dcdd21","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:34:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4fee642c-f8d2-48c8-9769-f7b753876c25","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:44:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"74d14d5a-3819-401d-b271-fec452a9e8d4","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:48:45","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9f79d1cb-b4fc-43c8-92da-9a7b8e54984d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"22","started_at":null,"completed_at":"2026-04-02 22:50:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"15b63b15-728f-4804-b009-d197ba566105","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 22:58:37","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c7eeef6d-365c-4206-afed-fc1f09de9617","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:00:38","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eb61c2ed-bb80-45bb-ab3c-589e6e62c64d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:11:44","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"18ef480a-07a0-4f66-b57d-326432396172","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:13:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cc65d3e5-c8ef-4093-b26e-1ae97cf59404","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:15:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d7695312-40a6-42b6-85fe-35bc1d7598ba","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:24:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a89f5c5a-c213-4df2-9e2d-50ef1b632237","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:40:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fcb29475-9de1-40e5-b122-915c48e65767","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:51:54","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cb506aec-153c-4748-9b24-75226b68e88c","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:58:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"09a6dc5c-61ed-49ef-b615-8be6a9b3c229","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:11:19","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6802f0fe-cd9b-45df-9b6a-b1fa026d3dcd","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:11:27","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b4f7f3c3-62bc-4cca-8d0b-f2f6cb0f247d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:15:51","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"722ae241-bdaa-4246-9489-afb1d69af36e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:21:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"00461493-f310-4fcf-ace9-72180efd48b2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:32:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a30a2ecd-f161-4405-9bec-aba61de9c0fc","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:37:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f49f1756-5651-4a9d-bcac-a848ec3505d8","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:48:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e23da8c4-4652-48cd-98ce-d2ead4073222","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:53:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"565bec9a-e1b1-464c-b8a6-69e01257e0de","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 00:59:19","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f6916785-96ee-4a3d-a0e8-c3fdf96d62cf","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:01:50","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"40643e5d-11d9-4164-8145-90968e8ee8e9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:10:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"37ecfc6b-5221-4c91-be8e-a3d99593a561","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:20:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ee169c66-59ff-47c7-823c-68c9e08cae53","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:18:08","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5aa8d2fb-ef68-4765-baab-23722c56c217","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:27:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fcba621f-b37c-458d-9d61-98d468a77e26","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:33:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2e1f2345-7dc8-4491-be46-8f00f3499959","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:38:57","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"78b6bafc-2841-4e82-8b05-b03799a8b0e5","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:46:28","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e0c94144-830a-4ee9-9fbe-315206be0b41","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:45:42","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"51609e60-d6dd-42c7-810b-4a61dc0e2451","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:51:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f3f5cc76-c79f-451b-83c6-0a3a5dda7998","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 01:56:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c662a9d5-4ea3-4cc9-9615-248f20567fb4","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:05:00","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b07f8e9d-eb4a-4d5b-9cb9-d83ae7baeac1","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:10:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b921cc23-2149-433f-bf89-e076fddd894b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:17:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2ac5f9d2-14b3-4903-b6cc-f1368491bcbe","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:32:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b3e60f1b-ece4-4103-929e-374e8413b04b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:38:28","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0952b86a-9465-41e6-b08c-f78234dc1b62","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 02:50:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"df98d234-0567-4591-b1f9-3b18af702726","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:00:02","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e071ba7a-a672-4708-9720-5c16eb6729cc","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:06:34","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7f8a00b9-b2e1-48c9-b9bd-17bd122a647d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:07:54","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"03aa648d-2061-487b-b003-b3d5bdd7babe","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:22:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2d4d94ba-b59c-4367-a1e3-2e72ce9cbb69","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"05c2e449-6a58-4b21-8df8-ebd57d9e7bc5","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:53:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a91b34cf-a863-41fc-aa1f-2ab17a0ca1f2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"64acd56e-c9a0-415e-9264-4a62f60a220e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:54:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7e80e4ac-a1c9-4cb7-8568-e6e19676bd66","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:55:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8f2ee5cc-25a7-402b-946e-92fa5864b9cc","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:57:12","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d25a240c-5ad1-4c6c-950d-4bfc9ad898cc","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:57:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"aadfb7fa-2934-40a1-98d7-59c7130893cd","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 03:58:56","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2e109678-65a6-4b12-b52e-6b3554514f02","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:00:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"82d70575-9e6f-4268-b7ca-9351703ba91a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:21:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f179ef48-393c-4bf6-b6d2-5dc856855d35","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:22:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4c70b51e-5167-4ea5-824b-4e22a3636b30","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:40:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"595fdc80-3706-4924-b28c-b88bebb3e171","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:38:29","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b39bdb27-b557-4452-9fa7-a77b436e4d7e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:41:46","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6d192998-9585-475c-a4e0-439c76a5a670","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:52:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"09386643-83d6-43bf-9891-5cb62df83d97","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:54:35","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9c24ca96-5821-4a9b-a879-bd5e81fad193","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:56:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4174f7b5-4eb5-4dfb-83f6-3a25ebcb26ec","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 04:59:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"70775336-e536-4ecb-a4af-0227b281dcd4","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:02:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cb4238cb-97eb-4783-a610-cb9fc6370ad6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:02:26","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fad62444-2827-46a1-bcb1-c9d98b764fc0","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:03:36","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f8099268-fa33-43c7-bed3-a819dd80ab18","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:14","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"785b948b-927c-47e7-98ab-b38078f1f527","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:05:49","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"28ef7390-9391-4d20-a8f5-079a1a220b6d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:06:40","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b4798fc1-abfa-4be5-9306-3fbe17f9bf8d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:08:55","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c5f93474-2454-4221-b4a1-afaf51482bc1","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:11:53","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ab83769b-c91a-4b01-8ab9-3a6319a9f010","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:11:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ec6555da-ab9a-4bc7-8768-1eb6cc136d95","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:18:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c4bba911-8935-4815-af91-13dc32b85abe","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"369cfa3b-1f3c-4683-8306-5ce641886822","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:20:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2c2bb6df-74f8-4602-8d60-0bf49def38ba","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:21:24","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a4391f28-c5c4-42e4-9a22-020a3d058b78","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:22:10","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"64f9d56d-ca32-4437-8b95-18dee5fba7e9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:24:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a8c60f4-a72d-4cbc-8914-7c068a65142a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:26:04","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"36ab839f-2dce-425f-b08c-d112b31fe165","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:27:41","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c275b3e6-9d08-4f45-a641-bf79dbbbed2e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:32:46","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"364cce07-179b-40f4-8c4b-1471193a6af8","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:29:19","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f18a6985-8cfc-422c-9c49-fa35a29d2278","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:31:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2b336054-7fa8-4332-9234-fe16f2c9f26a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:43:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1d0e792e-33db-4121-bf35-8ba499722f8e","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:46:30","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"846b56b2-1793-4b1b-a1fa-a6668f2dbb65","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:48:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"50340430-b456-45d4-a171-817e752f6e3b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:57:05","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d546b857-2cb6-489c-8c44-fc69f5f9cd12","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:05:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b3bfee71-f248-4d61-bf38-55787c1231a7","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:58:16","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c98d32ac-1bd2-48bd-a0d4-167a38f15db5","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 05:59:18","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bbaec0a9-36ea-465c-8e6d-0b569da4ce24","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:00:08","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"942978f7-8e8b-4e3d-b4d9-2f7ed69f6908","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:01:58","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"17fe303d-f88e-418d-a606-4ea99131d318","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:02:43","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"16465cd6-45ac-49c1-8b07-1bd9fa3038e2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:04:44","updated_at":"2026-04-03 15:54:29","summary":"Already done: Quality gates API, gate_flags column, auto-enforcement all implemented","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1923ba54-2d28-4106-8074-ebc78e312a4f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:06:27","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"275d3f01-fd12-40c0-9049-c86897fa1307","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:06:22","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"82408696-eb9d-49da-8f98-cec7722baa0b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:07:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e53f8d37-70d4-4f72-a87a-6ad6814c5eee","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:09:07","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"44b0e30e-af88-422d-836c-ba70ec307eae","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:10:52","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"473ca162-4588-4ebf-85d2-fbf13785dfd9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:11:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4b22b311-4c45-45df-8d48-bb4e4bd0d508","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:12:15","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"87e21126-7076-4b47-8e63-1be183344d59","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:14:25","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4f03e600-2da4-41a6-a213-4263d1fa9fe9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:15:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8189980a-7a78-4230-aff8-c4230ea85ae2","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:18:01","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"83142051-ff0c-4571-a9d4-81211f6f23f3","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:17:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a22a634-3a3f-4f28-b742-7bc024d4b8e4","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:21:42","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e073cfe5-228e-43eb-9671-caac21418849","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:25:21","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"971c08dc-b9d1-424a-bcf4-a7fdd4310a99","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:26:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f24b7344-a8a4-40d8-8747-22966bdaec7f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:27:03","updated_at":"2026-04-03 15:54:29","summary":"Verified complete by slot 1","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d52157c1-27db-4dc7-86a1-4d4eb60162b3","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:27:33","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d2cfde2d-d79e-4fef-9228-52b11f85228b","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:28:09","updated_at":"2026-04-03 15:54:29","summary":"Verified complete by slot 1","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1c30364e-fb90-4f0a-872d-1f1b9a6234fb","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:38:03","updated_at":"2026-04-03 15:54:29","summary":"Verified complete by slot 1","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"372c89f8-c236-46c7-b730-95f29e7c8ca6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:32:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"42be6c86-3eab-410d-9268-bb472a0919b6","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:37:46","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a4f13ad1-c460-4b0f-ae2a-d9a7da7fce14","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"2","started_at":null,"completed_at":"2026-04-03 06:45:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0ff682c1-90d8-47b3-bec7-9c67014d1406","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 06:58:17","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5155fddf-7e1b-47cc-8c18-199f103d1dcb","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:05:30","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4e0bc461-36b3-44be-ae09-8307a9ae9a2a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:06:19","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"22f00994-2ef8-449f-a9c6-dd1dc5af2ff5","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:13:07","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9ec2b08c-3114-4780-9854-967b7f036259","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:30:48","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c10699b2-6db8-4b64-af06-7c30efba7bc9","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:35:09","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e102e815-df2d-40cd-8034-9fe0cb87dad1","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:33:47","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"55d2426f-c002-44e0-8b31-579fb13ead6f","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 07:41:32","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c87d4351-d3e2-486b-9ea4-47ed31705d85","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:21:55","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1955cced-5013-4da1-8916-7b63ae99462a","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:25:54","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"37e1b66a-ea7a-46b1-99d2-3cb54fe243a7","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:44:20","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3988ef7b-95ae-4e86-8658-3998d3469626","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:44:39","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4d7e7210-e31e-4791-9a9a-c993a4a81c6d","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:52:59","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"775c561b-165b-4beb-abcf-5b486bbe2e53","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 09:59:11","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1f4e6d01-17d1-4e8f-8b7b-841b142a1d12","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 11:39:55","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"332e7593-b784-4524-a660-c83ccdbcaac1","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-03 11:41:03","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"07b1db82-ae03-4dc0-93d8-1d5549d69040","title":"[Senate] Automated quality gates — flag hypotheses with missing evidence or low scores","description":"Create automated quality checks: hypotheses without evidence, debates without synthesis, analyses without KG edges. Surface on /senate.","status":"archived","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-03 15:54:29","summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4acdb148-2985-41d9-aeb7-161a16f03d8d","title":"[Senate] Backfill historical resource usage from debate_rounds","description":"The debate_rounds table already has tokens_used per round. Backfill resource_usage:\n\n1. For each debate_round, create a resource_usage entry with: entity_type=analysis, entity_id=analysis_id, resource_type=bedrock_tokens, amount=tokens_used, model_id from the round\n2. Sum tokens per analysis and update analyses table with total_tokens_used\n3. Sum tokens per hypothesis (through analysis linkage) and estimate per-hypothesis cost\n4. Also backfill from agent_performance table (83 rows of historical data)\n5. Create summary view showing cumulative resource consumption over time","status":"done","priority":83,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:26:25","updated_at":"2026-04-02T06:20:06.202073+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"758016bf-ebcd-4a73-be2b-6fe910d76e74","title":"[Senate] Add wiki_quality_scores migration script","description":"Create migrations/add_wiki_quality_scores.py that creates the wiki_quality_scores table (if it doesn't exist) with columns: id, slug, scored_at, h1_intro, h2_prose_ratio, h3_depth, h4_crosslinks, h5_wikipedia, h6_completeness, composite_score, word_count, issues_json, improvement_plan, scorer_version. Add indexes on slug and composite_score. The table definition matches the CREATE TABLE in scripts/wiki_quality_scorer.py. Run the migration at the end of the file if __name__ == '__main__'. Add a work log entry to docs/planning/specs/q-wiki-quality_spec.md noting the migration was created.\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:03:24.634447+00:00","updated_at":"2026-04-17T10:03:24.634447+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-wiki-quality_spec.md","provider":"codex","payload_json":"{}"},{"id":"5235fc5a-885c-4392-93df-0fd591775df0","title":"[Senate] Add market proposal governance mechanism","description":"Governance for proposing new market types: propose → vote (reputation-weighted) → approve/reject → auto-create markets. Token cost for proposals, quorum requirements. See docs/planning/specs/market_proposal_governance_spec.md\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T08:11:20.264802+00:00","updated_at":"2026-04-17T08:11:20.264802+00:00","summary":"","completion_notes":"Verified complete: tables exist (market_proposals, proposal_votes), all endpoints present (POST/GET /api/market-proposals, vote, activate), /senate/proposals page renders, commit 92bbbdea8 is on main. Task was completed by prior agent - table initialization was the missing piece that previous work correctly identified and fixed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5235fc5a_885_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"completion_shas\": [\"92bbbdea8687dafe21321a14e0ae3a2f73e2ed95\"], \"completion_shas_checked_at\": \"2026-04-17T08:11:20.251589+00:00\"}"},{"id":"390f4d5f-2c7b-4257-840e-ac11b42c891d","title":"[Senate] Clean up failed analyses and malformed debate data to reduce quality gate flags","description":"\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T08:01:14.920853+00:00","updated_at":"2026-04-17T08:01:14.920853+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/390f4d5f_2c7_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"reasoning\": 7}}"},{"id":"51732b3e-5680-43a9-b971-3665c14deb30","title":"[Senate] Backfill convergence scores for 50 unscored hypotheses","description":"50 hypotheses have convergence_score=0. Calculate convergence based on KG connectivity, evidence overlap with related hypotheses, and citation quality.\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T06:13:57.691879+00:00","updated_at":"2026-04-17T06:13:57.691879+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/51732b3e_568_spec.md","provider":"any","payload_json":"{}"},{"id":"9fa5956f-0563-4421-806a-5d39e1cbc9e8","title":"[Senate] Add user feedback mechanisms across all SciDEX pages","description":"Enable human feedback on all content:\n- Add feedback widgets to hypothesis detail pages (upvote/downvote, comments)\n- Add feedback on wiki pages (suggest edits, flag errors, add notes)\n- Add feedback on analyses (rate quality, suggest improvements)\n- Create feedback table: id, actor_id, entity_type, entity_id, feedback_type (vote/comment/flag/edit_suggestion), content, created_at\n- /api/feedback endpoint for submitting and querying feedback\n- Show feedback counts and recent comments on detail pages\n- Feedback from humans should influence hypothesis scoring over time\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T05:36:31.772362+00:00","updated_at":"2026-04-17T05:36:31.772362+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":"any","payload_json":"{}"},{"id":"23a6a827-5769-4767-9f6d-6bf701377e2f","title":"[Senate] API audit — ensure all data is accessible via JSON endpoints","description":"Audit and create missing JSON API endpoints:\n- /api/hypotheses — list/search hypotheses (JSON)\n- /api/hypotheses/{id} — hypothesis detail (JSON)\n- /api/analyses — list analyses (JSON)\n- /api/analyses/{id} — analysis detail (JSON)\n- /api/wiki — list/search wiki pages (JSON)\n- /api/wiki/{slug} — wiki page detail (JSON)\n- /api/edges — knowledge graph edges (JSON)\n- /api/papers — papers list (JSON)\n- /api/debates — debates list (JSON)\n- /api/skills — skills/tools list (JSON)\n- /api/gaps — gaps list (JSON)\nAll endpoints should support pagination (?limit=&offset=), filtering, and sorting.\nThese APIs enable: external clients, search indexing, mobile apps, agent tooling.\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T05:33:21.311009+00:00","updated_at":"2026-04-17T05:33:21.311009+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":"d18109b2-20ac-49eb-9cc7-06f542e59592","title":"[Senate] Build rollback and version control for all content","description":"Enable reverting mistakes across all content types:\n- Store full snapshots in edit_history diff_json (before/after state)\n- /api/rollback endpoint: given edit_id, restore previous state\n- Confirmation UI before rollback executes\n- For hypotheses: revert score, evidence, metadata to previous version\n- For wiki pages: revert content_md to previous version\n- For KG edges: restore deleted edges, remove added ones\n- Use git history as secondary audit trail for api.py and script changes\n- Show \"Revert\" button on edit history entries\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T05:25:16.849704+00:00","updated_at":"2026-04-17T05:25:16.849704+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":"any","payload_json":"{}"},{"id":"1f6ad36e-0df7-4654-8513-2cc0ef7fc072","title":"[Senate] Implement convergence scoring for the overall system","description":"Compute and display: hypothesis coverage by disease area, evidence quality distribution, KG completeness metrics, agent productivity trends. Show on /senate.\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T23:46:00.159699+00:00","updated_at":"2026-04-16T23:46:00.159699+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":"any","payload_json":"{}"},{"id":"fd00fcd3-2e0a-4dc8-8b82-76f6c2fdc37d","title":"[Senate] Knowledge growth rate tracking and trajectory","description":"Track the rate of knowledge growth to ensure the system is converging, not stalling:\n\n1. Every hour, snapshot: analyses_count, hypotheses_count, kg_edges_count (valid only), \n   papers_count, wiki_pages_count, causal_edges_count\n2. Store in knowledge_snapshots table (timestamp, metric, value)\n3. Calculate growth rates: edges/hour, hypotheses/hour, papers/hour\n4. Detect stalls: if growth rate drops below threshold for 2 hours, alert\n5. Detect regression: if any count decreases, investigate (data corruption? bad migration?)\n6. Track quality-adjusted growth: only count edges with non-empty source/target, hypotheses with citations\n7. Display growth chart on /senate with trend lines\n8. Project: at current rate, when will we hit 1000 hypotheses? 10,000 edges? 100 analyses?\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":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T23:30:08.796937+00:00","updated_at":"2026-04-16T23:30:08.796937+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dfd2bd72-a60d-4f2c-ae7f-087e1ea8dca1","title":"[Senate] Route health check — test all FastAPI routes for 500 errors","description":"Test every registered FastAPI GET route for HTTP 500 errors. Run ci_route_health.py which extracts routes from app.routes, curls each GET route, and logs 500s to route_health table. Complements the existing link checker by catching orphaned routes, broken templates, and None-in-f-string errors.","status":"archived","priority":80,"task_type":"recurring","frequency":"every-8h","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T11:31:57.259152+00:00","updated_at":"2026-04-16T19:47:42.900032+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":"/home/ubuntu/scidex/.claude/worktrees/task-48c4932c-c441-44b4-8535-2f27c85128d3/docs/planning/specs/1771ac79_dea_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 3}, \"completion_shas\": [\"27840ec0933acb688cf1082ddfa570bd4912a98f\"], \"completion_shas_checked_at\": \"2026-04-13T01:55:50.218827+00:00\"}"},{"id":"0bd87fd8-f1e9-48f9-9edd-6b74b57903f2","title":"[Senate] Site health check — verify all main pages render correctly","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCurl all main routes (/dashboard, /hypotheses, /analyses, /wiki, /exchange, /forge, /atlas, /senate, /demo). Report and fix 4xx/5xx errors.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-11T09:42:04.244690+00:00","updated_at":"2026-04-11T09:42:04.244690+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"analysis\": 5, \"safety\": 7}, \"completion_shas\": [\"73b31e6be1c3ed688942e35c6600f057e25caa0e\"], \"completion_shas_checked_at\": \"2026-04-11T09:42:03.929319+00:00\"}"},{"id":"340d5ea2-9f9d-4489-abdd-4f3098793f56","title":"[Senate] Site health check — verify all main pages render correctly","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCurl all main routes (/dashboard, /hypotheses, /analyses, /wiki, /exchange, /forge, /atlas, /senate, /demo). Report and fix 4xx/5xx errors.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":null,"started_at":null,"completed_at":"2026-04-09 20:58:58","updated_at":"2026-04-09T20:53:33.595906+00:00","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\": 8, \"reasoning\": 8, \"analysis\": 8}}"},{"id":"aa34f751-b015-403a-8d95-e4da81919f2a","title":"[Senate] Site health check — verify all main pages render correctly","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCurl all main routes (/dashboard, /hypotheses, /analyses, /wiki, /exchange, /forge, /atlas, /senate, /demo). Report and fix 4xx/5xx errors.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-07 01:04:46","updated_at":"2026-04-06T14:20:01.637258+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}}"},{"id":"ef6f8785-3290-4647-8885-34fa541baf40","title":"[Senate] Site health check — verify all main pages render correctly","description":"Curl all main routes (/dashboard, /hypotheses, /analyses, /wiki, /exchange, /forge, /atlas, /senate, /demo). Report and fix 4xx/5xx errors.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-04 09:03:57","updated_at":"2026-04-04T09:02:27.416130+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}}"},{"id":"d5cc6ada-a31d-448e-bc3d-b7acebb1cae8","title":"[Senate] Allocation proposals and governance mechanism","description":"Build the proposal system for requesting more resources:\n1. Create allocation_proposals table: id, entity_type, entity_id, proposer_agent, requested_tokens, justification, evidence_pmids, status (pending/approved/rejected), created_at\n2. Auto-generate proposals when: a hypothesis score rises significantly, new evidence is found, a knowledge gap is partially filled\n3. Senate governance: proposals need evidence threshold (>= 2 PMIDs) and justification quality score\n4. Add /api/proposals endpoint and /senate/proposals UI\n5. Implement approval logic: auto-approve if evidence_strength > 0.7, queue for review otherwise","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:54:34","updated_at":"2026-04-02T06:16:15.294208+00:00","summary":"","completion_notes":"","last_error":"Worker lease expired (30m); requeued","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"60437d56-6df4-4e97-b2f1-0eb5598a3f83","title":"[Senate] Implement quality gates for new analyses","description":"Add quality gate checks in post_process.py: (1) evidence gate: hypotheses must cite real PMIDs, (2) score gate: composite scores must be 0-1, (3) specificity gate: hypotheses must name specific genes/proteins. Log gate results in agent_performance table. Acceptance: gates run on every new analysis; gate failures logged.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 05:38:12","updated_at":"2026-04-02T05:33:43.702740+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"caf93615-1ce2-4563-82db-30564b75a318","title":"[Senate] Agent performance tracking","description":"S5.1: Populate agent_performance table (currently 0 rows). Record per-persona metrics after each debate: quality_score, tokens_used, latency_ms. Backfill from existing debate transcripts where possible.\n\nAcceptance: agent_performance has rows. Per-persona quality trends queryable.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 02:47:27","updated_at":"2026-04-02T02:17:38.974483+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/caf93615_1ce_agent_performance_tr_spec.md","provider":"any","payload_json":"{}"},{"id":"a0bc8d1d-7ef4-4e62-9425-79c942f95c05","title":"[Senate] Build agent activity timeline — visual history of all system events","description":"Create /api/timeline endpoint and /senate/timeline page showing chronological feed of: analyses run, hypotheses generated, debates held, tasks completed, DB changes. Filterable by type and time range.\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":78,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T09:58:40.993821+00:00","updated_at":"2026-04-17T09:58:40.993821+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c0dea932-2b04-4d3e-bceb-5a1e8d1ec057","title":"[Senate] Backfill agent_performance from existing debates","description":"The agent_performance table has 0 rows. Parse all 22 debate transcripts to extract per-persona metrics: token count, quality indicators, evidence citations. Populate agent_performance. Acceptance: agent_performance has rows for each debate persona across all 22 analyses.","status":"done","priority":78,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 05:37:03","updated_at":"2026-04-02T05:33:43.702753+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c2e41376-87e3-42d5-b662-3d2eb7c51c02","title":"[Senate] Quality gates implementation","description":"Implement quality gates in post_process.py: 1) Evidence gate: reject hypotheses with 0 PubMed citations, 2) Score gate: reject composite_score outside 0-1, 3) Specificity gate: reject hypotheses without named genes/proteins. Log rejections to agent_performance table.","status":"done","priority":77,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:13:38","updated_at":"2026-04-02T06:09:46.402005+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"54af1c16-9cf2-4310-a4a8-50c5124345a9","title":"[Senate] KG connectivity scoring for hypotheses","description":"Add kg_connectivity_score per hypothesis: degree centrality of target, pathway connections, neighbor-sharing hypotheses, bridge detection. 11th scoring dimension on Exchange. Acceptance: all 118 hypotheses scored; shown on detail pages; factored into composite_score; radar charts updated.","status":"done","priority":77,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:16:42","updated_at":"2026-04-02T03:05:17.609939+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/54af1c16-9cf_senate_kg_connectivity_sc_spec.md","provider":"any","payload_json":"{}"},{"id":"dcf8f1f1-4a41-4820-b377-2218cce3df29","title":"[Senate] Implement automated quality scoring for completed tasks","description":"After each task completes, auto-evaluate: did api.py pass syntax? were new DB rows added? any 500 errors introduced? Score task quality 0-1 and store in task_effectiveness.\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":76,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:10:15.504818+00:00","updated_at":"2026-04-17T10:10:15.504818+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a0fb31dd-b590-4fa2-9947-2b11a89a8440","title":"[Senate] Populate agent_performance table","description":"agent_performance table has 0 rows. Backfill from debate_sessions - extract per-persona (Theorist/Skeptic/Expert/Synthesizer) quality metrics: token counts from debate_rounds, quality_score from debate_sessions. This powers the /senate governance dashboard.","status":"done","priority":76,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:11:08","updated_at":"2026-04-02T06:05:12.235648","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cae44148-36e7-4018-801e-36e42ed35d8e","title":"[Senate] Database integrity check — verify FK consistency and data quality","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCheck for orphaned records, NULL required fields, inconsistent counts. Fix what can be fixed.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:35:28.364800+00:00","updated_at":"2026-04-17T11:35:28.364800+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/86c48eaa_senate_db_fk_integrity_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}, \"completion_shas\": [\"524baf0cc\"], \"completion_shas_checked_at\": \"2026-04-17T11:35:06.350773+00:00\"}"},{"id":"2324c574-262e-4cf6-8846-89ff1d59ca1e","title":"[Senate] Database integrity check — verify FK consistency and data quality","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCheck for orphaned records, NULL required fields, inconsistent counts. Fix what can be fixed.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:49:58.597883+00:00","updated_at":"2026-04-17T10:49:58.597883+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/aa1c8ad8_f157_senate_ci_database_integrity_check_spec.md","provider":"codex","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 7, \"safety\": 9}, \"_watchdog_repair_task_id\": \"37fad167-17e0-4de0-a961-8f3c950d0411\", \"_watchdog_repair_created_at\": \"2026-04-17T09:07:09.239908+00:00\", \"completion_shas\": [\"bd579f91e\"], \"completion_shas_checked_at\": \"2026-04-17T10:48:39.058065+00:00\"}"},{"id":"86c48eaa-54ff-47ac-921f-25482cf12023","title":"[Senate] Database integrity check — verify FK consistency and data quality","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nCheck for orphaned records, NULL required fields, inconsistent counts. Fix what can be fixed.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:46:29.568770+00:00","updated_at":"2026-04-17T10:46:29.568770+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":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}}"},{"id":"c881d27e-0fe4-454e-9953-2d182913f725","title":"[Senate] Codebase consolidation — merge fragmented scripts into clean framework","description":"Consolidate the growing collection of standalone scripts:\n- import_*.py scripts -> unified import framework with registry\n- populate_*.py scripts -> unified data pipeline\n- migrations/*.py -> ordered migration runner with version tracking\n- recalibrate_scores.py, compute_convergence.py, etc. -> scheduled tasks framework\nCRITICAL: Check all running worktrees and processes before modifying any script.\nCRITICAL: Never delete data or code without verifying it is truly unused.\nCRITICAL: Git commit each consolidation step separately for easy rollback.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:36:45.295030+00:00","updated_at":"2026-04-17T10:36:45.295030+00:00","summary":"","completion_notes":"Audit investigation shows:\n- Migration runner (scidex/core/migration_runner.py) IS on main via package refactor 75f3726af\n- recalibrate_scores consolidation IS on main via 4aba95e37  \n- compute_convergence consolidation IS on main via package refactor\n- BUT no commits with task ID c881d27e exist anywhere in git history\n- Original commits 14ebe07, f54b262, 9366fd0 were never pushed — lost to orphan branch\n- Remaining acceptance criteria (import framework, scheduled tasks registry, data pipeline) require substantial new work beyond original scope","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"completion_shas\": [\"75f3726af\", \"4aba95e37\"], \"completion_shas_checked_at\": \"2026-04-17T10:36:45.272869+00:00\"}"},{"id":"ee6448a7-03a6-43a1-b2e2-6044955ab7be","title":"[Senate] Add convergence monitoring dashboard section — track hypothesis duplication, score drift, and system progress metrics","description":"Add convergence monitoring to /senate: (1) Detect duplicate/near-duplicate hypotheses by title similarity, (2) Track score drift over time, (3) Show global progress metrics (new hypotheses/day, KG growth rate, debate throughput). Surface as a new dashboard section on the senate page.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:35:00.501474+00:00","updated_at":"2026-04-17T10:35:00.501474+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ee6448a7_03a_spec.md","provider":"any","payload_json":"{}"},{"id":"t-kg-modification-log","title":"KG modification audit log","description":"kg_modifications table logs all KG changes with before/after state, contradictions found, approval status. Enables rollback.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:30:10.796054+00:00","updated_at":"2026-04-17T10:30:10.796054+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":"85a95b9b-3b1f-46de-91b4-0d2874b1e976","title":"[Senate] Create governance dashboard for edit review and approval workflows","description":"Build governance mechanisms for content quality control:\n- Edit review queue: show pending edits that need approval (for high-impact changes)\n- Approval workflow: contributor submits -> reviewer approves -> change applied\n- Auto-approve low-risk changes (typos, minor edits by trusted actors)\n- Flag high-risk changes (score modifications, evidence deletions, KG edge removals)\n- /senate/governance page showing pending reviews, recent approvals, flagged items\n- Actor reputation scores based on approval rate and edit quality\n- Make all histories browsable at /senate/history with filters\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:11:30.418034+00:00","updated_at":"2026-04-17T10:11:30.418034+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0fa02ea-cbcd-43e9-830e-3b2d04588286","title":"[Senate] Add task quality review — auto-evaluate completed task outputs","description":"For completed tasks, check: did api.py syntax pass? did new content get added to DB? are there undefined variable errors? Score task quality 0-1.\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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T07:46:42.032104+00:00","updated_at":"2026-04-17T07:46:42.032104+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":"any","payload_json":"{}"},{"id":"d1c846c1-a58a-4999-8a35-149ea9e02b14","title":"[Senate] Resource ROI dashboard and optimization","description":"Build analytics for resource allocation effectiveness:\n1. Calculate ROI per hypothesis: (KG edges gained + evidence citations + score changes) / tokens spent\n2. Calculate ROI per analysis: (hypotheses generated * avg quality) / total debate tokens\n3. Identify underperforming allocations (high spend, low output)\n4. Identify high-potential underfunded areas (strong evidence, low allocation)\n5. Add ROI metrics to /senate dashboard\n6. Generate reallocation recommendations","status":"done","priority":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:19:57","updated_at":"2026-04-02T06:16:15.294208+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d167fe72-0b24-47fd-9b19-a261cd67ee19","title":"[Senate] Quality gates for hypotheses","description":"S5.2: Implement three quality gates in post_process.py:\n- Gate 1 (Evidence): Must have evidence_for citations\n- Gate 2 (Score): composite_score > 0.3\n- Gate 3 (Specificity): Must name a target_gene\nOnly hypotheses passing all 3 gates show on Exchange by default. Add toggle to show all.\n\nAcceptance: Exchange filters unverified hypotheses by default. Toggle reveals them.","status":"done","priority":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:08:02","updated_at":"2026-04-02T01:31:39.948850+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d167fe72_0b2_quality_gates_for_hy_spec.md","provider":"any","payload_json":"{}"},{"id":"1867566b-bdf2-4632-affd-d29f70f3fb8f","title":"[Senate] Automated duplicate task detection and cleanup","description":"Create a script that runs periodically to detect and close duplicate tasks. Use title similarity (>60% word overlap) among open/running tasks. Keep the oldest, close newer duplicates. Also close any P90+ bug tasks that reference endpoints returning 200.\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":73,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:51:53.910350+00:00","updated_at":"2026-04-17T10:51:53.910350+00:00","summary":"","completion_notes":"Task was completed by prior agent. scripts/task_deduplicator.py is on main (commit 509454644). All acceptance criteria met per spec work log.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"05b6876b-61a9-4a49-8881-17e8db81746c","title":"[Senate] Knowledge growth metrics snapshot","description":"Collect and save metrics snapshot, detect catastrophic loss","status":"done","priority":70,"task_type":"recurring","frequency":"every-12h","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T10:53:31.585021+00:00","updated_at":"2026-04-17T13:11:47.889217+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":95,"spec_path":"docs/planning/specs/05b6876b_61a_spec.md","provider":"any","payload_json":"{\"command\": \"python3 /home/ubuntu/scidex/metrics.py\", \"timeout\": 120, \"working_dir\": \"/home/ubuntu/scidex\", \"success_exit_codes\": [0], \"completion_shas\": [\"edebeceff11ea7a16e3d899f34962fda9df920b0\", \"8b402af230b7c4aa6678eedbcb1b7071e1119a06\"], \"completion_shas_checked_at\": \"2026-04-12T23:43:00.613924+00:00\", \"completion_shas_missing\": [\"0f2b678030ca6de51dbc1f29c998b112099e087b\", \"509a11c74650c018f6075b147267aa112623f96f\", \"4bf3806be46a288284e4817eeb3caea5738ae1a9\", \"85b82ce018dafff7b7ada6f792fbe61a56f79fc3\", \"323a78af43711be43fe10366247bff7e16e0a7a8\", \"5af997a88f01eaf00715562152fa65bcaf017bc0\", \"f06b2e8fc3fd6294669f2ca6cbdc1601788983a9\"], \"_watchdog_repair_task_id\": \"8e4be26c-41b1-4114-b1c2-9f784afef9d6\", \"_watchdog_repair_created_at\": \"2026-04-17T13:09:19.869331+00:00\"}"},{"id":"b68277b4-52c1-4352-bd73-41f241cbefc2","title":"[Senate] Add site/figures to gitignore and fix figure_generator DB commit","description":"\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":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:51:55.586739+00:00","updated_at":"2026-04-17T11:51:55.586739+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/b68277b4_52c_spec.md","provider":"any","payload_json":"{}"},{"id":"19160b37-f223-4ae5-81e7-fa73449b15be","title":"[Senate] Implement external agent registration and API access","description":"Allow external AI agents and services to interact with SciDEX:\n- External agent registration: generate API keys with scoped permissions\n- Rate limiting per actor (token bucket algorithm)\n- API authentication middleware for all write endpoints\n- Webhook system: notify external agents of new hypotheses, analyses, etc.\n- OpenAPI spec generation for external clients\n- Usage tracking per external agent (tokens consumed, edits made)\n- /senate/actors page listing all registered agents and users with activity stats\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":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:42:58.139843+00:00","updated_at":"2026-04-17T11:42:58.139843+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c461cbaa-879e-45c6-b47d-0ae33f34b63f","title":"[Senate] Periodic quest-resource cross-review — auto-correlate task output with resource costs","description":"Create a recurring mechanism that cross-references Quest 6 (Resource Economics) with Quest 12 (Quest Tracking):\n- For each completed task, estimate tokens consumed and correlate with resource_usage table\n- Compute cost-per-task and cost-per-quest metrics\n- Flag quests with high cost but low output (potential waste)\n- Flag quests with high output but low cost (efficient, should get more resources)\n- Store cross-review results in quest_resource_reviews table\n- Display on both /quests and /resources pages\nThis should run as a periodic task (daily or after every N task completions).\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":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-17T11:31:12.717116+00:00","updated_at":"2026-04-17T11:31:12.717116+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":"any","payload_json":"{}"},{"id":"8ba4a2bd-7219-4152-966c-f1060749696a","title":"[Senate] Failed analysis tracking","description":"S5.3: Handle orchestrator failures gracefully. If Claude errors, JSON parsing fails, or 0 hypotheses extracted, set analysis status='failed' with failure_reason. Add failure_reason column to analyses table. Show failed analyses separately on index.\n\nAcceptance: Failed analyses tracked, not silently lost. Failure count on dashboard.","status":"done","priority":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:04:12","updated_at":"2026-04-02T02:17:38.974483+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8ba4a2bd_721_failed_analysis_trac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}"},{"id":"5c3db5c6-6cbe-46ff-8a8e-f5e98180a999","title":"[Senate] /senate governance dashboard","description":"S5.4: Add GET /senate to api.py showing: agent performance over time, quality gate pass/fail rates, failed analyses with reasons, system health (analyses/day, hypotheses/analysis, edge growth rate).\n\nAcceptance: /senate page shows governance overview with real data.","status":"done","priority":65,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:03:55","updated_at":"2026-04-02T02:17:38.974483+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5c3db5c6_6cb_senate_governance_d_spec.md","provider":"any","payload_json":"{}"},{"id":"58b85979-11ce-4375-813b-f36afb7ac570","title":"[Senate] Event bus population - emit events for key system actions","description":"events table has 0 rows. The event_bus.py module exists but nothing emits events. Add event emission to: new analysis creation, hypothesis scoring, KG edge addition, tool invocations. This enables the Senate to track system activity.","status":"done","priority":64,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 06:12:57","updated_at":"2026-04-02T06:05:12.235648","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e57a285f-fa23-41d7-80d4-802cc03b7f17","title":"[Senate] Gap-to-KG alignment dashboard","description":"Enhance /gaps to show KG context per gap: involved entities, existing edges, missing edges, resolving hypotheses. KG coverage percentage. Acceptance: entity tags shown; coverage metric; sortable by coverage; resolved gaps show new KG edges produced.","status":"done","priority":62,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:25:33","updated_at":"2026-04-02T03:05:17.609939+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e57a285f-fa2_senate_gap-to-kg_alignmen_spec.md","provider":"any","payload_json":"{}"},{"id":"05edda25-15b5-4e3e-bafa-4a711a356ec3","title":"[Senate] Self-evolution feedback loop","description":"S5.5: Every N analyses (default 5), run self-evaluation: aggregate agent_performance, identify weakest persona, adjust its system_prompt. Store prompt versions in prompt_versions table.\n\nAcceptance: After 5 analyses, system logs weakest persona and tries improved prompt. History queryable.","status":"done","priority":55,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-02 03:07:56","updated_at":"2026-04-02T02:17:38.974483+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/05edda25_15b_self_evolution_feedb_spec.md","provider":"any","payload_json":"{}"}],"reviews":[{"task_count":3,"total_tokens":150000,"total_cost":0.45000000000000007,"output_score":22418.2133,"efficiency_rating":"normal","reviewed_at":"2026-04-17T11:29:14.374711+00:00"}],"effectiveness":{"task_count":3,"total_lines_added":0,"total_lines_removed":0,"total_files_modified":0,"total_hypotheses":1004,"total_kg_edges":662370,"total_papers":15281,"total_tokens":150000,"total_duration":819155.287854,"avg_impact":1120910.6666666667,"avg_effectiveness":22418.213333333333},"spec_content":"---\ntitle: \"Quest: Senate\"\ndescription: \"Governance & quality gates — agent performance tracking, work audit trails, convergence monitoring, quality control. Includes agent registry, task accountability, output verification, and governance d\"\ntype: quest\nlayer: Senate\npriority: 60\nstatus: active\nquest_id: 58079891-7a5\nspec_path: docs/planning/specs/quest_senate_spec.md\n---\n\n# Quest: Senate\n\n**Layer:** Senate  \n**Priority:** P60  \n**Status:** active  \n**Tasks:** 447 total (73 done, 1 open)\n\n## Vision\n\nThe Senate is SciDEX's governance layer — it ensures quality, accountability, and integrity\nacross all five layers. The Senate operates through three mechanisms:\n\n### 1. Quality Gates (Automated Enforcement)\nMinimum-bar checks that prevent low-quality artifacts from entering the system.\nCurrently covers hypotheses (evidence, score, specificity gates — 639 passes, 158 failures).\nExpanding to all artifact types via q-artifact-quality-markets (exch-qm-05-GATE).\n\n### 2. Schema Governance (Agent-Driven Evolution)\nArtifact schemas evolve through Senate proposals — agents propose changes, debate them,\nand vote. Approved changes generate validated migrations. See q-schema-governance.\n\n### 3. Quality Oversight (Monitoring & Intervention)\nThe unified quality dashboard aggregates market prices, debate outcomes, gate results,\nand usage metrics. The Senate monitors for:\n- Artifacts with declining quality (price dropping)\n- Contested artifacts (active debates)\n- Gate failure patterns (systematic quality issues)\n- Agent accountability (who produces quality vs garbage)\n\n### The Quality Triangle\nThe Senate works with the Exchange (markets) and Agora (debates):\n- **Markets** (Exchange) provide continuous quality signals\n- **Debates** (Agora) resolve quality disputes\n- **Gates** (Senate) enforce minimum standards\n- **Governance** (Senate) oversees the whole system and evolves the rules\n\n### Related Quests\n- **Schema Governance** (q-schema-governance, P88): Agent-driven schema evolution\n- **Artifact Quality Markets** (q-artifact-quality-markets, P92): Market-based quality governance\n- **Artifact Debates** (q-artifact-debates, P91): Debate as quality arbitration\n- **Work Governance** (q-work-governance, P78): Comprehensive work tracking\n\n## Open Tasks\n\n### Current\n- [ ] [Senate] CI: Run site health check and fix broken links (P80)\n\n### Quality Governance (from related quests)\n- [ ] Quality gates for all artifact types (P91) — exch-qm-05-GATE\n- [ ] Schema registry with versions (P88) — sen-sg-01-SREG\n- [ ] Processing step lineage (P87) — sen-sg-06-PROC\n- [ ] Schema proposal system (P86) — sen-sg-02-PROP\n- [ ] Schema validation engine (P85) — sen-sg-03-VALD\n- [ ] Unified quality signals dashboard (P85) — exch-qm-07-DASH\n- [ ] Artifact quality profile dashboard (P84) — agr-ad-05-PROF\n- [ ] Auto-migration generation (P83) — sen-sg-04-MIGR\n- [ ] Domain scope enforcement (P82) — sen-sg-05-SCOP\n\n## Success Criteria\n\n- [ ] Quality gates operational for all artifact types (not just hypotheses)\n- [ ] Schema governance processing proposals through the full pipeline\n- [ ] Unified quality dashboard providing actionable oversight\n- [ ] Agent accountability visible through performance tracking\n- [ ] All open tasks completed and verified\n\n## Work Log\n\n_No entries yet._\n","spec_html":"<div style=\"font-size:0.85rem\"><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h2 style=\"color:#4fc3f7;margin:1.5rem 0 0.6rem;font-size:1.2rem;font-weight:700\">Quest: Senate</h2></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><strong style=\"color:#e0e0e0\">Layer:</strong> Senate  \n<strong style=\"color:#e0e0e0\">Priority:</strong> P60  \n<strong style=\"color:#e0e0e0\">Status:</strong> active  \n<strong style=\"color:#e0e0e0\">Tasks:</strong> 447 total (73 done, 1 open)</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Vision</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">The Senate is SciDEX&#x27;s governance layer — it ensures quality, accountability, and integrity<br>across all five layers. The Senate operates through three mechanisms:</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">1. Quality Gates (Automated Enforcement)</h4>\nMinimum-bar checks that prevent low-quality artifacts from entering the system.<br>Currently covers hypotheses (evidence, score, specificity gates — 639 passes, 158 failures).<br>Expanding to all artifact types via q-artifact-quality-markets (exch-qm-05-GATE).</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">2. Schema Governance (Agent-Driven Evolution)</h4>\nArtifact schemas evolve through Senate proposals — agents propose changes, debate them,<br>and vote. Approved changes generate validated migrations. See q-schema-governance.</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">3. Quality Oversight (Monitoring &amp; Intervention)</h4>\nThe unified quality dashboard aggregates market prices, debate outcomes, gate results,<br>and usage metrics. The Senate monitors for:\n<ul style=\"padding-left:1.5rem;margin:0.4rem 0\"><li style=\"margin:0.15rem 0;color:#bbb\">Artifacts with declining quality (price dropping)</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">Contested artifacts (active debates)</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">Gate failure patterns (systematic quality issues)</li>\n<li style=\"margin:0.15rem 0;color:#bbb\">Agent accountability (who produces quality vs garbage)</li>\n</ul>\n<h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">The Quality Triangle</h4>\nThe Senate works with the Exchange (markets) and Agora (debates):\n<ul style=\"padding-left:1.5rem;margin:0.4rem 0\"><li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Markets</strong> (Exchange) provide continuous quality signals</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Debates</strong> (Agora) resolve quality disputes</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Gates</strong> (Senate) enforce minimum standards</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Governance</strong> (Senate) oversees the whole system and evolves the rules</li>\n</ul>\n<h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">Related Quests</h4>\n<ul style=\"padding-left:1.5rem;margin:0.4rem 0\"><li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Schema Governance</strong> (q-schema-governance, P88): Agent-driven schema evolution</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Artifact Quality Markets</strong> (q-artifact-quality-markets, P92): Market-based quality governance</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Artifact Debates</strong> (q-artifact-debates, P91): Debate as quality arbitration</li>\n<li style=\"margin:0.15rem 0;color:#bbb\"><strong style=\"color:#e0e0e0\">Work Governance</strong> (q-work-governance, P78): Comprehensive work tracking</li>\n</ul>\n<h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Open Tasks</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">Current</h4>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Senate] CI: Run site health check and fix broken links (P80)</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h4 style=\"color:#e0e0e0;margin:1.2rem 0 0.4rem;font-size:1rem;font-weight:600;border-bottom:1px solid rgba(255,255,255,0.08);padding-bottom:0.2rem\">Quality Governance (from related quests)</h4>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Quality gates for all artifact types (P91) — exch-qm-05-GATE</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Schema registry with versions (P88) — sen-sg-01-SREG</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Processing step lineage (P87) — sen-sg-06-PROC</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Schema proposal system (P86) — sen-sg-02-PROP</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Schema validation engine (P85) — sen-sg-03-VALD</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Unified quality signals dashboard (P85) — exch-qm-07-DASH</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Artifact quality profile dashboard (P84) — agr-ad-05-PROF</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Auto-migration generation (P83) — sen-sg-04-MIGR</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Domain scope enforcement (P82) — sen-sg-05-SCOP</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Success Criteria</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Quality gates operational for all artifact types (not just hypotheses)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Schema governance processing proposals through the full pipeline</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Unified quality dashboard providing actionable oversight</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Agent accountability visible through performance tracking</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; All open tasks completed and verified</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Work Log</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">_No entries yet._<br></p></div>","spec_file":"quest_senate_spec.md","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}]}