{"quest":{"id":"d5926799-267","name":"UI","description":"UI/Infrastructure — consistent styling, responsive design, loading states","layer":"Cross-cutting","priority":66,"status":"active","created_at":"2026-04-02T10:00:57.209491+00:00","updated_at":"2026-04-10T14:44:10.355870+00:00"},"tasks":[{"id":"176f084a-7378-46ad-8883-04fc2c979a55","title":"[UI] Extract inline CSS to shared stylesheet","description":"Extract repeated inline CSS from api.py HTML generation into /static/style.css. All pages reference the shared stylesheet. Reduces code duplication and makes styling consistent.","status":"running","priority":45,"task_type":"one_shot","frequency":"","assigned_slot":"995","started_at":"2026-04-25T22:05:27.257224+00:00","completed_at":null,"updated_at":"2026-04-25T22:05:27.257224+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/176f084a-737_ui_extract_inline_css_to__spec.md","provider":"any","payload_json":"{}"},{"id":"49611990-b63e-4776-b633-6b23108fa92b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"open","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"445f3420-931e-4339-a981-a90d49185b0e","title":"[UI] Fix /experiments 500 error and /hypotheses 404","description":"The /experiments page returns HTTP 500 and /hypotheses returns 404. These are core navigation pages that must work for demo quality.","status":"open","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/445f3420_931_spec.md","provider":"any","payload_json":"{}"},{"id":"ee42db51-6055-4dc0-b0a0-8b1de86ebf65","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5464c366-26a1-486a-979a-5247b1586e1e","title":"[UI] Fix orphan checker to use /api/graph endpoint","description":"Update orphan_checker.py check_orphaned_kg_edges() to query /api/graph endpoint instead of grepping static HTML files. Current heuristic fails because graph.html loads data dynamically via JavaScript. Fix: fetch from http://localhost:8000/api/graph, extract node IDs, check if edge source/target exist in returned nodes.","status":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5464c366_26a_spec.md","provider":"any","payload_json":"{}"},{"id":"5f4855c0-4f61-465b-b045-85114b26bf8b","title":"[UI] Add /api/health JSON endpoint for monitoring","description":"Add a simple JSON health endpoint that returns DB connectivity, record counts, and service status for monitoring.","status":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5f4855c0_4f6_spec.md","provider":"any","payload_json":"{}"},{"id":"c98a423d-0ad9-46a7-a0d7-0fd3d31e9405","title":"[UI] Fix orphan checker false positives for KG edges","description":"Bug: orphan_checker.py incorrectly reports 283/690 edges as orphaned (41% coverage) by checking for entity IDs in static HTML. Graph pages load data dynamically via /api/graph API, so entities won't be in static HTML. Fix: Change check_orphaned_kg_edges() to verify edges are accessible via API and properly structured, not text-search static files. All edges in DB are visualized, so true coverage should be ~100%.","status":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c98a423d_0ad_spec.md","provider":"any","payload_json":"{}"},{"id":"f7aa0762-e2b1-4eec-a77e-5b13ae64d578","title":"[UI] Fix orphan checker false positives for KG edges","description":"Fix orphan_checker.py false positives: KG edges shown via /api/graph are incorrectly flagged as orphaned. See spec at docs/planning/specs/c98a423d_0ad_spec.md","status":"open","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f7aa0762_e2b_spec.md","provider":"any","payload_json":"{}"},{"id":"68432c89-301c-4d8b-906d-9b2de8a24d55","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"open","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"q10-u2-F37603C4","title":"[UI] Add loading states and error handling to all pages","description":"Add skeleton loaders or spinners for all client-side fetch() calls. Add error states (friendly error message, retry button). Currently pages show blank when API is slow. Priority: /exchange, /quests, /graph, /senate.","status":"open","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e70b5abf-62a1-4589-b527-def6ffe4deb0","title":"[UI] Unified nav component across all pages","description":"UI6.1: Create single nav_html(active) function in api.py. All dynamic pages use it. Update static pages (how.html, atlas.html, graph.html, pitch.html) to share identical nav.\n\nAcceptance: All pages have identical nav with correct active highlighting.","status":"open","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e70b5abf_62a_unified_nav_componen_spec.md","provider":"any","payload_json":"{}"},{"id":"f576ae81-e879-4a3f-8979-df74d5faa49b","title":"[UI] Universal activity feed on dashboard","description":"Real-time activity feed on / showing last 50 actions: analyses, hypothesis scoring, KG edges, debates. Each entry links to detail page. Uses event_bus. Acceptance: visible on dashboard; actions appear within 60s; clickable links; auto-refresh via JS polling.","status":"open","priority":73,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T13:27:01.486324+00:00","updated_at":"2026-04-25T13:27:01.486324+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f576ae81-e87_ui_universal_activity_fee_spec.md","provider":"any","payload_json":"{}"},{"id":"7e9d24eb-ffbf-455e-8b51-0e26f0422e4b","title":"[UI] Entity detail pages with unified view","description":"Create /entity/{name} pages aggregating: wiki summary, all KG edges, targeting hypotheses, mentioning analyses, citing papers, mini subgraph viz. Every KG node becomes browsable. Acceptance: renders for ~62 entities; linked from graph viz; shows hypothesis count and top-scored.","status":"open","priority":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T16:19:07.675229+00:00","updated_at":"2026-04-25T16:19:07.675229+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7e9d24eb-ffb_ui_entity_detail_pages_wi_spec.md","provider":"any","payload_json":"{}"},{"id":"e09ee1f9-d112-42e9-bc80-9eb5ed39a37f","title":"[UI] Add unified navigation bar across all pages","description":"Create a consistent navigation component used on all pages (index, exchange, graph, gaps, analyses, senate, atlas, how). Include links to all 5 layers. Acceptance: all pages share same nav; all layer links work.","status":"open","priority":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"00e1917d-4890-45ce-886e-92694a3d0c19","title":"[UI] Dashboard stats accuracy - sync displayed counts with actual DB","description":"The main dashboard and /how.html show stats that may be stale or hardcoded. Verify all displayed numbers match actual DB counts: 23 analyses, 118 hypotheses, 665 KG edges, 22 gaps, 991 wiki entities. Fix any discrepancies.","status":"open","priority":70,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bd8c1e40-d206-40e7-a9ab-50d3369ad084","title":"[UI] Make /how.html dynamic with live system stats","description":"Replace hardcoded stats on how.html with live data from /api/status. Show real counts for analyses, hypotheses, KG edges, tools, debates. Auto-refresh every 60s. Acceptance: all stats are live and accurate.","status":"open","priority":65,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d62a776a-de83-49cd-8249-c8ee3f4aa129","title":"[UI] UX improvement -- navigation and discoverability","description":"Audit all pages for dead-ends. Implement: breadcrumb trails on detail pages, Related sidebars on hypothesis pages, Explore Further links on analysis pages. Acceptance: every page has path back to parent; no page >3 clicks from dashboard; related content links on all detail pages.","status":"open","priority":63,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d62a776a-de8_ui_ux_improvement___navig_spec.md","provider":"any","payload_json":"{}"},{"id":"aff65180-61da-48f3-82c3-e92998c47072","title":"[UI] Fix gaps page stale statuses","description":"UI6.4: All 20 gaps show status=investigating but 0 are open (contradicts the UI text). Fix: after analysis completes on a gap, mark partially_filled. Only resolved after 2+ analyses. Reset stale investigating back to open.\n\nAcceptance: Gaps page shows realistic mix of open/investigating/filled.","status":"open","priority":60,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/aff65180_61d_fix_gaps_page_stale_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"d3978a8e-3fd4-44e2-970e-1cef3ef910e2","title":"[UI] Loading states + error handling in JS","description":"UI6.3: All fetch() calls in graph.html, exchange JS, and future JS pages get loading spinners and catch() error blocks.\n\nAcceptance: Slow API calls show spinner. Failures show user-friendly message.","status":"open","priority":60,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d3978a8e_3fd_loading_states_error_spec.md","provider":"any","payload_json":"{}"},{"id":"5ef13316-a865-43c0-bfb6-4bb11e3b393c","title":"[UI] Mobile responsive improvements","description":"Audit all pages for mobile responsiveness. The site uses inline CSS. Ensure /exchange, /graph, /senate, /forge pages work on mobile screens. Fix any overflow, truncation, or unreadable text.","status":"open","priority":55,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a8ae947-aa53-48e4-8194-24dd10290ce1","title":"[UI] Fix SyntaxWarning in cli.py bundle script","description":"Fix invalid escape sequence $ warning in cli.py replicate command by using raw f-string","status":"open","priority":50,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5a8ae947_aa5_spec.md","provider":"any","payload_json":"{}"},{"id":"a57248fd-cdce-4c58-b715-3c98632edf9a","title":"[UI] Fix UnboundLocalError in walkthrough_detail for WALKTHROUGH_IDS analyses","description":"Fix indentation bug at api.py:30601 causing UnboundLocalError when accessing walkthrough pages for analyses in WALKTHROUGH_IDS. Variable 'a' was only assigned in the else branch.\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":50,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a57248fd_cdc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"fc14a137a7f7596cdc350c8f9f6965e820ca6761\"], \"completion_shas_checked_at\": \"2026-04-21T02:40:51.492224+00:00\"}"},{"id":"d7e9a9fc-e859-4440-ba04-d8b082157f9f","title":"[UI] Fix missing failure_reason column causing dashboard errors","description":"Database schema error: api.py queries failure_reason column that doesn't exist. The [Senate] Failed analysis tracking task (262b5f7) added the query but never ran the migration. Need to: 1) Create migration to add failure_reason column to analyses table, 2) Run migration on production DB, 3) Verify dashboard loads without errors.","status":"open","priority":50,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d7e9a9fc_e85_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"cdba659d-2592-4fc2-a78d-c4506b58fc77","title":"[UI] Fix SyntaxWarning in cli.py","description":"Change f-string to raw f-string (rf\"\"\") to fix '$' escape sequence warning in bundle_script. One-line fix, no functional changes.","status":"open","priority":40,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T06:51:21.985344+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'done' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cdba659d_259_spec.md","provider":"any","payload_json":"{}"},{"id":"f5b03fad-a920-411b-8663-ffd771166277","title":"[UI] Fix hypothesis detail pages timing out — critical demo blocker","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":99,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:34:36.186093+00:00","updated_at":"2026-04-13T19:34:36.186093+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/f5b03fad_a92_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"725a54e19b158771a410519912093f91e227be17\"], \"completion_shas_checked_at\": \"2026-04-13T19:34:36.165885+00:00\"}"},{"id":"c2519a02-1afe-48d8-a236-0357412fc2a1","title":"[UI] Fix hypothesis page timeout - critical demo blocker","description":"The /hypothesis/{id} endpoint is timing out (>15s). This is a critical blocker for the demo since hypothesis pages are the core showcase. Investigate the hypothesis_detail route in api.py and fix performance issues.\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-13T19:21:31.743960+00:00","updated_at":"2026-04-13T19:21:31.743960+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/c2519a02_1af_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"e1c38f18e7d16e80652a928f2e6821e5086bbd83\"], \"completion_shas_checked_at\": \"2026-04-13T19:21:31.724835+00:00\", \"completion_shas_missing\": [\"0b0e9dc38412b8285e207cf3947ee96b369e9be8\", \"1aa12f3b4a1151bac35edb5c51f7b022ec2172a4\", \"a0d7199416443590a2061daf4a2cd8665012b915\"]}"},{"id":"172e4e64-a243-4d3d-8ab0-b7cadee521e8","title":"[UI] Fix 500 errors on /notebooks and /atlas pages","description":"Both /notebooks and /atlas return 500 Internal Server Error. /notebooks has an f-string curly brace issue at line ~15678. /atlas also crashes. These are demo-critical pages.\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-13T19:05:44.625106+00:00","updated_at":"2026-04-13T19:05:44.625106+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/172e4e64_a24_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"max_outlook\", \"_stall_requeued_at\": \"2026-04-13 19:03:53\", \"completion_shas\": [\"0c92a60fbb4cc3d74de168b13a457b0519c98a48\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:44.606379+00:00\", \"completion_shas_missing\": [\"07f5f56e0711ab379c13cb188488f1bace7e25fe\", \"ebb732cb40ce8ab2b832700476205883283329f2\", \"afb4e4a40e8f52dba860b6379b599e1f79738302\", \"08c99a181a13fbb6f716adbb3a3cca062bf88aef\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"12777691-adc7-4498-9a7e-b6ea13b1fe13","title":"[UI] Fix NameError in hypothesis page: undefined _get_cached_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":99,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:05:15.538178+00:00","updated_at":"2026-04-13T19:05:15.538178+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/12777691_adc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"max_outlook\", \"_stall_requeued_at\": \"2026-04-13 19:02:28\", \"completion_shas\": [\"a632aa02219750432763fbfd0cd6155b7b7c084e\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:15.519538+00:00\", \"completion_shas_missing\": [\"90076d3c783c0a942d61e40dd1a7641d09c83512\", \"1dbc0850468d8fadd2066fc915d9e80154fe4bf4\", \"c3ce675052165fd2263775bff095d792248be369\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"4bc7e5a2-30fd-4043-8b14-83d3cf5f432d","title":"[UI] Fix SQLite connection leaks causing API hangs","description":"API is hung with 464 open FDs. Root cause: ~40 endpoints open db connections via get_db() but never close them in finally blocks. WAL has 7600+ uncheckpointed frames. Fix: wrap all db operations in try/finally with db.close(), add context manager helper.\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-13T19:05:12.176501+00:00","updated_at":"2026-04-13T19:05:12.176501+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/4bc7e5a2_30f_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 19:00:54\", \"completion_shas\": [\"442f0a23a6ab2b5220c72eb8bfbe841ce70b826c\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:12.154496+00:00\", \"completion_shas_missing\": [\"a863dcf7f87889c0d8c330499896dfc9ec48bbfb\", \"0defd65ffe9e8f87f3b4ea784ec9aab98c0deb20\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"ac596e54-a43a-4ba6-90a6-b7027e6dd0a0","title":"[UI] Fix hypothesis page 22s hang — wiki pages JOIN causes full scan","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":98,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:47:50.368443+00:00","updated_at":"2026-04-20T23:47:50.368443+00:00","summary":"","completion_notes":"Verified on origin/main: commit 8dd82cc08 fixed the wiki_pages JOIN full scan that caused 22s hang. Changed `a.id = 'wiki-' || wp.slug` to `wp.slug = SUBSTR(a.id, 6)` with `a.id LIKE 'wiki-%'` filter, reducing wiki query from ~8s to ~0.005s. Task was already complete.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ac596e54_a43_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:14:23\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a80556f8-e41e-478c-9497-81695c47afe2","title":"[UI] Fix 500 errors on /atlas and /notebooks pages","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":98,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:47:50.294112+00:00","updated_at":"2026-04-20T23:47:50.294112+00:00","summary":"","completion_notes":"Verified on origin/main: commit 50f38aa71 fixed /atlas 500 error, commit 8dd82cc08 fixed wiki_pages JOIN full scan. Both /atlas and /notebooks return HTTP 200. No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a80556f8_e41_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:23:27\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"8a478e5c-8e3e-49f0-894d-5e969c2fd97f","title":"[UI] Fix mermaid diagram rendering on hypothesis detail pages","description":"Hypothesis pages contain mermaid code blocks but the mermaid JS library is not loaded, so diagrams render as raw text. Need to: 1) Add mermaid CDN script to hypothesis pages, 2) Parse mermaid code blocks from description markdown, 3) Render them as actual diagrams. 141/149 hypotheses have mermaid diagrams that should be visible.\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-16T10:22:45.937586+00:00","updated_at":"2026-04-16T10:22:45.937586+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8a478e5c_8e3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_stall_skip_providers\": [\"minimax\", \"codex\"], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-14 20:04:13\", \"_stall_skip_at\": {\"codex\": \"2026-04-14T20:04:13.029002+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"14ce2ee2-3313-4229-a2cf-506777305d8a","title":"[UI] Fix hypothesis/analysis wiki link timeout — reapply SUBSTR join fix","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":98,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:56:44.544038+00:00","updated_at":"2026-04-13T19:56:44.544038+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/14ce2ee2_331_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-13 19:43:16\", \"completion_shas\": [\"926b1e12678b05595e542e2321ffed4095ae9188\", \"4321e5a3c460d7ae7f005cca44315dc3bc3d0297\"], \"completion_shas_checked_at\": \"2026-04-13T19:56:44.523595+00:00\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"8e5186fe-55e2-4a4e-9bd7-76b0828a1426","title":"[UI] Fix hypothesis detail pages hanging/timeout (blocks demo)","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":97,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T20:22:42.953767+00:00","updated_at":"2026-04-13T20:22:42.953767+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/8e5186fe_55e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"a0c382042ca68015177a13b6c2e8a03fffff30ed\", \"1ceb41cc012dd566c29588a60e29889a1d55503f\"], \"completion_shas_checked_at\": \"2026-04-13T20:22:42.937820+00:00\"}"},{"id":"b40095a9-3798-42e0-8a26-0255bd48f1d5","title":"[UI] Fix hypothesis page 25s load time — remove blocking API call","description":"Hypothesis detail pages take 25+ seconds to load due to a blocking ClinicalTrials.gov API call in _hypothesis_detail_render. Fix: skip the external API call on page load (show cached data or placeholder), batch debate N+1 queries.\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:51:32.207781+00:00","updated_at":"2026-04-13T18:51:32.207781+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/b40095a9_379_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"cf78c101f55bcc17389c33fd2cdcf801322b5d41\"], \"completion_shas_checked_at\": \"2026-04-13T18:51:32.188136+00:00\"}"},{"id":"d88e9dec-98bb-49fe-beef-466c8dfb2f95","title":"[UI] Fix /atlas 500 error — _cache_page undefined","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":96,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T15:28:26.459105+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d88e9dec_98b_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 12:51:47\", \"_stall_skip_at\": {\"minimax\": \"2026-04-14T12:51:47.028221+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"0f470e89-9efa-4fd4-9da7-b2de7ed38dcf\", \"_watchdog_repair_created_at\": \"2026-04-23T15:22:30.288002+00:00\"}"},{"id":"a0cc856c-b2a4-4ec1-97e7-fcffc54b4192","title":"[UI] D16.4: Add Mol* 3D Protein Viewer to Hypothesis Pages","description":"Embed interactive 3D protein structure viewer on hypothesis detail pages for target proteins.\n\nGoal: Provide rich molecular visualization for therapeutic targets, making hypotheses more compelling and scientifically rigorous.\n\nDeliverables:\n1. Integrate Mol* (molstar.org) JavaScript viewer into hypothesis detail pages\n2. For each hypothesis with target_gene, fetch PDB structure:\n   - Query RCSB PDB API using gene name/protein name\n   - Select best representative structure (highest resolution, relevant organism)\n   - Load structure into Mol* viewer\n3. Add viewer controls: rotate, zoom, style (cartoon, surface, ball-stick)\n4. Highlight active sites, binding pockets, or disease-relevant regions if known\n5. Add caption with PDB ID, resolution, method (X-ray, cryo-EM, NMR)\n6. Test on top 10 hypotheses (LRP1, HCRTR1, SMPD1, CYP46A1, SST, ABCA1, etc.)\n\nImplementation:\n- Add <div id=\"molstar-viewer\"> to hypothesis detail template in api.py\n- Include Mol* CDN scripts in page header\n- Fetch PDB data via RCSB REST API: https://data.rcsb.org/rest/v1/core/entry/{pdb_id}\n- Initialize viewer with structure on page load\n\nReference: Mol* documentation at molstar.org/viewer-docs/, PDB API at rcsb.org/docs/programmatic-access\n\nThis is Quest 16/17 priority - rich artifacts for demo showcase.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\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-20T23:47:57.884321+00:00","updated_at":"2026-04-20T23:47:57.884321+00:00","summary":"","completion_notes":"Mol* 3D protein viewer fully implemented in api.py on origin/main (112+ molstar references). Lines ~26882–27237 contain full implementation with PDB static mapping, AlphaFold fallback, RCSB dynamic search, and collapsible viewer panel. Already resolved.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a0cc856c_b2a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:53:30\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"4b779b36-8c03-4606-82ae-128432e78405\", \"_watchdog_repair_created_at\": \"2026-04-17T09:07:06.627194+00:00\"}"},{"id":"c1b5459f-d25a-4475-8da8-851dc413b864","title":"[UI] Add Mol* 3D protein viewer to hypothesis detail pages","description":"Embed Mol* 3D protein structure viewer on hypothesis detail pages for target proteins. When a hypothesis mentions specific proteins (e.g., TREM2, LRP1, APOE), show an interactive 3D viewer using PDB structures. Tasks D16.4 and A17.1 from Quests 16/17.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\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-20T12:27:06.517758+00:00","updated_at":"2026-04-20T12:27:06.517758+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c1b5459f_d25_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 12:15:48\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"4b8ec447-ce0e-4cb3-9673-591550361446\", \"_watchdog_repair_created_at\": \"2026-04-20T12:21:38.991955+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"997b8179-1a84-4480-b33c-c136c1914a3d","title":"[UI] Add Mol* 3D protein viewer component to hypothesis pages","description":"Embed Mol* (molstar) 3D protein viewer on hypothesis detail pages. For hypotheses with known target proteins/genes, show an interactive 3D structure viewer using PDB IDs. This addresses Quest 16 D16.4 and Quest 17 A17.1. Implementation: add a mol* viewer section to the hypothesis detail page in api.py that maps target_gene to PDB IDs and embeds the Mol* viewer.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\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-14T19:38:21.749983+00:00","updated_at":"2026-04-14T19:38:21.749983+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/997b8179_1a8_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 20:57:49\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"6ccc1c98-bd54-422c-a87a-bf4c2763f4b2","title":"[UI] Fix multiple NoneType and empty-sequence crashes in agent/senate performance pages","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":96,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T20:56:37.772706+00:00","updated_at":"2026-04-13T20:56:37.772706+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/6ccc1c98_bd5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"b2661aa2b37b414babb40f748c435185a8088c0e\"], \"completion_shas_checked_at\": \"2026-04-13T20:56:37.756183+00:00\"}"},{"id":"58e83560-3321-4ac1-931b-2e18d31c1d86","title":"[UI] Fix path traversal vulnerability in bridge.py","description":"SECURITY FIX: Bridge service has path traversal vulnerability. Line 32-33 checks if path starts with BASE before resolving symlinks/relative paths, allowing attackers to write to arbitrary locations via ../../ sequences. Service crashed attempting to write to /etc. Fix: use os.path.realpath() before validation. Add tests for common bypass techniques.\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-24T15:20:12.533400+00:00","updated_at":"2026-04-24T15:20:12.533400+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/58e83560_332_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}, \"completion_shas\": [\"40c9e5d5d8d839f4d986a12c2731edc6566b1fc1\"], \"completion_shas_checked_at\": \"2026-04-21T01:39:11.364942+00:00\"}"},{"id":"1ad717d4-0adb-492f-8df6-bf86ecd1bf64","title":"[UI] Fix 500 errors on /atlas and /notebooks pages","description":"The /atlas page returns 500 due to NameError: _cache_page not defined. The /notebooks page returns 500 due to NoneType subscript error. Both are critical demo pages that need to work.","status":"done","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:18:01.482178+00:00","updated_at":"2026-04-24T15:18:01.482178+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/1ad717d4_0ad_spec.md","provider":"any","payload_json":"{}"},{"id":"5b0d6a48-62ee-4c51-ab6f-9aacfe017d85","title":"[UI] Fix analysis_detail notebooks query - column name mismatch","description":"Fix line 1291 in api.py: analysis_detail() uses 'analysis_id' but database column is 'associated_analysis_id'. Causing 500 errors on /analysis/* routes. Simple one-line fix.","status":"done","priority":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:13:41.381717+00:00","updated_at":"2026-04-24T15:13:41.381717+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5b0d6a48_62e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}"},{"id":"0f4d2691-88e2-4530-bca3-691f17dd7b84","title":"[UI] Fix /notebooks 500 error — stale code reference in running server","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T10:17:05.240640+00:00","summary":"","completion_notes":"","last_error":"Paused after 14 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0f4d2691_88e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:38:13\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:38:13.628830+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"7f99a381-a73e-4f06-92a4-97eff515d8c3\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:48.338322+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"c2d40207-a69a-490e-9e20-e61ad7adc611","title":"[UI] Fix /notebooks 500 error: NoneType not subscriptable in notebooks_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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T09:17:56.400006+00:00","summary":"","completion_notes":"","last_error":"Paused after 7 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c2d40207_a69_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:52:13\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:52:13.901769+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"926d1333-6e49-4664-ac7d-fd4e271b8e43\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:57.218270+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"d6623186-98e2-4b1e-855e-9ba3dbec375c","title":"[UI] Fix /atlas 500 error — undefined _cache_page function","description":"The /atlas route returns 500 due to NameError: name '_cache_page' is not defined at api.py:19442 in atlas_page. This is a key demo page (Layer 4 - Living Knowledge Graph) that must work for the end-to-end demo.\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":null,"updated_at":"2026-04-23T09:16:42.291214+00:00","summary":"","completion_notes":"","last_error":"Paused after 12 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d6623186_98e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:41:11\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:41:11.615930+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"d33ecae2-44e8-4f9c-920e-512fa2d03f2b\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:51.599614+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"644bff75-6ed0-41e9-b983-a8a44f536a2b","title":"[UI] Fix tools import conflict - agent.py crashing","description":"Critical: agent.py cannot start due to import conflict. Both tools.py and tools/ directory exist. Python imports tools/ package instead of tools.py, breaking agent imports. Fix: rename tools/ to avoid conflict.\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-21T02:02:29.005479+00:00","updated_at":"2026-04-21T02:02:29.005479+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/644bff75_6ed_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 20:55:33\", \"_stall_skip_at\": {\"minimax\": \"2026-04-14T20:55:33.530103+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"8df3e570-fb56-40f3-aeb0-bb6861631b5c\", \"_watchdog_repair_created_at\": \"2026-04-20T11:23:30.603122+00:00\", \"completion_shas\": [\"abf917b8e09f633a802694d64356ea0e60e96dc4\"], \"completion_shas_checked_at\": \"2026-04-21T02:02:28.978599+00:00\"}"},{"id":"b3dafc56-7bf5-4ebf-a57d-acc77a7d478c","title":"[UI] Fix /notebooks 500 error — NoneType subscript at line 15678","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-21T01:24:48.038103+00:00","updated_at":"2026-04-21T01:24:48.038103+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b3dafc56_7bf_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:41:49\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:41:49.474776+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"17bb1bfc-ea9c-4009-87f5-7066705da890","title":"[UI] Fix hypothesis_detail AttributeError in resource usage display","description":"api.py hypothesis_detail() crashes with AttributeError: 'float' object has no attribute 'get' when displaying resource usage. The bug is at lines 15301/15314/15326 where tokens_data/api_data/cpu_data (flat dicts with 'amount'/'cost_usd' keys) are incorrectly iterated via .values() then .get() called on individual floats. Fix: access .get('amount', 0) directly on the dict.\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-15T23:47:17.257083+00:00","updated_at":"2026-04-15T23:47:17.257083+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/17bb1bfc_ea9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 01:14:05\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"ba870a954630754c23c50e596ac44603f9be2ee3\", \"2df9f80fb48b89d403d8c686a52709a8d1cf2a6d\"], \"completion_shas_checked_at\": \"2026-04-15T23:47:17.239048+00:00\"}"},{"id":"eb11ca2a-6ff3-48db-b6ba-a92f85422ac9","title":"[UI] Add Mol* 3D protein structure viewer to hypothesis pages","description":"\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\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-15T23:11:30.225669+00:00","updated_at":"2026-04-15T23:11:30.225669+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/eb11ca2a_6ff_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 00:46:56\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"6e2f0e65-8371-4bfb-ac3f-cb88b7c31658","title":"[UI] Fix /api/graph/{analysis_id} case-sensitivity bug","description":"The /api/graph/{analysis_id} endpoint returns 404 for valid analysis IDs because it converts IDs to lowercase but the SQL query is case-sensitive. This affects 17+ broken links across the site. Fix: Make SQL query case-insensitive using LOWER() on both sides of comparison at api.py:1443.\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-15T19:09:21.618005+00:00","updated_at":"2026-04-15T19:09:21.618005+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/6e2f0e65_837_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:32:19\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"40163e5dc4b9fe8398ad6bdef391c92ce08f6f1e\", \"7841e6dea1a18336f280b69d68007c7d2809c9f1\", \"1bef28af9a0421fdc6352b98fdcb24bc9bc67b54\"], \"completion_shas_checked_at\": \"2026-04-15T19:09:21.598103+00:00\"}"},{"id":"b8706bc7-222d-497b-bb39-c74633858345","title":"[UI] Fix /api/graph/{analysis_id} case-insensitive lookup","description":"The /api/graph/{analysis_id} endpoint converts analysis_id to lowercase but queries the database with exact match, causing 404s. Need to use LOWER(id) for case-insensitive matching. Affects 17 broken links across hypothesis and analysis pages.\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-15T19:08:05.782797+00:00","updated_at":"2026-04-15T19:08:05.782797+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/b8706bc7_222_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:22:26\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"9c933ca3e5749622cd0228a1e2741aa764427add\"], \"completion_shas_checked_at\": \"2026-04-15T19:08:05.689488+00:00\"}"},{"id":"747735c9-3b92-4855-a518-5b92c601aa1d","title":"[UI] Fix case-insensitive analysis ID lookup in /api/graph/{analysis_id} endpoint","description":"The /api/graph/{analysis_id} endpoint (line 1383 in api.py) uses case-sensitive SQL query 'WHERE id=?' which fails for uppercase analysis IDs like 'SDA-2026-04-01-gap-013'. This causes 144 broken links. Fix: Change to 'WHERE LOWER(id)=LOWER(?)' to match pattern used at line 3575. Test: curl /api/graph/SDA-2026-04-01-gap-013 should return graph data instead of 404.\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-14T21:09:49.084605+00:00","updated_at":"2026-04-14T21:09:49.084605+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/747735c9_3b9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:07:05\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"4702c5e2bfe7cdaed2cea9abecd8c54078a57d62\"], \"completion_shas_checked_at\": \"2026-04-14T21:09:49.064905+00:00\"}"},{"id":"84f45f68-44e4-4b5a-b176-dccb68b61e9a","title":"[UI] Fix agent ImportError - tools module conflict","description":"CRITICAL: Agent service failing to start due to tools/ package conflicting with tools.py module. When MethBase was added, a tools/ directory was created, causing Python to import tools/__init__.py instead of tools.py. This breaks all tool imports in agent.py (research_topic, pubmed_search, etc). Impact: No analyses can run. Fix: Either (1) rename tools/ to tools_methbase/ or (2) update tools/__init__.py to re-export all functions from parent tools.py\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-14T20:51:42.690801+00:00","updated_at":"2026-04-14T20:51:42.690801+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/84f45f68_44e_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:17:15\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"3c578c96-0429-4fad-9982-209926aa9bdf","title":"[UI] Fix Python import conflict: tools/ directory shadowing tools.py","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T20:50:41.792704+00:00","updated_at":"2026-04-14T20:50:41.792704+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3c578c96_042_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:16:48\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}"},{"id":"bd7a7fc1-bcc4-4248-a3f4-ca0c1c5cdd95","title":"[UI] Fix artifacts gallery 500 error and target detail TypeError","description":"Fix UnboundLocalError in artifacts_gallery (line 7201, caption variable) and TypeError in target_detail (line 15141, str vs int comparison)\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:20:51.242396+00:00","updated_at":"2026-04-14T01:20:51.242396+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/bd7a7fc1_bcc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"ce9050f1d47b8485c2cd0e436ed474c76dbb02f5\", \"3f0c0fd0015a75af316813df29d3b11571a60b89\", \"50e4a38d9349fba95ead818fbe9093fedbe3d1f9\", \"ee9380dc7c7f22a2ace80e0de66a4ac4aae6df69\", \"d943ed4192e81f55510f29a85867d8dc33b7271d\"], \"completion_shas_checked_at\": \"2026-04-14T01:20:51.222366+00:00\"}"},{"id":"fe943db4-2d3d-4364-b083-3f1da78f9c55","title":"[UI] Fix /atlas 500 error — _cache_page NameError","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:55:54.802876+00:00","updated_at":"2026-04-13T23:55:54.802876+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/fe943db4_2d3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"c1f8945cd177a70ed43fef5265557f56d4ee600c\"], \"completion_shas_checked_at\": \"2026-04-13T23:55:54.785463+00:00\"}"},{"id":"29f3dddc-9c22-432e-9db1-f351b95166f1","title":"[UI] Fix /notebooks page returning HTTP 500","description":"The /notebooks page returns a 500 Internal Server Error. This is a critical demo bug since notebooks are key artifacts. Need to debug and 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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:48:59.785121+00:00","updated_at":"2026-04-13T23:48:59.785121+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/29f3dddc_9c2_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"5b1dec0b4262172f03e4aba224d7a1da1cdcc388\"], \"completion_shas_checked_at\": \"2026-04-13T23:48:59.768594+00:00\", \"completion_shas_missing\": [\"d8ea08c1c4cccfc2149f561e579a7b0314a4b116\", \"85649cdf6c806c88a71b92aa85fc2a1b0be159e4\"]}"},{"id":"20673928-ba1b-442a-81b5-e4c9d2402f52","title":"[UI] Fix broken /atlas.html links in navigation — should be /atlas","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:48:28.165301+00:00","updated_at":"2026-04-13T23:48:28.165301+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/20673928_ba1_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"477593e7e88f29d980c3da12de6c8937db40bfcb\", \"4deca3c1d57c47af429afd4405d57674dd69497e\"], \"completion_shas_checked_at\": \"2026-04-13T23:48:28.146781+00:00\"}"},{"id":"5ed01f64-9a78-465b-9090-9495c312adf9","title":"[UI] Fix Unicode Greek characters in hypothesis mermaid diagrams","description":"70+ hypotheses have Unicode Greek characters (α, β, γ, κ, etc.) in their mermaid diagram blocks, which breaks client-side rendering. Includes top-3 hypotheses (h-61196ade score 0.85, h-de0d4364 0.83, h-9e9fee95 0.82). Replace Greek chars with ASCII equivalents (alpha, beta, gamma, kappa) in mermaid blocks only, preserving them in regular text. Uses regex to find mermaid blocks and substitute characters.\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-13T23:47:52.353279+00:00","updated_at":"2026-04-13T23:47:52.353279+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/5ed01f64_9a7_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"a0986ecdff6180a7732839976f018b48e1543ec3\", \"cacf5a9bdc3037ee75ef9e29a460ff567ecb8966\", \"fab41223fc256cd02dc98e2004a728d6fcd48038\"], \"completion_shas_checked_at\": \"2026-04-13T23:47:52.334784+00:00\", \"completion_shas_missing\": [\"0cafc1e72931ceb4f100b47023e81996be3f857d\"]}"},{"id":"f259e7f0-9efd-458d-8eff-01ce21c81eaf","title":"[UI] Harden senate_performance_page against empty/null data and fix HTML escaping in notebooks_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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:46:48.183596+00:00","updated_at":"2026-04-13T23:46:48.183596+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/f259e7f0_9ef_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"b70152701d33df091c1ae2b09bcb10664bcf6ecb\", \"ae6ef9de182e9f49654513426f8d3c2212a0c497\"], \"completion_shas_checked_at\": \"2026-04-13T23:46:48.163816+00:00\"}"},{"id":"eb0e09ed-9d37-42a8-8524-74463d079354","title":"[UI] Fix NoneType error in entity_detail route","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":95,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:15:30.811655+00:00","updated_at":"2026-04-13T23:15:30.811655+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/eb0e09ed_9d3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"9ec03067c5a16119d40cc685f1e1ccee7bc07030\", \"285585e62b625b442ed709bc05d483bb5a7e7b22\"], \"completion_shas_checked_at\": \"2026-04-13T23:15:30.794144+00:00\"}"},{"id":"936fae01-e371-454b-8ff6-b71aac05ce96","title":"[UI] Optimize API response times — add caching for heavy endpoints","description":"Load avg 51, 74 concurrent connections, pages timing out. Add response caching for expensive DB queries on /senate, /forge, /atlas, /resources, /demo, /agents, /artifacts which all take >2s.\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-13T23:08:28.984977+00:00","updated_at":"2026-04-13T23:08:28.984977+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/936fae01_e37_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"completion_shas\": [\"da9cc3013a45ef21ef62a0acd82932c0a2d6e8c6\", \"7aace34d3581e6a89b5c472280186a56941cb698\"], \"completion_shas_checked_at\": \"2026-04-13T23:08:28.965446+00:00\"}"},{"id":"87cab3b8-d87e-4aca-bbb3-e5a96ca99e9a","title":"[UI] Fix case-insensitive analysis ID lookups in API endpoints","description":"The /api/graph/{analysis_id} endpoint returns 404 for valid analysis IDs due to case sensitivity mismatch. Database stores IDs in lowercase (e.g., 'sda-2026-04-01...') but API receives uppercase requests (e.g., 'SDA-2026-04-01...'). Affects 144 broken links across the site. Fix: Use LOWER(id) in SQL queries or normalize input.\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-13T22:02:40.901873+00:00","updated_at":"2026-04-13T22:02:40.901873+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/87cab3b8_d87_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"d4fd9a93b0d8d1779c8f7dd4da3cfdb917a052d7\", \"bf2a3e18dc8bcb90cea96d26dc67aa1616e52ce5\"], \"completion_shas_checked_at\": \"2026-04-13T22:02:40.882206+00:00\"}"},{"id":"a60027d6-027b-4b31-9667-08e85da27c2b","title":"[UI] Add SciDEX logo/icon home link and shared navigation menu to all pages","description":"Add to nav_html() in api.py:\n1. SciDEX icon/logo (text-based is fine: \"SciDEX\" in gradient) as leftmost nav element, always links to /\n2. Hamburger menu for mobile that expands to show all nav links\n3. Group nav links: Main (Dashboard, Analyses, Exchange), Knowledge (Wiki, Graph, Atlas), System (Senate, Quests, Resources, Forge), Info (How, Pitch)\n4. Active page highlight (already exists but improve)\n5. Ensure this shared nav appears on ALL pages including static HTML pages\nThis is the highest priority UI task — do it first and simple.\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:26:45.113366+00:00","updated_at":"2026-04-13T21:26:45.113366+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":"{\"completion_shas\": [\"890e8ec677721217b3bcbb5bbbf0fe7eb9879352\"], \"completion_shas_checked_at\": \"2026-04-13T21:26:45.097028+00:00\"}"},{"id":"98b8a425-bb25-4733-9034-bea77bd70aa6","title":"[UI] Fix /analyses/ page timeout — optimize slow correlated subqueries","description":"The /analyses/ page takes 20+ seconds to load because of correlated subqueries with LOWER() in the main analyses listing query. Replace with JOINs or precomputed counts. Demo-critical page linked from demo walkthrough.\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":94,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T02:12:33.355753+00:00","updated_at":"2026-04-14T02:12:33.355753+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/98b8a425_bb2_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"225bdf35fa92259367d9f176a3cbd55fe4031abd\", \"81f93f31bd3a265c9a829e9975edbd763a6a25f8\"], \"completion_shas_checked_at\": \"2026-04-14T02:12:33.336681+00:00\"}"},{"id":"341e9fcc-c42d-4786-89e0-76d619086b79","title":"[UI] Optimize /entity page query performance (2.2s -> <500ms)","description":"The /entity/TREM2 page takes 2.2 seconds to load. Likely has N+1 queries or unindexed lookups. Profile and optimize the SQL queries in the entity detail handler to bring load time under 500ms. This is a key demo page linked from /demo.\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":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T01:08:55.945373+00:00","updated_at":"2026-04-16T01:08:55.945373+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/341e9fcc_c42_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 03:33:19\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"8644e8c9f20c283644c55e0f4fa446c1296fe7a0\", \"2fd5e89a80b47711fe494bdbbf610b2692a0646d\", \"a81809576c1478e9d464a1dfc847f510d974f8c1\"], \"completion_shas_checked_at\": \"2026-04-16T01:08:55.927031+00:00\"}"},{"id":"48b9bc76-9296-4867-8e45-31f263e57a02","title":"[UI] Fix demo page broken links and template bugs","description":"Fix href=${r.link} template bug, /atlas.html→/atlas link, and verify all demo page links work\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":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T04:10:49.872978+00:00","updated_at":"2026-04-14T04:10:49.872978+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/48b9bc76_929_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"c419417ffe26d0e8c9cb644fd98405adf46cb6be\"], \"completion_shas_checked_at\": \"2026-04-14T04:10:49.852962+00:00\"}"},{"id":"0e3fc944-94b2-4b76-b5b7-7ecefc1b2d13","title":"[UI] Fix nav links pointing to /atlas.html instead of /atlas","description":"Navigation links across the site point to /atlas.html (old static page) instead of /atlas (dynamic Atlas dashboard with stats, entity browser, edge type breakdowns). This misdirects users to an inferior page. Fix all nav references.\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":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:58:27.693125+00:00","updated_at":"2026-04-14T03:58:27.693125+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/0e3fc944_94b_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"ddbbf8e77d86e521b839ddf2ce18c6957526904b\"], \"completion_shas_checked_at\": \"2026-04-14T03:58:27.674482+00:00\"}"},{"id":"099ca612-357f-4844-b518-b3c35495cade","title":"[UI] Fix hypothesis detail page timeout — remove blocking ClinicalTrials.gov API call","description":"The /hypothesis/{id} page has a blocking call to ClinicalTrials.gov API with only a 5s timeout, causing page loads to take 5+ seconds or timeout entirely. The visual regression test also times out on this page. Solution: remove the live-fetch and rely on cached clinical_trials data, or move to async loading.\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":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:24:01.058062+00:00","updated_at":"2026-04-14T03:24:01.058062+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/099ca612_357_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"57bc798ac4e209edea1f63ff0961436f315470a3\"], \"completion_shas_checked_at\": \"2026-04-14T03:24:01.039895+00:00\"}"},{"id":"34b64eff-cac8-4a22-af1c-bc0406b07a50","title":"[UI] Add pathway diagrams and evidence strength matrix to hypothesis detail pages","description":"Quest 16/17: Enhance hypothesis detail pages with mermaid pathway diagrams rendered from hypothesis mechanism data, and visual evidence strength matrices showing citation quality vs relevance. These are the hero pages visitors click first.\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":93,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:17:26.404961+00:00","updated_at":"2026-04-14T03:17:26.404961+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/34b64eff_cac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"8dc4adfc097606968b052c812f71dc9ffa99edb7\"], \"completion_shas_checked_at\": \"2026-04-14T03:17:26.388419+00:00\"}"},{"id":"60a1a63f-176a-4d4e-a005-16ef9ce70889","title":"[UI] Fix /notebooks route returning 500 Internal Server Error","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":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T07:38:14.379536+00:00","updated_at":"2026-04-16T07:38:14.379536+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60a1a63f_176_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"fa8fe4d7-5986-4a9f-af9c-21dc664f5bc4","title":"[UI] Fix /experiments 500 error and /hypotheses 404","description":"The /experiments page returns 500 Internal Server Error and /hypotheses returns 404. Both are linked from the homepage and are critical demo pages. Previous fix attempt (445f3420) did not resolve.\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-16T06:51:38.760903+00:00","updated_at":"2026-04-16T06:51:38.760903+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fa8fe4d7_598_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"548af5d2-7a43-41ce-b2d0-4d777f83ffc5","title":"[UI] Add DB connection cleanup middleware to prevent file descriptor exhaustion","description":"The #1 production error is 'unable to open database file' (19K/hr) caused by get_db() creating connections that are never closed. Add FastAPI middleware to auto-close DB connections after each request.\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-16T05:54:09.272596+00:00","updated_at":"2026-04-16T05:54:09.272596+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/548af5d2_7a4_spec.md","provider":"any","payload_json":"{}"},{"id":"1c986ccf-13cd-4d39-b3de-e7d7d60b5683","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.\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-16T05:51:46.253035+00:00","updated_at":"2026-04-16T05:51:46.253035+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/1c986ccf-13c_ui_improve_analyses_page_add_cards_with_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"completion_shas\": [\"6fbeaff2201e10ee05b632e770374bc4ff5a36b1\"], \"completion_shas_checked_at\": \"2026-04-16T05:51:46.212127+00:00\"}"},{"id":"e14a3683-4380-4651-9a9b-c06bda733625","title":"[UI] Fix /notebooks 500 error - TypeError in entity parsing","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":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T05:16:51.791764+00:00","updated_at":"2026-04-16T05:16:51.791764+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e14a3683_438_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"11ba0ced-cf7d-4eca-b377-b18820985ab0","title":"[UI] Build /showcase page — curated top analyses with rich cards","description":"The /showcase link exists in sidebar nav but returns 404. Build a polished showcase page highlighting top analyses with debate scores, key findings, and visual appeal for demo purposes.\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-16T04:34:09.267583+00:00","updated_at":"2026-04-16T04:34:09.267583+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/11ba0ced_cf7_spec.md","provider":"any","payload_json":"{}"},{"id":"bb296f89-43d2-4831-9e09-500d17976cb1","title":"[UI] Fix duplicate route definitions in api.py causing dead routes","description":"api.py has duplicate route definitions for /agora, /api/coverage, /api/feedback, /api/webhooks, /hypotheses/{hyp_id}, /status. FastAPI uses the first definition and ignores later ones. Need to remove duplicates or rename the conflicting routes.\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-16T04:28:32.138421+00:00","updated_at":"2026-04-16T04:28:32.138421+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/bb296f89_43d_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"a7934e54-4aa8-46fc-9dd9-e8bfa64466f4","title":"[UI] Fix 500 errors on entity pages due to NULL field access","description":"Entity pages like /entity/CASP1 crash with TypeError: NoneType not subscriptable. Multiple places in _entity_detail_render access DB fields without None guards: h[title][:60], h[composite_score] > 0.7, html.escape(e[relation]), etc. Fix all None access patterns.\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-16T04:10:25.723690+00:00","updated_at":"2026-04-16T04:10:25.723690+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/a7934e54_4aa_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"f5224f3cbfe132399bf5cfd64ca9fdf80a9c2be0\"], \"completion_shas_checked_at\": \"2026-04-16T04:10:25.705003+00:00\"}"},{"id":"6d789cd7-0823-427d-892f-f199633a6a99","title":"[UI] Build /experiments listing page for 188 experiments","description":"Quest 10/16: The /experiments route returns 404. There are 188 experiments in the DB with no listing page. Individual experiment detail pages exist at /experiment/{id}. Need a listing page similar to /analyses with cards, search, filtering by type/disease, and key metrics.\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-16T04:09:49.892298+00:00","updated_at":"2026-04-16T04:09:49.892298+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6d789cd7_082_spec.md","provider":"any","payload_json":"{}"},{"id":"7fc7b480-0952-413b-a288-f9de26909835","title":"[UI] Render stored pathway_diagram mermaid on hypothesis pages","description":"110 hypotheses have curated mermaid pathway diagrams stored in the pathway_diagram DB field (graph TD format). These are NOT rendered on hypothesis pages - only auto-generated KG-edge diagrams are shown. Add rendering of the stored pathway_diagram as a 'Curated Mechanism Diagram' section above the auto-generated one, with proper mermaid initialization.\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-16T04:05:56.473414+00:00","updated_at":"2026-04-16T04:05:56.473414+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/7fc7b480_095_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"4e8818126fde97d282431cc147bb3fbda613318d\"], \"completion_shas_checked_at\": \"2026-04-16T04:05:56.445771+00:00\"}"},{"id":"46597930-d558-49ef-a448-8eaaf1d05381","title":"[UI] Fix hypothesis page performance - reduce DB queries and optimize rendering","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":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:02:09.044391+00:00","updated_at":"2026-04-16T04:02:09.044391+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/46597930_d55_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"18973443037245856eb63de66583228b220f8ec8\"], \"completion_shas_checked_at\": \"2026-04-16T04:02:09.026016+00:00\"}"},{"id":"0f2c20d4-e85d-45d4-8a26-31d366cb1a48","title":"[UI] Fix slow hypothesis page rendering (3-7s, target <2s)","description":"Hypothesis detail pages take 3-7 seconds to render, exceeding the 2s quality bar. Profile and optimize the /hypothesis/{id} endpoint to achieve sub-2s load times.\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-16T03:50:34.520896+00:00","updated_at":"2026-04-16T03:50:34.520896+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0f2c20d4_e85_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}"},{"id":"727c5c9f-5bdd-4cb1-8d85-e45abd9fc7e7","title":"[UI] Fix slow hypothesis detail page load (>3s, target <2s)","description":"Hypothesis detail pages take 3.3s to load (e.g. /hypothesis/h-de0d4364). Quality bar requires <2s. Profile the route handler to find bottlenecks and optimize. This is critical for demo showcase - hypothesis pages are the hero pages visitors click first.\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-16T03:13:52.901839+00:00","updated_at":"2026-04-16T03:13:52.901839+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/727c5c9f_5bd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"ffdac4c9cb2fb6fd6ba0fb205daf3205b1fbd9a0\", \"87b8d95057a19893033a32ef5f186156fae4363c\"], \"completion_shas_checked_at\": \"2026-04-16T03:13:52.886945+00:00\"}"},{"id":"a831d3bc-17a1-4efb-9102-9014ff952dbc","title":"[UI] Fix /exchange page timeout — optimize slow queries and rendering","description":"The /exchange page times out. The sync handler builds enormous HTML server-side with multiple DB queries including correlated subqueries in market movers. Optimize the queries and 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":92,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T03:13:32.083424+00:00","updated_at":"2026-04-16T03:13:32.083424+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a831d3bc_17a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"e48c060e-124a-41e0-9e59-946602b03607","title":"[UI] Ensure all 5 layer pages load without errors and have meaningful content","description":"Spot-check: /agora (debates), /exchange (hypotheses), /forge (tools), /atlas (KG), /senate (governance). Fix any 500/502 errors, broken layouts, or empty content areas.\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-16T02:05:19.540362+00:00","updated_at":"2026-04-16T02:05:19.540362+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"54d54ecc-ee02-4847-a1ec-292f8138b08a","title":"[UI] Polish dashboard with live metrics and demo highlights","description":"Quest 10 demo priority: Enhance the main dashboard (/) with better live metrics display, highlight the top 3 demo hypotheses prominently, add quick links to demo-relevant analyses and notebooks. The homepage is the first thing visitors see.\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:53:18.504099+00:00","updated_at":"2026-04-16T10:53:18.504099+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/54d54ecc_ee0_spec.md","provider":"any","payload_json":"{}"},{"id":"60d315c6-3c1f-4b51-9f8e-d1d0f104a5c6","title":"[UI] Global search bar with autocomplete in nav — Quest 8 S8.2","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":91,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:44:11.782637+00:00","updated_at":"2026-04-16T10:44:11.782637+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60d315c6_3c1_spec.md","provider":"any","payload_json":"{}"},{"id":"a11c3add-3d48-4de7-8ee1-5ecfea4176f6","title":"[UI] Enrich dashboard with live stats, top hypotheses, and recent activity feed","description":"Dashboard currently shows minimal info. Add: platform stats (hypotheses, analyses, targets, experiments, wiki pages, KG edges), top 5 hypotheses by score with mini-cards, recent 5 analyses with status, and quick action links. Makes the dashboard a compelling landing page for demos.\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:41:32.986088+00:00","updated_at":"2026-04-16T10:41:32.986088+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/a11c3add_3d4_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}}"},{"id":"04a0e5a2-c968-4fbf-b5ab-df44c71a91d0","title":"[UI] Render gene_expression_context on hypothesis pages","description":"69 hypotheses have rich gene expression context data (markdown with Allen Human Brain Atlas data, GTEx FPKM values, cell-type expression patterns) stored in gene_expression_context DB field. This data is NOT rendered anywhere on hypothesis pages. Add a Gene Expression Context section to hypothesis detail pages, rendering the markdown content.\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:28:17.821860+00:00","updated_at":"2026-04-16T10:28:17.821860+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/04a0e5a2_c96_spec.md","provider":"any","payload_json":"{}"},{"id":"e2ca9a2e-6f00-448f-93c3-6d5e488fbc95","title":"[UI] Fix None-subscript vulnerabilities in api.py templates","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T14:00:12.503443+00:00","updated_at":"2026-04-25T14:00:12.503443+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e2ca9a2e_6f0_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}"},{"id":"q10-u1-DB649BF2","title":"[UI] Polish all pages for demo readiness","description":"Audit all pages (/,/analyses/,/exchange,/wiki,/graph,/senate,/quests,/resources,/forge,/gaps) for: consistent nav, no 500 errors, no broken links, fast loading, consistent card/table styling. Fix any issues found. Ensure hamburger menu works.","status":"done","priority":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:55:53.785773+00:00","updated_at":"2026-04-25T11:55:53.785773+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1d56aaa3-9774-4144-aa84-e47eb58e3f63","title":"[UI] Create missing Senate dashboard frontend","description":"The /api/coverage endpoint exists and returns orphan work metrics, but site/senate.html is missing (returns 404). Need to create the Senate dashboard HTML page to display coverage monitoring with auto-refresh. This was marked complete in task 6d500cfd but the deliverable wasn't actually created.","status":"done","priority":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:05:19.515956+00:00","updated_at":"2026-04-25T11:05:19.515956+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/1d56aaa3_977_spec.md","provider":"any","payload_json":"{}"},{"id":"b8fe5306-8e4d-429c-a2af-99184c6b5135","title":"[UI] Fix /showcase page — route defined but not active in running API","description":"The /showcase endpoint is defined in api.py at line 14264 but returns 404 because it was added after the last API restart. Verify the route code is correct and will work once the API is restarted. Also check for other routes that may be defined but not active.\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-18T15:58:00.979488+00:00","updated_at":"2026-04-18T15:58:00.979488+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b8fe5306_8e4_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"aa0bc26e-281b-48f1-a599-f0a7e628e077","title":"[UI] Fix entity page 500 — NoneType subscript error on papers with NULL authors/title/journal","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:44:26.841511+00:00","updated_at":"2026-04-18T15:44:26.841511+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/aa0bc26e_281_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"909c0688-ec05-4d81-9048-2f9d2b900c74","title":"[UI] Add search box to navigation bar for quick search from any 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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:36:37.631996+00:00","updated_at":"2026-04-18T15:36:37.631996+00:00","summary":"","completion_notes":"Verified: search box already on main via task 6296e980 (commit f9bc92b81). Added Already Resolved note to spec. Local commit 85c71e52c. Push to GitHub failed (no remote auth). No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/909c0688_ec0_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"85c71e52c\"], \"completion_shas_checked_at\": \"2026-04-18T15:36:37.613351+00:00\"}"},{"id":"609f3013-8d3b-4a1b-896a-107c53ed1fe3","title":"[UI] Add API auto-reload on code changes via uvicorn --reload","description":"The scidex-api systemd service runs uvicorn without --reload. When api.py is updated via git merges, the running process still serves stale code, causing 500 errors on /atlas and /notebooks. Fix: add --reload to the uvicorn command in the systemd service. This will auto-restart when api.py changes, eliminating stale-code 500s.\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-18T15:36:13.281203+00:00","updated_at":"2026-04-18T15:36:13.281203+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/609f3013_8d3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"7b92e4e2-470a-4830-ab71-5b2fe8a1e291","title":"[UI] Add global search bar with autocomplete to navigation on all pages","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:35:33.294688+00:00","updated_at":"2026-04-18T15:35:33.294688+00:00","summary":"","completion_notes":"Task verified complete. Search bar with autocomplete exists in api_shared/nav.py (navSearchInput line 376, navSearchResults line 381, autocomplete JS lines 383-568). Original commits 756240a4b and d5518b428 are orphan commits on the remote branch — their content was preserved when api_shared/nav.py was extracted from api.py (fe03c1694). Commit 07cd1262c adds the Already Resolved note to the spec.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7b92e4e2_470_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"07cd1262c35d6e0e8c08e2c66f65a66b1e82c3f9\"], \"completion_shas_checked_at\": \"2026-04-18T15:35:33.276020+00:00\"}"},{"id":"c8c5076c-b3a4-4ac5-bc28-6a52ed4d87fc","title":"[UI] Add /demo/walkthrough redirect and fix /notebooks 500 error in production","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:34:33.035967+00:00","updated_at":"2026-04-18T15:34:33.035967+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/c8c5076c_b3a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"0c12f008-ddbc-4745-af7f-7deca66b8d50","title":"[UI] Render mermaid diagrams in hypothesis descriptions instead of showing raw code","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:34:25.275748+00:00","updated_at":"2026-04-18T15:34:25.275748+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/0c12f008_ddb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5, \"analysis\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"ab26dbdf6\"], \"completion_shas_checked_at\": \"2026-04-18T15:33:58.530628+00:00\"}"},{"id":"cc807612-4836-4b40-8a84-ed84f22bf32e","title":"[UI] Remove duplicate route definitions in api.py","description":"api.py has 5 duplicate route definitions: /agora, /api/coverage, /debates, /hypotheses/{hyp_id}, /status. FastAPI uses first definition, making subsequent ones unreachable dead code. Removed 431 lines. Branch: worktree-fix-debates-dupe\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-18T15:30:51.830683+00:00","updated_at":"2026-04-18T15:30:51.830683+00:00","summary":"","completion_notes":"Task already resolved on main. Commit cea4f100d removed 425 lines of duplicate route definitions. Verification confirms all 5 paths (/agora, /api/coverage, /debates, /hypotheses/{hyp_id}, /status) have exactly 1 definition on origin/main. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cc807612_483_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"cea4f100def6fe432faa7710640de2c4fc0c184a\"], \"completion_shas_checked_at\": \"2026-04-18T15:30:51.807175+00:00\"}"},{"id":"ac43d84f-7c45-4df9-947c-3fb50f8fffd4","title":"[UI] Optimize entity page queries — most entities taking 0.8-1.6s","description":"Entity pages for APOE (1.6s), APP (1.5s), MAPT (1.3s), BDNF (1.2s), LRP1/NLRP3 (1.1s) are too slow. Profile and optimize SQL queries on the entity detail page. Target: <500ms for all entities. Previous optimization on TREM2 worked (cached at 3ms) but the optimizations need to apply to all entities.\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-18T15:30:49.601559+00:00","updated_at":"2026-04-18T15:30:49.601559+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ac43d84f_7c4_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"fcf2de19-e005-45d8-ab57-b2459f930d2d","title":"[UI] Add hypothesis comparison modal to Exchange page","description":"Quest 2/16: Exchange page already has compare checkboxes (compare-cb class) but no comparison modal/panel. Add a comparison view that shows 2-3 selected hypotheses side-by-side with scores, evidence counts, and pathway diagrams.\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-18T15:28:48.714053+00:00","updated_at":"2026-04-18T15:28:48.714053+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/fcf2de19_e00_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"32db7caa-c28e-46cf-baf9-59e4eae03b86","title":"[UI] Fix TypeError in entity page edge rendering","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:22:56.140532+00:00","updated_at":"2026-04-18T15:22:56.140532+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/32db7caa_c28_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a41440f1-74d0-46ae-93ed-93eb1e4fcb61","title":"[UI] Build /targets listing page for 150 drug targets","description":"Quest 2/10: 150 targets exist with druggability data but /targets returns 404. Need a listing page with cards showing gene symbol, druggability bucket, target class, score, and hypothesis count.\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-18T15:19:25.642134+00:00","updated_at":"2026-04-18T15:19:25.642134+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a41440f1_74d_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"763524e5-035c-4acd-8677-3937ec917ab4","title":"[UI] Add Open Graph meta tags for social sharing previews","description":"No Open Graph (og:title, og:description, og:image) or Twitter Card meta tags exist on any page. When SciDEX URLs are shared on social media/Slack/etc, no preview appears. Add OG meta tags to hypothesis pages, analysis pages, wiki pages, and the homepage for rich link previews.\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-18T15:15:48.333079+00:00","updated_at":"2026-04-18T15:15:48.333079+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/763524e5_035_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a31c1245-2c2d-4da0-a47e-b147a2c0c078","title":"[UI] Optimize hypothesis detail page — reduce 17 DB queries and add connection pooling","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:13:21.964758+00:00","updated_at":"2026-04-18T15:13:21.964758+00:00","summary":"","completion_notes":"Verification: Optimizations already present in api.py on origin/main at lines 33952 (parent_title JOIN), 35072 (hypothesis_papers LEFT JOIN), 36231 (parent_title in template). Connection pooling via psycopg_pool.ConnectionPool in api_shared/db.py:144-158. Work done in 23a579b68 but was on orphan branch — survives on this branch. Acceptance criteria satisfied.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a31c1245_2c2_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"d554fe40f\"], \"completion_shas_checked_at\": \"2026-04-18T15:13:21.935156+00:00\"}"},{"id":"f949d28f-175e-4e2e-8e00-96ad096f8453","title":"[UI] Add universal search bar with autocomplete to navigation","description":"Add a compact search input to the top nav bar that queries /api/search?q=...&limit=5 on keyup (debounced 300ms), showing a dropdown with type-grouped results (hypotheses, wiki, entities). Clicking a result navigates to it. This is Quest 8 S8.2 - critical for demo experience.\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-18T15:12:45.427949+00:00","updated_at":"2026-04-18T15:12:45.427949+00:00","summary":"","completion_notes":"Verified search bar implementation exists in origin/main at api_shared/nav.py. Implementation includes: navSearchInput at line 377, debounced autocomplete (200ms), type-grouped results with color coding, keyboard navigation (Escape/Arrow/Enter), Ctrl+K shortcut, \"View all N results\" link.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f949d28f_175_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"9e24306d-1adc-48c2-8a1e-e1501aec575f","title":"[UI] Add --workers 2 to uvicorn for parallel request handling","description":"Single uvicorn worker causes all requests to serialize. Under load from health checkers and crawlers, pages stall 5-10s waiting in queue. Adding --workers 2 to /etc/systemd/system/scidex-api.service would allow parallel request processing. Requires human operator to restart 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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:10:25.794972+00:00","updated_at":"2026-04-18T15:10:25.794972+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9e24306d_1ad_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"c15f105f-4e1b-4708-aa00-3ff847c35a2e","title":"[UI] Fix /api/graph/{analysis_id} endpoint returning 404s","description":"Link checker found 17 broken links to /api/graph/{analysis_id}. Two analyses (SDA-2026-04-02-gap-tau-prop-20260402003221 and SDA-2026-04-01-gap-lipid-rafts-2026-04-01) exist in DB with completed status but endpoint returns 404. Need to fix endpoint to properly handle case-insensitive analysis ID lookup and return graph data.\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-18T15:09:31.836196+00:00","updated_at":"2026-04-18T15:09:31.836196+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/c15f105f_4e1_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"6ae96e37-21a8-4ed5-bf2f-33ea2493fcaa","title":"[UI] Add /dashboard page with platform overview stats and quick links","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":90,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T14:56:46.370551+00:00","updated_at":"2026-04-18T14:56:46.370551+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/6ae96e37_21a_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"62b509d8-facc-441d-b39d-d8a7b4e469cc","title":"[UI] Fix /notebooks 500 error — StaticFiles mount conflicts with page route","description":"The app.mount('/notebooks', StaticFiles(...)) on line 17640 overrides the @app.get('/notebooks') HTML page route on line 14657, causing a 500. Fix by changing the static files mount path to /notebooks-files or similar to avoid the conflict.\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-16T14:06:13.890036+00:00","updated_at":"2026-04-16T14:06:13.890036+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/62b509d8_fac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"5e083da5-03ea-4567-b98f-9bdf4123ad22","title":"[UI] Fix link checker to handle transient 502 errors","description":"Problem: Link checker creates P90-P100 tasks for 502 errors during API restarts, creating task spam (18K+ false positives in last run).\n\nRoot cause: check_link() doesn't retry transient failures or check API health before crawling.\n\nFix needed:\n1. Add retry logic with exponential backoff for 502/503 errors\n2. Check /api/status before starting full crawl\n3. Filter 502 errors from high-priority task creation\n4. Add --verify flag to re-check broken links before creating tasks\n\nAcceptance:\n- 502 errors retried 3x with backoff before reporting\n- Link checker skips or defers crawl if API unhealthy\n- No P90+ tasks created for transient infrastructure issues\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-16T13:10:54.724224+00:00","updated_at":"2026-04-16T13:10:54.724224+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/5e083da5_03e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}}"},{"id":"860e536b-4b93-46ee-9630-a2110cb8b5f5","title":"[UI] Add /targets to navigation menu","description":"Add /targets link to main nav and sidebar, similar to /experiments\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":89,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T22:31:42.740962+00:00","updated_at":"2026-04-20T22:31:42.740962+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/860e536b_4b9_spec.md","provider":"any","payload_json":"{}"},{"id":"2077201c-c23e-458e-bce9-1bdbdb94f658","title":"[UI] Add /experiments to navigation menu","description":"The experiments page exists but is not linked from navigation. Add it to the top bar nav (Main group) and sidebar nav (Explore group).\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":89,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T22:29:39.526876+00:00","updated_at":"2026-04-20T22:29:39.526876+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/2077201c_c23_spec.md","provider":"any","payload_json":"{}"},{"id":"2eac3b19-2374-4903-8eea-3b8350aff5b4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.407835+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"73461b32-43d1-46fd-998b-01b6fb3ec6ad","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.394347+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"49fa743f-22c5-4c21-8c5d-1d2f72625776","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.380772+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"edce1968-50b4-4786-891a-02018560cd93","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.366937+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8ab0b96d-c3be-4311-977f-3c3e1f3b82f3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.352558+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"88d32103-2a28-46b4-a174-f4ca177a1e6e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.337736+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3bdd9bd2-8a3a-4c15-a791-67d0e4ca0f2f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.323346+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1bd9f6f1-4929-43cf-9aea-7cc7404c31c3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.309456+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8381bbb1-68d6-4055-a0c6-2d53b67dc801","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.295202+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"155e9556-a33b-4698-8762-99899fc9c198","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.281658+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"caef4f61-958e-498e-8367-451c1f69a866","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.268526+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0e6223b6-dbef-4a32-ae75-c52f09ee21d8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.254929+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"956a3217-6ea6-4dff-81f3-57379eb70b83","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.241265+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"100baf53-b0dc-4cc8-83bd-d6f9bb19ab3e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.227234+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a5115bb-424a-4df9-91f4-6c1e22858692","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.213721+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"918ed5da-9ae9-4165-88df-362036c5f34a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.199754+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f76b8db7-9d67-4e79-b846-b3a04110a9a2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.185544+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4e032c4d-cad9-48ee-9e9e-37e46a6a77d2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.170678+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b64b48af-941f-4ca7-a647-fed1a41c90d9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.155566+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fa94e618-0966-4ddb-ad0f-4fb7be3ab61c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.140377+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ebb9f017-8ead-4157-a748-c7a0fe9ff12c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.126737+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e2a03a9f-ec9b-4cbc-afa9-0510233bcd5e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.112722+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"edc734ff-b8cf-4bce-8468-5f6cce1c2106","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.098734+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4a431b17-d77f-4b7f-b50f-6241e91e2fd7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.083865+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bc000fce-b2ae-41bd-86dc-f5069bd5910b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.069084+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e7c99615-7875-422c-b398-9751ef1d7e5e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.054598+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0dd1d31c-0046-4f0e-802c-0d1d5fc11784","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.040637+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1d8658fa-f265-4839-ad79-5dbe21d00c6b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.023772+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"aafa044f-53aa-4e64-a973-0c2a70100d08","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.006618+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6a5d312f-2e6c-4a74-8404-745d2ae86fa7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.989669+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d19653e6-0d9a-44be-9652-3af9c5bbfbdc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.926006+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2aeff8cc-992e-40ba-abfd-b4bbd295e640","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.905674+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8ae75e74-4395-47ca-ab39-2b3c138843f8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.889795+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4a394250-c0bd-400e-a18b-7b6a4b031096","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.874524+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a76da90-e1e6-4363-99c5-08fc9300ec37","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.856635+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6a0c23e0-36ed-419d-a217-beb4f764139c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.839470+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3fa93e99-bc59-4424-906d-9fe08a8c388d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.825216+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d86bb22d-44d1-4a6c-b343-f5bda001ab93","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.808286+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"76b44de8-8b75-4b78-8afc-bd6de42baa9a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.790066+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a1b87862-f8b7-4a90-bdf9-485f1b24b796","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.773329+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5b997468-f2ec-404b-8347-887d06e117fa","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.757036+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"67cd1804-97ec-4458-9722-677b2c49efbb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.741534+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6da6d517-7bc3-400d-8834-2b7b1667121e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.725801+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9dca4293-82e0-4d41-88ad-6b8dc165b03b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.710628+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c66969ce-ab0d-4b64-af44-49f425079c52","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.694403+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b93243e7-1332-45af-9ab8-c3d0ee8acb9c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.678339+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4e570554-4dad-45c8-bddc-3b110fdacf41","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.662665+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"58712941-10a0-4cb6-a230-0512e238694f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.647336+00:00","summary":"Duplicate task - consolidated","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4ead2ec4-2b11-4c9e-b157-edd573e1877d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.632995+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fc1087b2-b05f-4a0b-b37c-ced647254fc9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.615710+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3a34125e-4d6c-4075-a192-ae66588e6f23","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.597366+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"438e3dbe-7f56-4e2f-aac3-db8c1c0aad29","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.581020+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"01dd9faa-1b61-4d7d-a533-51d5e515cb74","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.564804+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fe458ee9-e5e7-4338-bbae-07277c50cd9b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.551193+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"662a9e20-07d9-4a22-934e-e98e26af8b1c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.537138+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bbbdb1b0-cea0-424f-889f-e165b193df90","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.521683+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9b5f8723-381b-4425-b770-5f3089c933a9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.506146+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e076abce-9865-4549-a65c-8a856bc61cb8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.492390+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"11800fe3-94bb-42b8-a3b7-8ae07ff5c43a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.478877+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d0466fc7-66ee-4e04-a448-30a66a00d8e0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.462391+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"58bb6df4-1c63-4493-88fc-7cc8c98bbd70","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.445888+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6635b98d-eef6-4259-bd92-92e2b7806c32","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.430766+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7f0902a7-815b-4bd2-b512-bfc678738220","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.416380+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ad89bffc-c8c7-437c-b6a7-f3c02c8024e0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.401638+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d7533398-3ba7-4b00-94f4-04d2b5e829fc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.385475+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6e615d79-db8f-4357-9128-601ec538596b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.369777+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bc2f2eab-3962-4c96-a22e-01cb8721f256","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.354815+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"23a5d4ab-4b00-4898-b516-55a884b01b26","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.340983+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b2882483-8628-4031-b431-e0110f33a67d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.325753+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dd5ff4eb-34e0-4ebd-af0e-62372158d765","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.311994+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"146f62e4-4666-46ac-bc7f-f9dd3ed11b69","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.297887+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4bcd0db2-8981-41e3-b9b1-cef73345b0c8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.282440+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"50fa9de1-86dd-45c4-827e-c1524bd5d41b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.269186+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bb1d4853-b6ff-4297-ad55-4547ed4a3d40","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.254986+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7b064ffa-0847-456d-8591-45b1e2b04262","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.240997+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b9a325a1-a9db-41d0-9355-090f95f457d3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.226853+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bbf0b4ec-ed86-4679-b05f-3d33993c13d9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.211617+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a7c1a096-9ef0-4301-b7e8-50c8b61a07c9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.195435+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7ac94f2c-30f1-46e5-b644-1e21ef37e73c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.180195+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"40751743-ab81-4332-a877-3134f0e68d9a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.164445+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ca9a57da-3957-4b84-98ee-0bdce1363ae9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.148757+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8693eb84-19a9-4ec9-ba49-d3634a0b4d78","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.134973+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d560d13d-9f52-4d88-883f-3d5606dfb35e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.121122+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1789fac4-ecd6-4514-8024-5b8e34dd30b0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.107214+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6fa8a40c-4205-4755-a188-8238ea2d27be","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.091661+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"21fb2c46-6934-49d1-94ee-fea3f0e7a56b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.077046+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"72a54e39-fca9-4e23-a9d7-82ffb6e8d6ca","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.063200+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"61d5605f-53c3-40f8-aaac-fc69db9eec83","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.049379+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"024e821d-2e45-43ea-8a55-b0e2f23c5757","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.036298+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"19946ae4-ef91-4a24-b608-15b9117b4306","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.022177+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"424439ec-9111-4a25-b259-df26e6375fbd","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.007639+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ac78bb2e-2d02-41cc-be01-3ac070b1aaf7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.991650+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7939e877-c9a8-41b3-bf6d-4e8c030f768f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.957891+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1bd17f40-5943-4163-9699-bdbcc54ceb87","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.943084+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"820f3bbf-4260-4ad6-8883-bcd69dbbb320","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.928682+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"510d9062-08d9-42e1-a396-f2a7738b9d8a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.912550+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f7e1cf0b-8329-43a2-a4e1-cec74d2bf0d1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.898820+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e30079bf-37ee-4970-b2c3-eb2bf1c848e6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.884038+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"29d5c699-9314-4473-ab7b-a3b8fd0d7be0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.866762+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ebd12a12-a54c-40e9-adfb-13f40f2ccee7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.850553+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"56f36a46-70ad-4e49-a46b-8282f6f8de55","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.833171+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a34b3052-b9b5-4e25-b6ce-2331feb99d1f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.817537+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5e137a20-41ab-4784-80bd-a3532e80f8ec","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.800698+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3f314a58-09aa-41ee-b570-c7a838eb2726","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.784377+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bba9ef66-5f12-41be-a873-f4251b46c9d4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.768854+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"151ae9e3-d3cb-41d5-96ce-758bd2166884","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.754643+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2290030b-2c6a-4f4d-9da4-ada2d4ecca68","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.741313+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"38f70522-aae5-4f4a-a7f7-43d520bfc3cb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.727746+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3097c9f9-3270-43f2-aafc-257659ebcc12","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.711963+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e0f03845-6f17-49a2-af20-7928309ea5d6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.696397+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f45fbff2-ee87-426a-812b-ea019e2ebd2d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.680058+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d9b6d2b4-d4cb-4ce0-bf3a-701c651d60cb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.666855+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a69c465-2592-440d-8d00-18252990b9dc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.652088+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c7116e66-f7c2-4ded-97eb-9ae960967c7f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.637528+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6d5f337e-c485-4370-812c-b0841f1e874b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.622330+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b5b2418b-8043-4cda-872c-ae804c61c147","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.608677+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"882dc4db-36fc-427f-a63c-f73493849cf2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.593466+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"61fe1fc9-2421-4983-bc67-df4885e579e2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.579375+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bbd8c3a1-1453-47e6-892c-5c9a5cc80323","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.565556+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e11884ed-7c00-40b7-89bf-71bf6e132785","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.551409+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0977311e-23ee-46bc-b752-0993ebe242b6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.537184+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"45044331-5e2a-4b0e-8674-97e056cfbe69","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.523098+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1465466f-1f23-411d-8c2e-61a98cfd0389","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.508588+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8631815e-d20e-4d48-b15a-887ac9064de8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.492782+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"068dfa41-285e-4f59-bffb-2fca259f70af","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.478687+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8d387520-10d3-4b1d-94a4-152f0d129cf8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.465270+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1268fffe-9e30-4809-82b1-32fc72997702","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.451032+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b7b56bd5-1f21-45ea-a54a-7aa91cd0f7e2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.437041+00:00","summary":"Duplicate - already implemented","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c951b64b-d6fc-4745-815c-1944f494fbdf","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.422541+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1c731944-e800-4779-85a8-7a66107330a5","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.409092+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"06a75b9e-dfc9-4c55-9e61-70cab3846022","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.395543+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a5698006-145e-4d7c-bd78-89e1b9e29c5c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.380836+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"72ebeeee-69b7-4310-bd8e-8aa9711044cd","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.366575+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"93db3bb8-4936-4945-8f1c-5d30d8985671","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.351230+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"080a91b2-898a-4264-8694-437c55acee61","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.337671+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0ca3a8ee-160f-43b7-8811-dceb9542dccc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.323038+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ce87e8d1-6b8e-465c-b6c6-84449e662db2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.308579+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5785cd38-3357-4b65-b01a-255c1aed32a9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.294135+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c43acf40-34f3-4364-a72b-bd4c8fc0cdc7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.280670+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6354db27-e7e6-42ca-8500-42abe22c7c66","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.267488+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a310867e-9d4c-487a-8c67-c62ebe13426e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.253702+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"482507b0-db42-4fd3-b5f2-7338fb763cb1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.238850+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"10fd47ae-0dfe-481c-8d30-9b7d63f2a0f0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.224231+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7c1271c9-cff3-439d-8e2a-e4d68cea612f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.209963+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"97c12ddf-cd35-4bce-89ea-3065f5cf4c4a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.194800+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ad2fc0d8-75c6-403e-aea1-c926e4ba76a3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.179655+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a85e8d8b-f9eb-4f3d-861c-cd40cd924e2a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.166541+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5109e809-3261-46c3-af85-65ed3f5eaa16","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.152496+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"363683b3-91bb-4894-b990-1365d2477f79","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.138923+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2c7b9604-ea60-417c-b659-2485b54b1e7d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.123345+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"46eabf3e-a25b-4a80-9762-21fed7d80a0b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.109436+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"12551703-3d83-4b3d-9dda-76a2d569f4ec","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.095806+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9faa89c0-b6f1-4f08-8950-b086a02889c1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.081987+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6e849939-375a-4f13-bd59-15241916790c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.067580+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"52b8ad9d-70b1-4799-983a-a09eefd4eef4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.050581+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b1284764-7bb7-4db4-b2c2-3a0d71bf4c87","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.021687+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0233a35d-3ccd-4bd4-a7b8-d3c18a8b4951","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.006276+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6b592391-a556-441b-89fd-9e2e23d6fbc2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.992334+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"35667407-85d6-4cc2-acb1-19f6bc166045","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.978750+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"364da04f-919a-44a6-a70b-f0bf7ecf47c8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.964953+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"548ef3fc-498b-4dec-ae2c-2828b738b346","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.951934+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"23f32eb8-7dc8-453f-8b04-b8e7777a0899","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.938093+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"057624d9-9fbc-4bb3-83ef-49ef44759675","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.923353+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"949446a4-c852-4056-bf7d-b876140943a0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.909685+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"383dc7f4-9ae8-41a3-b559-f16f12e6c805","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.895509+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c199fd79-d8c6-4776-a7de-a6aa2d968e12","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.881833+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"123e31c1-15b8-4116-8b30-8e0a6dd94a49","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.867870+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6e82909e-3f1d-4dd3-9416-1a76cf40cdda","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.853813+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"452e4f5a-b2a6-4305-84f7-2c0ae3ad9b0b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.837002+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"15855131-98e2-4861-983e-a40e5b250f6e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.823465+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"40ac352f-2bc4-4a11-991e-8add7e8c46ae","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.808853+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"219afd31-93d9-4207-b76c-587559b5b8c2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.793645+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5e8e98b2-55eb-4dfa-9dba-29c1ca9de47c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.776338+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1cd86212-6e72-4ca9-9258-2bcda351e90f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.760580+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1db78779-9017-4468-bb21-5af4bec78350","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.746551+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c3039767-af55-465c-9eab-fd50efc817a7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.730034+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bdd79510-79c4-427f-993c-521cc22d2e1e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.713414+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0fc59af4-a60a-4e9f-859c-e9a35457b562","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.696598+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f3f16e52-a540-4daf-be98-497f8fc0666f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.681887+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"aca72508-b052-4de6-a794-190431e04b70","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.666268+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9a39517f-19d1-4169-b11e-6e370262ec5a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.651504+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"48460d8e-eba5-4742-9c76-ca85291e23d7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.635482+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"86f62c69-dc00-4e2f-a71e-e50247348968","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.619319+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a6a8553-2955-4ff1-bec3-304c69239a63","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.602055+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f605325e-dd96-42a7-b964-2a3b2f8f9ddb","title":"[UI] Add /experiments listing page with filterable experiment cards","description":"Create a browsable /experiments page showing all 188 experiments with filtering by type, target gene, and disease. Cards should show title, score, cost, and linked hypothesis count.\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-21T01:21:01.238206+00:00","updated_at":"2026-04-21T03:20:49.062056+00:00","summary":"","completion_notes":"","last_error":"worker_exit_unclean exit_code=0","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f605325e_dd9_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"d5c7c383-2ed0-446c-80ab-a79203fa793e","title":"[UI] Add /status system health page with DB stats, service health, and recent activity","description":"Add a public /status page showing: DB size, table counts, service health, recent analyses/debates, storage usage, uptime. Useful for demo and operations monitoring.\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-21T03:01:49.357514+00:00","updated_at":"2026-04-21T03:01:49.357514+00:00","summary":"","completion_notes":"No new code change needed. Prior commit c2f355cbd contains [task:d5c7c383-2ed0-446c-80ab-a79203fa793e] and added the /status page with DB stats, service health, recent activity, storage/backup status, and uptime. Verification 2026-04-21: curl http://127.0.0.1:8000/status -> 200 OK, 60963-byte HTML with System Status/Services/Database Tables/Uptime; curl http://127.0.0.1:8000/api/status returned analyses=395 hypotheses=747 edges=711721.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d5c7c383_2ed_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"c2f355cbd394509a4509222738df32a80ac59c42\"], \"completion_shas_checked_at\": \"2026-04-21T03:01:49.332505+00:00\"}"},{"id":"6cfd32be-46be-41e2-a771-4d3d82d23786","title":"[UI] Fix 404 errors on /showcase and /experiments pages","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-21T02:15:12.923212+00:00","updated_at":"2026-04-21T02:15:12.923212+00:00","summary":"","completion_notes":"Commit 78d2a47109b8ed57f4651c95d7d4efa46e6ce2ec pushed to orchestra/task/3ac0ed47-3580-4c91-bf12-25d35bee2a94. Tests: python3 -m py_compile api.py; imported api.app route table and confirmed /showcase and /showcase/ methods GET+HEAD; direct FastAPI curl before change showed /showcase 200 and /experiments variants 200.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6cfd32be_46b_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"78d2a47109b8ed57f4651c95d7d4efa46e6ce2ec\"], \"completion_shas_checked_at\": \"2026-04-21T02:15:12.895042+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"aa945ffb-6cc0-47c1-a836-50c9b4b451cb","title":"[UI] Add page caching to slow pages (exchange, senate, quests)","description":"Exchange (342ms), Senate (1338ms), and Quests (253ms) pages lack caching. Add _get_cached_page/_set_cached_page with 60s TTL.\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-21T01:20:33.910716+00:00","updated_at":"2026-04-21T01:20:33.910716+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/aa945ffb_6cc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"5320432c-bf55-4ff6-b957-5ad5b0f93e41","title":"[UI] Fix /gaps page slow loading (1.8s) — optimize queries","description":"The /gaps page takes 1.8s to load, close to the 2s quality bar. Investigate and optimize the SQL queries to bring load time under 0.5s.\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-21T01:08:53.279287+00:00","updated_at":"2026-04-21T01:08:53.279287+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5320432c_bf5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"bd5a6663-adb7-4eef-a792-76152c20f6d3","title":"[UI] Fix 500 errors on /entity/ and /target/ pages — null field handling","description":"Entity pages like /entity/CASP1 and target pages like /target/t-2a37aa51 crash with TypeError: NoneType object is not subscriptable. Need to add null-safe access to fields that may be None in the entity_detail and target_detail functions.\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-21T00:40:52.538760+00:00","updated_at":"2026-04-21T00:40:52.538760+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/bd5a6663_adb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"ef9d02c5-8631-460c-b2a8-d27229648684","title":"[UI] Search page: support URL parameters for deep linking","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-21T00:40:15.609129+00:00","updated_at":"2026-04-21T00:40:15.609129+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ef9d02c5_863_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"dec65421-e6db-4ef8-a9ef-dbbc2a8b6be8","title":"[UI] Add styled 404 error page with navigation","description":"Currently 404 errors show raw JSON: {\"detail\":\"Not Found\"}. Add a custom exception handler that returns a styled HTML 404 page with SciDEX branding, navigation, and helpful links back to main pages. Important for demo polish.\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-21T00:40:14.896029+00:00","updated_at":"2026-04-21T00:40:14.896029+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/dec65421_e6d_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"efacabd6-da8b-434d-961b-566151158b3f","title":"[UI] Add /experiments listing page with filterable table","description":"Create the /experiments endpoint showing all 188 experiments in a searchable, filterable table. Include status, title, linked hypotheses. This is critical for demo completeness.\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-21T00:34:03.351598+00:00","updated_at":"2026-04-21T00:34:03.351598+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/efacabd6_da8_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"28b5284ea\"], \"completion_shas_checked_at\": \"2026-04-21T00:34:03.330573+00:00\"}"},{"id":"d65788b7-3267-4e7a-af9d-dcb476c0641c","title":"[UI] Fix broken wiki links — hardcoded slugs and improve fallback matching","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-20T23:00:28.761907+00:00","updated_at":"2026-04-20T23:00:28.761907+00:00","summary":"","completion_notes":"All acceptance criteria verified on current main (ccd04c084). /wiki/apoe and /wiki/mapt both return HTTP 200. Suffix match fallback (slug LIKE %-{slug}), entity redirect (wiki_entities → /entity/{name}), and corrected hardcoded /entity/ links all present. No code changes needed — task was already resolved in prior commits.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d65788b7_326_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"993baf5b-a932-4a30-a8e7-d8681d80317d","title":"[UI] Fix broken CRISPR walkthrough link from demo page — add to WALKTHROUGH_IDS","description":"The demo page links to /walkthrough/SDA-2026-04-02-gap-crispr-neurodegeneration-20260402 but it returns 404 because the analysis is not in WALKTHROUGH_IDS. Add it.\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-19T09:58:13.907354+00:00","updated_at":"2026-04-19T09:58:13.907354+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/993baf5b_a93_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"60827c16-12ec-4c7a-98f6-aa541b819eb0","title":"[UI] Fix analysis detail pages to show wiki cross-links from improved query","description":"The wiki cross-link query was fixed for hypothesis pages (JOIN directly from artifact_links to wiki_pages instead of going through artifacts table). Verify the fix also works correctly on analysis detail pages and experiment detail pages by testing with TestClient.\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-19T00:47:31.522858+00:00","updated_at":"2026-04-19T00:47:31.522858+00:00","summary":"","completion_notes":"Task verified complete on main. All 4 tests pass (8842a4598, 91e9babe1, a1c9c112e already resolved). Direct JOIN at api.py:32574, 35898, 38426. Push blocked by auth (orchestra manages remote).","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60827c16_12e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"a1c9c112e\"], \"completion_shas_checked_at\": \"2026-04-16T23:47:55.065962+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"6a650f80-8a68-43bd-8bce-cb98c7c66d3c","title":"[UI] Fix /notebooks 500 error: add missing is_spotlight and tags columns","description":"The /notebooks page returns 500 because api.py queries for n.is_spotlight and n.tags columns that don't exist in the notebooks table schema. Need to create a migration to add these columns.\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-18T17:44:01.371658+00:00","updated_at":"2026-04-18T17:44:01.371658+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6a650f80_8a6_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"059ef936-0414-4456-9f20-8c1e641bbcfd","title":"[UI] Fix top nav alignment and deploy merged nav changes","description":"Update worktree nav_html to current main navbar structure, fix horizontal alignment of top nav items, then merge/push/restart 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":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:39:40.556850+00:00","updated_at":"2026-04-18T17:39:40.556850+00:00","summary":"","completion_notes":"Worktree reset to origin/main (78683c138) confirming nav.py is already in sync and min-height fix (commit 555c797e7) is on main. Verification note committed to spec. Branch pushed via gh.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/059ef936_041_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"24ec6872a\", \"555c797e7\"], \"completion_shas_checked_at\": \"2026-04-18T17:39:40.538309+00:00\"}"},{"id":"50c9497b-381d-48cc-8917-914ff78a054a","title":"[UI] Fix search API 500 and compare page 500 — sqlite3.Row.get() and wrong column name","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-18T17:35:55.964456+00:00","updated_at":"2026-04-18T17:35:55.964456+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/50c9497b_381_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}"},{"id":"3acd73a2-c12a-43d0-bc4c-8fa1d8b782c8","title":"[UI] Fix entity detail 500 errors — add None-safety and error boundary","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-18T17:10:57.508936+00:00","updated_at":"2026-04-18T17:10:57.508936+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/3acd73a2_c12_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"0dce4c3a-5624-4968-aa75-8b18e4433d87","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation 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":"done","priority":88,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:06:59.797928+00:00","updated_at":"2026-04-18T17:06:59.797928+00:00","summary":"","completion_notes":"Verification commit added to spec. Task already complete on main at commits e5eed5556, c9d2ca9b0, 166e6d40d, e68cd0872, 3a46ff11f. Push blocked by GitHub auth in this environment.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0dce4c3a-562_ui_add_breadcrumbs_and_back_navigation_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"18a73eb3-7268-48e8-a9db-04abdd01cb20","title":"[UI] Create missing feedback table — prevents OperationalError on /api/feedback","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-18T17:06:23.006064+00:00","updated_at":"2026-04-18T17:06:23.006064+00:00","summary":"","completion_notes":"Task is already resolved — feedback table exists on main (schema at api.py:1964, created in production DB with 1 existing row). No code changes needed. Verification commit pushed to branch.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/18a73eb3_726_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"65f92687-5a57-4653-b0bc-9e5e3d84695b","title":"[UI] Fix navigation links pointing to wrong atlas URL","description":"Nav sidebar links to /atlas.html (static file) instead of /atlas (dynamic route with live stats). Fix nav to use /atlas.\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-18T17:04:49.228037+00:00","updated_at":"2026-04-18T17:04:49.228037+00:00","summary":"","completion_notes":"Verification confirmed: grep -r 'href=\"/atlas\\.html\"' site/*.html site/analyses/*.html → 0 matches. All 271 analysis pages already fixed by task 8ad4c451-bd3 (commit d0740a757). The nav correctly uses /atlas route in generate_analysis_html.py, site/atlas.html, and api.py _static_nav_active mapping.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/65f92687_5a5_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a140d6f5-bfd1-42f9-a816-d28f5158202c","title":"[UI] Add hypothesis evidence strength matrix with citation quality scoring","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-18T17:02:37.422599+00:00","updated_at":"2026-04-18T17:02:37.422599+00:00","summary":"","completion_notes":"Verification commit pushed as 7ad8f8975 but cannot push to remote (auth issue). Work itself already merged to main via prior commits a892728c9 and 28ce3c6dc on the orchestra/task/a140d6f5 branch.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a140d6f5_bfd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"7ad8f8975\"], \"completion_shas_checked_at\": \"2026-04-18T17:02:37.400278+00:00\"}"},{"id":"e273532b-f6e4-4436-a86e-8df0dbc84736","title":"[UI] Add /notebooks to nav sidebar under Knowledge section","description":"The nav sidebar links to /artifacts (Artifact Gallery) but not /notebooks, which has 99 Jupyter notebook analyses. Visitors can only find notebooks through /demo or /artifacts pages. Add Notebooks link to the Knowledge section of sidebar nav for better discoverability.\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-18T16:57:59.964555+00:00","updated_at":"2026-04-18T16:57:59.964555+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/e273532b_f6e_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a1c23b8f-57a2-4a19-a1a7-ed84e5db5ab3","title":"[UI] Add /debates listing page — browse all 47 debate sessions","description":"Add a /debates page that lists all debate sessions with quality scores, persona badges, hypothesis outcomes, and links to full transcripts. Currently the only way to find debates is via hypothesis pages. This page makes the Agora layer navigable. Data: 47 debate sessions, 4 personas, quality scores.\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-18T16:53:28.661002+00:00","updated_at":"2026-04-18T16:53:28.661002+00:00","summary":"","completion_notes":"Commit 2cb64c6f5 on origin/main implemented /debates page with all 47 debate sessions, quality scores, persona badges, search/filter/sort/pagination, and the rgba color parsing fix.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a1c23b8f_57a_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"5408489e-930a-498d-b069-9a67f2dbfcdc","title":"[UI] Optimize /gaps page query performance (1.4s)","description":"The /gaps page takes 1.4 seconds to load. Profile and optimize SQL queries.\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-18T16:52:34.290257+00:00","updated_at":"2026-04-18T16:52:34.290257+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5408489e_930_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"58be9a95-c650-4862-8d0f-81531af2239a","title":"[UI] Optimize entity and analysis page query performance","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":86,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T02:54:06.755655+00:00","updated_at":"2026-04-19T02:54:06.755655+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/58be9a95_c65_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"65be943b-e14d-42ec-8195-4eb25d45df60","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.588192+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c16b5643-e351-4c20-b05d-3978b516757e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.573230+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0303969a-08c8-4a4e-8ef2-afe4228f81e8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.557584+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4c1bfe24-6dd9-4a0c-9b1e-bc5a293cc086","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.538470+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e83b1c65-41de-481a-a967-866a3f79e1d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.523018+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ad4f8b52-d4cc-4b07-a940-0fb02e8b9886","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.507435+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4873541e-7d80-4fa9-b710-d3ec08ec4d7c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.492358+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0ec7bfa8-1864-41ae-9454-aa5405c7794c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.477353+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8883d062-091c-4686-a7b2-772a6eea73d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.461547+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cac98886-9c7e-48aa-9f94-7f924e328243","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.444498+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bc3ed275-c67d-45f9-adf8-aa54dd5a5abb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.428990+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"18ffd215-1231-4d3a-8960-eb4095731d8b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.412578+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ff17300b-45ad-4967-beff-f6fbaa04bf1e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.396725+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"268e9b35-0c8c-4bbf-aa67-af3dccf9dc16","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.357768+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c6547729-c30a-41f7-989b-ba4ef3f242bc","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.341747+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"531efb92-c46c-4612-a85b-8695a6cfc919","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.325131+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"44f741ef-3ea9-4304-bc96-dc1c438176e9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.308750+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a817adf6-6d8d-4ebf-968b-f8da4a875b6c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.292968+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d07e550d-9391-46d2-8293-d7edd8f7fc20","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.278433+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"589d09a0-5626-49fd-bd0a-66ab0bfcc913","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.262560+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d306df8d-9711-4190-b3c3-a6c2bdcc7151","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.248456+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7771d7a4-6a3f-4dac-806d-5a43446c3399","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.231067+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"574ef4e7-d238-41f9-ba36-672afbe89086","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.216190+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a0a308f8-d993-4417-bb9b-8656a6dd1089","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.200101+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ac58bb13-d8a3-4197-b41c-2caf0e38e768","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.185302+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"915c0aa1-dcdc-411c-8337-77dc7cd2af6f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.169745+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"58598339-689f-4f53-8858-25a091055806","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.155921+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ac146d6b-f50c-42ff-83df-5494f7b96c35","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.141494+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eef72b46-85ef-4f0c-b7b3-b7bf0169bcf6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.126222+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"987a3d3e-abea-49a6-8b9b-1e4a818474b7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.110508+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ba5fd37a-f2cb-408f-9564-cc5edc24b0c0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.095834+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fdce28e7-a7e6-4aa0-b7b0-cc2194b2977f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.081831+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b3bd89a0-8032-4287-ae37-112793272ed8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.067202+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"45545189-9881-44b5-9cae-7714e2f49e71","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.053758+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ced11912-6ae4-4a90-bada-59b3591e6ce8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.038679+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b36c975b-3123-4ee1-887a-06a08530bbd3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.024961+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d1731971-1bfb-4f88-a217-ee4ab02c1fc3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.011103+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"132a6b7f-6117-4b42-95cb-ed0388f29f47","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.997718+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8f990258-1bcc-4142-9384-63b62764cfe3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.984587+00:00","summary":"Already done: /compare page with radar charts working end-to-end","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"29f648b0-452a-4e2c-8f67-887687e7ee95","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.969802+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"74844ecc-f919-40fa-b48e-277fa274f200","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.955534+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"721f7a75-3a44-4921-b6b9-e18ebcf40419","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.941317+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5495137e-2bd6-4010-85a8-8370c7dc070a","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.927002+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"89aec085-2da8-48f2-9ee9-a9753f5c9f09","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.912387+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4ed0b4cd-6951-4118-b883-69087dc6cc6c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.897541+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d4ae2ca0-f744-4dc5-bbe5-9a54dcab6e6f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.882626+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"816425ec-41d0-469e-945b-0119d76fae5c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.865609+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f8c893a7-3d24-4ce5-aa8f-aebf71217188","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.849845+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0d8b07b5-8a9c-49c4-a9ac-e54d86d07827","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.832723+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"25fce051-e8dd-43c3-812b-716604478602","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.818454+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a694628b-29ea-4eba-83b3-9a06e13c7705","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.804060+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3d339a14-6a92-4c13-b126-15e1422cee49","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.787895+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f3b9ea7e-a2a5-4528-9697-f6c8271149e9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.773718+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"885635d3-9259-4abc-ab04-20a033c3b472","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.759754+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"23423f3e-2e4c-422b-9e65-3ab4a18d85d6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.745110+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f5348da2-ff15-469a-82d8-b7b9427f355c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.730602+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eed1ae00-65fb-40a5-a024-dc9dd461e80c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.715020+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"581944a2-901f-43a1-b2f7-e378433f4af1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.699697+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dd026d87-e831-4396-b0b8-525c611d99ff","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.684361+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2ea6b65b-8e13-41eb-a95c-7fdb0a2014d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.669164+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"afef04d5-25f4-4bc2-8522-4ca3d38d242e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.653917+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"21c83ee6-acf8-4503-977e-6f20eb622066","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.638507+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6915c579-4ab4-4e2c-af80-5fa3314000f2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.623701+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"220e3e75-1051-44de-a559-b2ca376e06c2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.608889+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"31438cf7-d36b-4d50-9252-5bbc341e6f77","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.595088+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8004fbef-5f33-4929-8393-b66e9ec010c5","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.581382+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"02ecac1b-b84e-4af9-a278-04f6071bd64f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.564947+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"00e6715d-b7d8-4cbe-8892-5f999a9d5fda","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.551294+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e8bb907f-ceae-446f-b9ad-39592bc931c8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.534101+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"70cb2db2-8a64-4ff0-8bba-65470d1f9500","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.520722+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7acf3f94-5725-40de-9cf3-5ea94ce6c5b0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.505953+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bf17fc8c-2584-4787-af94-185289e4530c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.490991+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e2342e2e-e116-46d1-a6cc-d38890e00534","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.476515+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"170d7492-1119-480c-a4d1-6104f2246d3f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.460894+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6229902a-64f9-49d5-be56-3842effc96d2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.443328+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1644c5a8-eaea-413f-a5e4-73865c9a90d3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.424920+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fa0b9ed8-8536-4e1e-b52a-204a3eb05b3f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.390841+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ee47dfb7-fa6b-45d5-9f20-5fe04620753f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.375769+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5d2b4fe6-7e25-4fc7-ace8-8f9c8651ffb8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.358473+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2183ff09-68af-4f55-8250-f87d1e10212d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.341008+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f5344cb2-b860-48f3-831b-77e6692649ce","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.325220+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"32843a15-992e-44d9-ba9f-6996e115d167","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.309933+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"be681448-0c79-47ab-a546-58e18fc96d6d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.292277+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ed166c86-ece9-4005-965e-37c6deefb213","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.277136+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"48df3414-e35e-4be8-983c-5b45002952ee","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.263690+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"378ab047-9db7-4584-a8f6-4115dc1e06d7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.248779+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bb066a60-3c06-4311-bd54-b3baaeb6e9c0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.234420+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8b5aad4a-a0ee-4e55-b7ad-36cdc93d7167","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.220181+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a4ac084-26bf-4624-9f4d-f390d00daf1b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.202657+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dba1afd5-fb2b-4985-8109-4abc9a0a260b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.187413+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"76f11b1f-674f-44f5-a437-4df53a938913","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.173600+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a933923-031c-4eae-8196-f86afe945f02","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.158811+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"96d3886a-d8d4-4500-8bbd-0b1f488ef266","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.145006+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0228ade-a179-42e2-9bd8-682ca161d0a1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.131934+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ba160bf2-a013-4c39-b638-1ea78d15a231","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.118277+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c77cc45f-76ce-463a-92f3-3c59b8e862db","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.104612+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2fd5edf7-0b63-4309-91d5-220db7d9eb53","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.091663+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d1de897a-0d3f-4c4c-bd15-86c55ba8571c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.078189+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d66a8250-589d-4826-a467-8c30344e2423","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.063209+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"09fd47a7-921a-4be6-9b38-0136ca02ef12","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.050516+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4be2b8b1-e797-42f5-891e-0735787ece4d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.036879+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"10b4e77b-a53d-4d12-a4c1-3373c4f4e008","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.022168+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"93a64046-52f9-47ed-a5e5-02aad93f3087","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.008463+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7a0f518c-4189-4fd8-9ee1-61999fa5769d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.994550+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ddd51511-9587-435c-a8bd-5d13ee310912","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.980997+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"db6f9eb5-a0a3-4f5a-b822-8e22b3085728","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.967938+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ff19a7c8-805d-4261-8939-4b7c18294a35","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.955374+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f4650d83-942f-42f1-bc9e-a6ca0fd91ce3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.941781+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"17986e54-b4cd-414d-a259-9cd085ff50e2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.926967+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f3f1122e-8fa0-4dd4-a23c-0e93748e5807","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.912967+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"311852b1-a3b7-4898-96ef-041c55b08d43","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.898512+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"431a52ad-acba-4fac-8bcd-4d7c6c5edf77","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.884849+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d9d33a2f-97f4-422f-8a78-d7fb02702bf9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.870089+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d8563b3b-5d9c-47e0-b188-e8823fbdb220","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.854551+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"06c876c5-386f-4211-9e0e-36e24beba2ec","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.838621+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ee7e57da-a622-42ee-b16b-d638fa5c745b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.825065+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"09ff6a66-c3ce-4229-895a-3ee5b065de10","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.810923+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"084d499a-d2b4-407c-9d05-a75f1ad764f6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.796151+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a9cf54cb-d2f0-4cf4-84e8-8fbf5ff051cc","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.778363+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2b3b8f0e-8077-46b5-ae0b-f31eef016e30","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.756736+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8cb57ac2-2e59-4d2f-a763-9d7f95e62dc1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.731961+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c64afb8c-256c-4d92-8998-4b8a202e6488","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.714605+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cdc06650-60d1-4bf6-aff5-92e95f8260e8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.695989+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"366b34fc-976c-4736-be6b-2001dacc8159","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.677278+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"827963d6-b8b0-4e2e-822a-6f48434d4ad0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.658347+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eadd89fa-96b5-4a9b-a0b4-a580a9ad0aeb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.640712+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0e4721f3-67f5-4774-9fc4-1e925bac3cba","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.624802+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"471bdf9a-734b-4d00-ac55-99ffb8b0a231","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.608645+00:00","summary":"Duplicate - already implemented","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"318dfd99-e1ea-4f5a-88eb-9476f6ceb09b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.590699+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"99627abf-f9fb-4ad6-843a-a053a1355cf4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.573370+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"046939aa-7e90-4fcf-bdbf-67e561fa037c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.557701+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"13d433a0-c542-4f9c-860b-872326c9116f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.540119+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"84153dbd-0dd8-4223-b188-5b5febf6c39b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.522088+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"41bd9577-e8d0-43d6-b400-8d288cfac497","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.872461+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3f35439b-0ba2-437e-8932-3c5119cab876","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.858971+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d4d06a5b-f2d5-4d20-8184-8ad4c30c3ae2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.844149+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5d3a1f86-2b5b-4cd4-813b-d80a27d2e9eb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.829406+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1ac206f0-51b5-441e-a3f5-190d26ce1ec8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.815375+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7fdc445b-f5f4-4f99-be4e-1a2ed74c7a0a","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.800591+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7ed9feb3-a688-4e9d-9474-f73e64515ecf","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.782532+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"541748c7-8cb0-4fe9-b39a-693f8a65f35c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.749266+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"05a4eefc-0d25-4894-a4cd-87fe191b7581","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.734993+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8958e4f8-f99c-44dd-bd30-d6ab13448b64","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.719199+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d1e2a5af-dc33-4a12-aecd-88461af6fa12","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.704025+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"57499963-4712-4e5b-a4ae-9052379473f2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.688000+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1c0d01a9-d355-465f-a63e-b374565260e4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.671481+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e88cf64c-c7ac-4606-887b-f67295b03915","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.654956+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3bc7d803-3450-4ded-9fb0-9400728571ce","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.638789+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7b78c104-3ee3-4989-8bab-6723dcfd8149","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.623506+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"68149f09-372e-4b0d-b620-8a6c0e134b8b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.608989+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8f425959-3f8e-408d-ad17-aa24a5bc0bf1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.594468+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a44db2b7-efa8-432d-b022-c78e9b3439e4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.580175+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8f94d520-fd37-4488-816e-5c9bc490ec86","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.566261+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3fa55562-af54-4211-8d26-8335b16fcba7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.552380+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f7d6e6c3-b37b-4678-b1c3-5caea66a2865","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.539104+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"87fcc5b3-d057-4e35-96c6-64e542aeca30","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.525436+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ddc23fee-2fa2-4131-b54e-25ee79ac14c6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.511352+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e60c7591-0d6e-488f-8a42-099df1d5e25c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.497431+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9f8ad806-c690-4210-9e41-4d0a7017118f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.481153+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e1cfcabe-03e4-49f1-9f1f-7f82d3239754","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.466133+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d49328be-1e50-4969-a499-12fe6e75e780","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.451958+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7a275157-ed25-462a-9071-bb738ade052f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.438891+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f73118eb-0539-405d-b48b-60e299b5faf8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.425571+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a51d717e-6e1d-4f45-a59b-813961c11415","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.412638+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0c6687d-1023-4ef8-a9fb-4c52f9a4cc39","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.399375+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"83d97e01-d543-4de3-8001-39626964ab25","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.386189+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b0b2289a-4b13-46c1-8fa0-79bdd5dac654","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.372734+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"54171002-366d-45e8-b58b-0544da919fa8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.358791+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c527c477-2f52-4d39-87c7-9222736780c2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.345129+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a5a9dd17-5dbf-44f5-a825-6128c05b194e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.329786+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"27a8a74e-ebb7-4868-98a4-24e6d990d6cd","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.315310+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e8b26a60-d610-4483-b581-b028a77c44a9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.300901+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0148e302-7a29-4f68-8375-e7321ea459ef","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.286817+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"16778816-5ed6-4fbd-91b7-6afe1ae412be","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.271724+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3a09aca1-9b04-4d3b-a61d-05698f5c23b0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.257183+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dd3c47c5-2601-4f79-bf98-97d9d79e9a7f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.242970+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fe21fbc7-587e-4db7-be87-1e49bbfc3e73","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.228089+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"006da53b-d955-4ccf-83d4-ffd7fdc518ae","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.214366+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"292d2d91-d9b8-4c27-a2c2-f59b2673f9b1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.200272+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5aebca1c-ced7-4f9b-9067-ac93d3cbfbd9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.185465+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7f51a77a-1263-4a7b-8292-b901994ef697","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.171851+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7d397d99-c26b-44c9-a2de-bb105917dfe5","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.158483+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"40ed8eda-d989-4c5f-b35a-e9dd8546b844","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.144761+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a164dc6d-1159-4327-8128-4c5b7bd1b420","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.131633+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f38b1b34-9df1-4ae1-814d-fdeecdc1aec6","title":"[UI] Harden link checker against transient API restart cascades","description":"Reduce false broken links and runtime blowups when scidex-api restarts mid-crawl by adding outage-aware retry behavior and clear reporting.\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-19T04:44:43.750205+00:00","updated_at":"2026-04-19T04:44:43.750205+00:00","summary":"","completion_notes":"Hardening already present on main. Evidence: is_transient_outage() at line 528, reconcile_transient_failures() at line 573, suppress_transient_http0_noise() at line 766, generate_report() includes transient_outage_count at line 1218, and main loop wires all three at lines 1293/1325. Code inspection and syntax check confirms all acceptance criteria met. Commit bc490b64d landed the fix.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f38b1b34_9df_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"64c4130e-9c6b-44f8-b26e-19e5b997dde5","title":"[UI] Fix artifact version history None crash and cache corruption recovery","description":"Fix two bugs: (1) artifact_detail crashes with AttributeError when version_tag/changelog are null in DB, (2) page_cache.db corruption silently fails without recovery. Fix: null coalescing for version history fields, _init_disk_cache deletes and recreates corrupt DB file.\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-19T04:34:57.192009+00:00","updated_at":"2026-04-19T04:34:57.192009+00:00","summary":"","completion_notes":"Both fixes are already present on origin/main (commit 15c1dc260). api.py has null-coalescing (`v.get('field') or ''`) and cache.py has corrupt DB recovery. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/64c4130e_9c6_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"164a3c5a-9479-4f31-8ae0-326384af322e","title":"[UI] Fix /notebooks route: add missing tags and is_spotlight columns","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-19T04:33:30.831036+00:00","updated_at":"2026-04-19T04:33:30.831036+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/164a3c5a_947_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"935d3ab5-8319-46bb-ac10-b24a33ec849c","title":"[UI] Make Mermaid diagrams pan by drag at native size","description":"Update shared Mermaid rendering so pathway diagrams render at normal intrinsic size inside a bounded viewport and can be inspected by click-drag panning across hypothesis, analysis, and wiki pages.\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-19T04:31:14.193851+00:00","updated_at":"2026-04-19T04:31:14.193851+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/935d3ab5_831_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5, \"analysis\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"bd3b63bd8\"], \"completion_shas_checked_at\": \"2026-04-19T04:31:14.174507+00:00\"}"},{"id":"2904cc7b-c6f5-443c-8e17-be2298217255","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.\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-19T04:19:05.433522+00:00","updated_at":"2026-04-19T04:19:05.433522+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2904cc7b-c6f_ui_add_hypothesis_comparison_view_to_ex_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"6c4a33ec-cebb-486c-8369-e14afbcf8459","title":"[UI] Fix /experiments 500 error: html module UnboundLocalError","description":"The /experiments page returns 500 due to UnboundLocalError on html module in the running server. The on-disk code appears correct but the running server has a stale version. Need to verify on-disk code is clean and ensure next restart resolves the issue. Also check for any html variable shadowing in the experiments_listing function.\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-19T04:14:33.482169+00:00","updated_at":"2026-04-19T04:14:33.482169+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6c4a33ec_ceb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"5012fd03-aa38-46b1-921a-175590291f01","title":"[UI] Add /api/experiments JSON endpoint with pagination and filtering","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-19T04:10:46.759031+00:00","updated_at":"2026-04-19T04:10:46.759031+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/5012fd03_aa3_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"83b3ba921\"], \"completion_shas_checked_at\": \"2026-04-16T20:40:24.733906+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"d5cd9059-26fb-4642-aa7f-92f5ce4943ce","title":"[UI] Add /forge/pubmed-pipeline HTML page for PubMed evidence pipeline","description":"Create HTML page for /forge/pubmed-pipeline that shows PubMed pipeline status, recent runs, and trigger button. Currently linked from sidebar but returns 404.\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-19T04:05:24.571780+00:00","updated_at":"2026-04-19T04:05:24.571780+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d5cd9059_26f_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"5ed34d52-d413-4a0c-8518-96801235c9d4","title":"[UI] Add 500 error handler with traceback display and fix stale cache issues","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-19T04:04:04.611713+00:00","updated_at":"2026-04-19T04:04:04.611713+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/5ed34d52_d41_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a266c543-c42e-4a53-941e-fed8c594dec7","title":"[UI] Add missing type colors to nav search dropdown (notebook, debate, gap)","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-19T04:02:48.387011+00:00","updated_at":"2026-04-19T04:02:48.387011+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/a266c543_c42_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"2a172292-fe0f-4101-898d-647717aebc1c","title":"[UI] Fix site-wide broken links and 404 pages","description":"Run link_checker.py to identify all broken links across the site, then fix routing issues in api.py and broken href references in templates. This improves demo quality by ensuring every page is navigable.\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-19T03:58:32.628470+00:00","updated_at":"2026-04-19T03:58:32.628470+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2a172292_fe0_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"0fb66e79-45ed-4121-af46-180ba7d9d3cd","title":"[UI] CI: Smoke-test all pages and fix any broken links or 500s","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-19T03:57:19.521564+00:00","updated_at":"2026-04-19T03:57:19.521564+00:00","summary":"","completion_notes":"Verification evidence: API server offline (all pages return 000/connection refused). Prior run on Apr 17 showed PARTIAL with 10/33 pages 500ing due to DB corruption. Commit 9c50afa9f records current state. Cannot push - git credentials unavailable from this sandbox.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0fb66e79_45e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"05c938c1-14ab-4c66-bdeb-1d74ec4478e7","title":"[UI] Add page caching to slow entity and wiki pages","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-19T03:52:45.610985+00:00","updated_at":"2026-04-19T03:52:45.610985+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/05c938c1_14a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"completion_shas\": [\"6489a64401a8527850cc5b9798e5499a1a21a140\"], \"completion_shas_checked_at\": \"2026-04-16T20:24:04.539489+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"81bd94ac-1aaa-4d29-b6ec-5d5510e60eaf","title":"[UI] Add /experiments listing page with search and filtering","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-19T03:46:37.058785+00:00","updated_at":"2026-04-19T03:46:37.058785+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/81bd94ac_1aa_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"5104ec7f-6a64-43b0-b222-9ca312ad2b68","title":"[UI] Add /api/experiments JSON endpoint and include experiments in search results","description":"Add /api/experiments JSON endpoint with pagination and filtering (type, disease, status). Also add experiments to the /api/search results so they appear in unified search. 188 experiments exist but have no API 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":"done","priority":85,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:43:41.161430+00:00","updated_at":"2026-04-19T03:43:41.161430+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5104ec7f_6a6_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"ff9db36b-df93-40cf-b29d-12432875fef1","title":"[UI] Fix health endpoint — replace missing knowledge_nodes table with canonical_entities","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-19T03:38:58.461879+00:00","updated_at":"2026-04-19T03:38:58.461879+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ff9db36b_df9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"db5bc3f7-1c3f-403a-a0dc-d4b7cb385006","title":"[UI] Add /papers listing page — browse 2374 scientific papers","description":"Create a /papers page to browse all 2374 papers in the SciDEX database. Show title, authors, journal, year, citation count, and link to hypothesis connections. Support search, sort by citations/year, and pagination. This completes the Atlas layer navigation.\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-19T03:37:06.118830+00:00","updated_at":"2026-04-19T03:37:06.118830+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/db5bc3f7_1c3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"e57b831ba\"], \"completion_shas_checked_at\": \"2026-04-19T03:37:06.100207+00:00\"}"},{"id":"fc48c61d-8061-46aa-b85e-3fe39fbdc998","title":"[UI] Add /status to sidebar navigation under Operations","description":"Add /status link to sidebar nav Operations group\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-19T03:36:27.599018+00:00","updated_at":"2026-04-19T03:36:27.599018+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fc48c61d_806_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"4389919c-b605-4057-9dfa-48e064113a0c","title":"[UI] Add /experiments listing page for 188 experiments","description":"Individual experiment detail pages exist but there is no /experiments listing page. Visitors cannot discover experiments without going through the exchange. Add a listing page similar to /analyses/ with filtering.\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-19T03:28:55.486725+00:00","updated_at":"2026-04-19T03:28:55.486725+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/4389919c_b60_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"2911d59b-19f7-4e9a-af46-6199cdf3e391","title":"[UI] Remove duplicate lowercase analyses that have no content","description":"There are duplicate analyses in the DB with lowercase IDs (e.g., sda-2026-04-01-gap-004) that mirror uppercase ones (SDA-2026-04-01-gap-004). The lowercase ones have 0 hypotheses and 0 debates. They clutter the /analyses/ page. Remove or hide the empty lowercase duplicates.\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-19T03:21:55.663010+00:00","updated_at":"2026-04-19T03:21:55.663010+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2911d59b_19f_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"4d6dc15f-8f53-4990-a6b7-8ad29e58052f","title":"[UI] Fix 404 on /agora route and verify all main navigation pages","description":"The /agora page returns 404. This is a core navigation page for the Agora debate layer. Investigate and fix. Verify all 5 layer pages render.\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-19T03:20:57.012655+00:00","updated_at":"2026-04-19T03:20:57.012655+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/4d6dc15f_8f5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"7d688f0f-d47a-414d-80f7-4e67de04b1df","title":"[UI] Fix link checker creating false P90+ tasks for transient 502s","description":"Link checker creates many P90+ tasks for 502 errors during service restarts. Per AGENTS.md: NEVER create P90+ bug tasks for 502 errors - they're transient. Fix: Add retry logic for 502s (wait 2min, retest), filter transient ones, cap 502 priority at 80.\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-19T03:19:16.665974+00:00","updated_at":"2026-04-19T03:19:16.665974+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7d688f0f_d47_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"4cbdc22a-abc7-4fbd-a605-51dd66a987b1","title":"[UI] Add /quests and /resources links to main navigation on all pages","description":"Update nav_html() in api.py to include links to /quests (Mission Control) and /resources (Resource Costs) in the navigation bar. These should be visible on every page. Coordinate with Quest 10 UI tasks for consistent nav design.\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-19T03:00:06.691846+00:00","updated_at":"2026-04-19T03:00:06.691846+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"700f48d0-91c7-4377-9690-38696030c9bc","title":"[UI] Show commit metadata from commit hash links","description":"Improve commit hash links on quest and related pages so clicking or hovering reveals commit message and pertinent metadata instead of only the raw hash.\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-19T05:10:16.194985+00:00","updated_at":"2026-04-19T05:10:16.194985+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/700f48d0_91c_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"56261b62-19cf-4ad8-ac86-f2bb49cc42c4","title":"[UI] Add /wiki endpoint for browsing imported NeuroWiki pages","description":"Create /wiki and /wiki/{slug} endpoints. /wiki shows a browsable index of all imported wiki pages grouped by type (genes, proteins, mechanisms, therapeutics). /wiki/{slug} renders the markdown content with SciDEX styling, KG sidebar, and related hypotheses.\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-19T05:07:38.601784+00:00","updated_at":"2026-04-19T05:07:38.601784+00:00","summary":"","completion_notes":"Verification confirms /wiki endpoints already exist on origin/main at api.py:50445 (wiki_index) and api.py:53672 (wiki_page with KG sidebar). No code changes needed - task was already implemented prior to this task ID being created.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"48c796bbf\"], \"completion_shas_checked_at\": \"2026-04-19T05:07:38.584963+00:00\"}"},{"id":"c3f6ceec-1b45-4f38-bbbc-77722f18da45","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.159585+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1ba0c681-f92c-4ae2-8094-9014a37ad792","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.145372+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"29a336b4-a03d-4db1-9faf-7fce0ad76222","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.131840+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"103f576e-406f-4c1c-970b-0f7b37150c14","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.117199+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e8b43983-cb1e-4e22-b092-0317db35bc12","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.102223+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7fe33b42-c015-46e7-8532-4bf79c896b81","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.088226+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eedad610-a5f9-4bf6-ba6b-5c835ec91e4e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.073907+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ddaf1d57-08fc-404a-a4a9-76a3df87b6d3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.059790+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a6615092-027b-487d-9626-6c4719f20ade","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.046142+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"547a6189-c04a-48aa-8732-bc40673f0f6e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.032439+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"18465c77-7268-479b-af4c-7bc88d945f9e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.018571+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ad7e0fb5-b147-4c96-bce8-500befce0f5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.004537+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3a2d343b-bae1-4e3a-925c-5d2989460244","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.990699+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5bd04542-5bb4-4881-b305-2def5e983a64","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.977013+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a3fb8670-7b1d-45b9-8850-e8931efee6d9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.961633+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c353372b-d602-4b44-b26e-9bd6d091e97e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.947927+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"850b7bf4-815a-4531-8fea-20d5d8ee4955","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.933830+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ffbab993-b8c3-4caf-80d7-83ae7a484066","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.919669+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7ad1c456-a0d1-47c3-957e-416c00289617","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.906506+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5cb73d9f-cb40-403c-a419-5bc58c72cf23","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.893374+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"56549d67-85d4-4534-b073-8cc2895a2d2d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.879734+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a6b9831d-08c7-4ca3-a078-6411a4c3838b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.866385+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"88d919b3-ca0b-4d99-8d80-e271bfd70140","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.852929+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"83d51c7c-1bef-4e9c-854b-3cb964e26e2b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.838419+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"709f9915-e9d7-4f20-8130-0a16df7cb197","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.823688+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8fc3114c-6101-4c77-b385-1e8de3274c5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.808884+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fd52f0de-20da-4bcd-9126-ab238ec75b45","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.794046+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e417cfaf-2d5e-4c39-8ca3-df66ede83cd5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.779429+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4a8b9378-f111-4d53-a322-d2ac9144b74a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.763522+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"43ea7e21-4900-4dbb-963c-82672438ae40","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.747509+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"42fd7e3c-630c-4d75-8024-b69797aa78a4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.733616+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cc0c90bc-0404-4b04-9e05-743ca12b3d7c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.719792+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0e4f6504-0f93-45ac-9a75-0bb41f478236","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.705858+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"45aa7c83-6da3-4b54-b50b-acd7044c6e0f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.690952+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b7a70601-d69d-4c45-bea3-cac681e3d36e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.676669+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"30060019-00db-44ac-b840-85e53326f5ad","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.661981+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f88ae491-4e83-4cec-bbe1-a50703fa57e5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.647820+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"627667f9-1291-4cb6-98c4-6966e6ae3559","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.633387+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fd91a825-cb88-442c-8963-b85ce30da13a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.619326+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1d17928a-dd2f-47ad-9883-14e2a3dfd3ac","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.604234+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ae9e3ba3-8f1c-4523-9cba-d87a41e21778","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.590366+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e9aa3403-7845-481e-894e-1b0b8585bdf6","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.575418+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2e352bc5-dbe1-42db-8cca-7ddee970146e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.561211+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b6d7e70a-c34d-4e12-afd7-7a5b54a7fbf0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.546782+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"41ccd72d-bab1-4c21-a8a5-a819943dd07b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.533569+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9eb4e023-b57d-4ebd-91d6-0c12d253fbfd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.519574+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ea9b541c-a801-4bb8-af59-9e3ce5ddeec9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.506477+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"21459c6f-15c6-45cc-8099-f8c6c18badf7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.493057+00:00","summary":"Duplicate task - consolidated","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c9da43b3-4d02-42e2-9800-d4a96d67f001","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.476771+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6d956217-2d84-4798-97ca-898f92f02c0a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.460704+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1df65c8d-e042-4e60-99bf-9c51c3cc7d3f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.446360+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0447ce63-efd1-4ef2-bb54-3481a0516d96","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.430905+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9550f9bb-d3f3-40eb-889f-8052b4d3c860","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.416110+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7a91a9ef-2509-4ad7-a3b1-c12413278b25","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.400202+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d9dd62a0-e994-4f12-bf3b-7da69135d7c7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.384668+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d22d186a-a165-42cf-b0ad-a3cc404b96b9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.370401+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"056d49fd-e9a6-471a-b48f-d84e5dfbd86d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.356204+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3b82b608-a586-4777-87b9-7a07b7a31383","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.342384+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"80b315bb-4e7c-44da-a179-bfbbd887b5dc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.326291+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a06008d3-9ae3-49c2-a129-585b001d7dc8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.312438+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"68965b1c-2f05-446a-8939-5da694f84fce","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.297174+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0fa1b50-d59f-480a-9ece-c6418499bcf4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.282385+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e78ab393-af70-4b9b-b7c0-cd547b6f0023","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.265937+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"67431ebe-420a-4afb-a329-710547f49651","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.249720+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fa50bb4e-621a-4264-b038-e2e76a523241","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.232968+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ed6e7a5a-300d-4d0d-a769-7da5d730ece0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.217656+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7fbfd77b-ecf1-4482-baf2-a73181f5fd5e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.203695+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d1ca1b07-31fc-4f3d-b559-b8cb138933f1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.189533+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"218bdaf1-6d60-4986-bd80-64f8cd1b2edc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.175141+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"10e5d252-49c8-40c4-af06-926b76a808d5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.159884+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fb0d5c73-5fbb-4a61-80ff-fca65070aa28","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.146367+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7070f913-2eaa-4c50-bc23-26740321c869","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.132225+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"043bccf9-7f8f-42a9-84df-e19f0d2f4ef4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.117849+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"45f5f8ed-e704-48b2-800a-8817db3fc659","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.104017+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3b06ea53-3aa1-43a5-940c-aa36874c5c47","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.090410+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f126fc19-ec2b-4ea6-b360-68f3bb6009a8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.076085+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eaa11177-1e1f-4078-a2cb-6f4929236063","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.061314+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"209f8d2b-03e8-4349-99cb-bf70009a168f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.047458+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"503e1ee0-e236-477a-8717-73ebfb1b0a6f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.033866+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0c9e49e0-c8f2-410d-9356-52bfe81050ae","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.019692+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"50b1b106-95d3-4c34-b6fa-480de97f532d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.004448+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1fca5598-1e23-4192-8ac6-205bdea9038b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.989062+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"83cb1bd5-e5c4-4462-8fe0-6f70d0524005","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.973546+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"04937ad1-204f-450d-9cdc-3e9e1f089f78","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.959013+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f4fd8411-55c6-488b-9584-4da21abce1a1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.944124+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3d18add2-995f-4800-96e6-bdca79ad7bab","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.930690+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"06e057db-0daf-4622-b386-d49079478edc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.916454+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f408f181-3cb2-4aa7-a9b5-a79733b574c4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.901545+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4be9467a-bc0f-498f-907a-7551e58baad5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.887770+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"62a75269-db5e-4e40-aa3c-7dbed81140b5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.870363+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a9e5c69d-6508-46f9-8e55-a5b2b64d309f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.835790+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9689e1b3-757d-4b6d-8322-aae6ddb54723","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.821758+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"76561d9b-a2c7-4082-b56c-9cffce4fe417","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.806916+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e05286d4-ca0e-4526-bda3-cd086d7eafcb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.791508+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5b67827f-4563-4353-bc3a-2de910acc22e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.777606+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d6ff96bb-cb74-4da2-a4d3-63891f5020ee","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.763421+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5472e0a1-dd2c-4fa0-a9fd-c62851703dfa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.746761+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1b7a76c6-d842-4d35-b9ad-ad4f01105b59","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.731488+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e8e9b3c4-8413-4caf-a625-73f4bf4419e4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.715819+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6a922931-11e5-4f7e-9812-bea3d8841a67","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.700654+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4e80ed09-4e61-4df7-bfaa-3ef4b6d064b0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.686056+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c3e5bab5-6f46-4906-a525-2b091035e92a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.671094+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0f58d44f-6cec-4883-bf8c-f86d3890f0e5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.656694+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"91715ec2-fd83-4642-9372-2a0953fca573","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.643480+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9f0b28c0-c487-4407-91a4-e4b4001a0910","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.630177+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f186721b-8bed-4c54-acdf-683d6be695dd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.615093+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a8307d23-6ddc-4410-95d5-7cda9e953cc3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.600175+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a8024bad-a4d1-4796-b94c-016904f8982b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.586986+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ec7e4422-8290-4298-825a-3e2acc54d72f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.573432+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"178739a2-6e80-4201-bad6-2fb9e1872b92","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.558095+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d84bc8e0-1401-4da2-9134-4f736d447c5f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.544340+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2696f14e-4803-4901-890e-74106f27235c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.531006+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ea1db30f-7fbb-444c-ae36-d2fadf1487fd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.516655+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"baaec29e-60de-4799-b425-bfcd7f02d168","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.502867+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"291b4015-922e-40c5-a975-6c262254100e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.489564+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a10bd591-60e0-4f13-9568-5d942ff487f9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.476082+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0edbda97-68ad-4008-ac91-5c5e8c69ed3c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.462031+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eee79633-b794-4ebd-8576-a0fdd937f869","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.449031+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7b7b092c-f121-4b44-9714-be3e4b2980e0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.434608+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8c45e6b7-1399-4b1e-b92c-516cc028a1fa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.421415+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8a67ca5d-ea73-4821-bf37-fac11ef21119","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.405725+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8bcd3327-7316-4d21-8fda-1d2e55f14ac3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.388775+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"175b479c-a557-4b93-b792-0cbba0a9b62d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.374274+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ff3c6a2b-e8a4-4dab-a593-2cc126c527ad","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.360555+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4df1b9f2-6eb2-48c6-ad17-9c3fe9a500a2","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.346145+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cd5dc0d6-cadb-4fd0-b215-30752f839f08","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.331829+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"752d8dc3-228b-4583-aea0-74762c967343","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.316551+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"926b9f15-73ef-4de2-8479-7165ca3d0272","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.299820+00:00","summary":"Duplicate - already implemented","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ab25b589-05c2-42f6-a838-e1deb54afdca","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.284608+00:00","summary":"Duplicate - already implemented","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3963db32-1fa3-4475-9b43-ad561ed56468","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.270356+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0aadb450-bbc4-4674-b14d-73e9ac865c63","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.256462+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c46ecb29-5111-48f3-80f6-64befdafcb79","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.242552+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ae66a7cb-89f7-4873-9da3-681e2eaade08","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.228463+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fa243959-bd8b-400e-8588-ea936813d8fb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.214382+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"92320f9b-80c1-4384-a980-d71c7d312d8b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.200352+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2ebc1997-0321-4d7c-b9c0-c4fcc4d5a0ed","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.185892+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ce442f02-4685-4003-9661-5b1f484c447a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.171660+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b6046b9c-2945-459f-bf70-c6412dcee081","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.157798+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"370499de-ede8-413d-b504-e2b61b90fa1d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.142723+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5f0c307b-5c60-4b15-a805-792928addb12","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.128348+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"94110025-6045-4356-809d-6b0943236e7f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.111455+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2c646e26-1b0a-4341-a858-b51fe4fd9daa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.095312+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e688e8c0-307b-4ce1-8dc8-b5563bb07019","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.081481+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2bde5e52-d299-46ed-82bf-645791ed593e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.067427+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b1fc7d7a-5d36-487e-8762-26eb65b9d47e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.051821+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"77ce238a-c9d1-443f-ae06-70095ead1755","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.037370+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"97f37629-9b77-46bc-900a-296771dc626c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.022660+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8995b922-6fdf-4244-8bbe-a408bd77ca5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.007493+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c3bbf2e4-59a1-47e9-8df7-9209ee026ba1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.992537+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"81098cc5-b80d-448d-a94d-84391658677d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.975304+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"95a4af6c-ff14-4291-a97a-467e2acc0522","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.959999+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fd7fac6e-ccf3-4d4b-94b8-c521ef595529","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.944733+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5f173ec8-78e0-43a2-ade7-0621126b6726","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.926772+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dbfc49db-6b8b-40f0-b4e7-d1ec87812872","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.858378+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b2d6e770-9878-456b-ad30-d25eb7b20f55","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.843922+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"54285094-fdb6-4209-88bb-3db720893379","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.828740+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3ff4626c-ec54-499e-99c2-c7533103f8cf","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.814827+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bb6eb3a9-adbb-4112-9608-b2d09cf68d66","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.800495+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7e8579da-c8da-42bd-90ed-aa66634d5985","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.785235+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c43192ca-1775-4fb5-801e-9adf14eb377e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.770901+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1fb04821-f5e2-4845-a205-91a6b639fc6c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.756538+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c6a6ad63-1991-4607-909c-f955b69850d5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.742972+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"56df6b3b-9c0e-44f6-bc2b-7665fb780dc8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.729151+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6370f5d8-0467-468c-910c-1af24ef6ca18","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.714762+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"74b073b3-430f-49ba-8e5b-077cbd780ed0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.699262+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dd2ab345-94e9-40bf-8fcc-53da1f4c905d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.685195+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3ba39b9f-8bc4-4a4d-8ffc-3f3dc2c6e952","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.670227+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3f818384-7530-4685-b71c-d096566ee542","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.656345+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e72347ca-bbec-466a-af2a-2a4119073191","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.641777+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e8df5023-0cda-4aad-87ef-d1a633832cba","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.627683+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5932d3e0-bb03-4c15-ace4-dca83fa8a003","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.613574+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"650d9cf1-abf0-412d-a532-472f3a93f523","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.597772+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"42bc0084-a420-44c9-b236-9843dc4a0bbb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.583037+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bcb1583b-2907-4bcd-b935-7306f9ce28ac","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.568523+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4acbc839-15be-46c5-a3bf-b5d705b51258","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.552894+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d8cfe600-9c17-4143-929e-1b70016d7fb4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.536563+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cf90c77b-e09c-4da6-ba2f-8d1a695aa6f9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.521952+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"452a8268-7cba-4d34-83f5-4cd11b769bc1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.507484+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f33d93c1-a399-4a6b-b44c-ec12d98632c4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.492304+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d7a6e06d-f155-4043-bc2e-fa94be13bd33","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.478519+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"93f3f17a-4285-4f1a-90e3-7ce0fad0986f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.464587+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"59a2ea3e-943f-49ad-bc09-8ac409a8677b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.450638+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cd731ad6-7c4c-449f-a4c4-91401e648942","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.436577+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7f82a3b1-67e0-4892-8c81-be0a545d24b7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.421671+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e563f807-5f68-446a-9822-c43513efeda0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"done","priority":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:39:40.460933+00:00","updated_at":"2026-04-19T05:39:40.460933+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":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"3db52188-8347-4d61-9d0e-050e4a3a3d85","title":"[UI] Add /search link to sidebar navigation and keyboard shortcut","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":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:28:34.731636+00:00","updated_at":"2026-04-19T05:28:34.731636+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3db52188_834_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"931270aa-2278-4caf-8cd7-fdd2b7151f21","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.\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":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:24:44.534868+00:00","updated_at":"2026-04-19T05:24:44.534868+00:00","summary":"","completion_notes":"Prior closure commit 8fa168a8c already verified mobile responsive CSS (33 media queries in style.css, 38 in api.py) shipped on main. Re-verified: origin/main style.css has 33 @media queries, all pages have viewport meta tags, tables have overflow-x handling, nav has flex-wrap. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/931270aa-227_ui_mobile_responsive_improvements_acros_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"840112c6-224d-468b-b4a3-8d7446ea7793","title":"[UI] Optimize /atlas page performance — reduce 1.1s load time","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":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:22:11.193060+00:00","updated_at":"2026-04-19T05:22:11.193060+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/840112c6_224_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"0132bb21-2fe3-4313-b2af-ae60496eb051","title":"[UI] Add breadcrumb navigation to hypothesis, analysis, and wiki detail pages","description":"Add consistent breadcrumb navigation at the top of detail pages (hypothesis, analysis, wiki, experiment) showing the path like Home > Exchange > Hypothesis Name. Improves orientation and navigation especially for demo visitors. Check if breadcrumb_html() function exists and use it.\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":82,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:14:10.965657+00:00","updated_at":"2026-04-19T05:14:10.965657+00:00","summary":"","completion_notes":"Verified: `breadcrumb_html()` from `api_shared/nav.py` is already used on all four detail page types — hypothesis (line 35090 with hyp_breadcrumb path), analysis (line 38685), wiki (line 54115), experiment (line 36171). No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0132bb21_2fe_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"217d06c6-6c14-4644-b8eb-d484c017bb53","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T15:42:43.174760+00:00","updated_at":"2026-04-25T15:42:43.174760+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"08b8b4a6-793c-488a-a290-f46571da0e71","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.118483+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eef9e581-2089-419b-a2f4-462c112d05f6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.105165+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c802ad66-3a5c-4205-98ee-0c975ae9fb61","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.091818+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4c1336c2-eb44-4c34-8ac5-5873be63289c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.075974+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b7f5130f-cc7b-40b4-adff-b3dab3021967","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.061519+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"65395c46-b4a7-4171-9b68-f04bd0a18158","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.048128+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bbbc47c3-8312-4d7e-8211-976e5f47edda","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.034870+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"48ccbe6a-1fbc-4c16-899e-abeaf879782f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.021815+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"02454b52-ad8f-4f55-af5e-1f980db35771","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.007985+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"15ff2d4b-f831-4df5-a6dd-01034ff540a4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.994449+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b0d43e96-a6fe-4fa9-8253-dc5f88ea03f6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.981283+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"11695cab-2506-4c21-9410-6dc82b424c88","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.966834+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"54587506-1d0f-422a-973f-1c496738e1a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.953051+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b66b4460-ba0d-46e4-b68c-17dbd8b5e426","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.940074+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"22db63db-6211-42b1-9409-4582564806ef","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.925857+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"af9124f8-7c52-489b-ad2c-0bcd348e10bb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.912067+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e38aa1eb-d3ff-4f3a-bde5-1471638bfd4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.897231+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3c17eac7-17a4-41ee-a9a2-66c9c18bd832","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.879429+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b378443e-cae2-4e02-9e69-f2699621e4c7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.859445+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0f0ac0c7-2750-48f8-bd56-77a201b1cdc8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.825914+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4214d0b7-575e-4a89-983d-3bfd9b9d0963","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.809681+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bb2278a8-26f2-41e1-b6f9-525b772e7329","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.794516+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bc3c624d-e31b-48b7-a9e7-8f2e3db65483","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.779692+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ae499c48-4da3-4ab4-b665-5fc25e32f514","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.765496+00:00","summary":"Verified complete by slot 1","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"53b11876-55cb-49c5-b65d-f6dd7a55703d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.749517+00:00","summary":"Already implemented - verified by slot 1 CI check","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c82a7b0e-c929-497d-b2d7-6ef5f7ba57df","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.733490+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"313ff26a-cddb-43c8-bae5-1288f545d6e5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.717761+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"845e0dd7-dc9e-4f33-bc38-6336cb34e70b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.699067+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7ead1175-b545-4485-8e37-ee23b9d185a2","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.680132+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c9c4b648-eb81-4f1d-a164-af2c4449a861","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.665442+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5864e89e-61d3-4382-ad19-72d5fc8e94de","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.650234+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c093aa40-13e1-4211-b893-22eafe421edf","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.635565+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cb99010a-52bd-4936-bc68-61923a06e0da","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.620471+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"260dc7a0-3100-4fca-8ba6-618303346624","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.606301+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"75ee1623-5aeb-4e5f-b481-f9d1b7a8350e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.592719+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"84385e1b-f80d-402c-9800-92f4a7c11f43","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.578984+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6ae3ea6d-955a-4500-ae41-3ee552f6b629","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.564509+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2730187f-11e9-4269-a319-494e99cc6747","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.550134+00:00","summary":"Already done: Breadcrumbs present on hypothesis and other detail pages","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"eb3beeb2-9492-46e8-95ff-bf75ce7062a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.534788+00:00","summary":"Already done: Breadcrumbs present on hypothesis and other detail pages","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"13504ee0-d3df-408a-b063-1d36738ee2db","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.520875+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d6ba2b27-77b5-4728-9c41-d0e4ceab7989","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.506966+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"20d5c559-a730-4882-a73f-b7199ced0b2a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.492191+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c35449e8-123b-443e-9eec-b2b5a65d5ba9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.477362+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"281c1b05-f981-4e7e-b0c7-e906f5512b70","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.463064+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e55645ce-ac5f-4c84-b25a-c4d07e7def3c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.448623+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a3cd753-7b8c-41ed-ae5d-327d5909d84c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.433671+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7f4e88af-46df-45a0-992d-baeb4a5c0513","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.418458+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"10506283-cb5e-405e-bb7c-3dedadfb07f3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.404878+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0c67960-390e-48c8-bba8-b908107db50e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.389664+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"064922b5-5b4e-431c-b410-12431a9d8951","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.376623+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f13925b6-383c-4961-a487-c254c32ffe2c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.361324+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c5d35ea9-348f-4844-a50d-d55d502278f5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.346730+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"79892822-6e55-4624-889c-228d6a3080f9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.332997+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"203565d2-4d66-4b0f-aa09-7ee16809f132","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.319533+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3be4b002-edcf-4589-a7e2-6d20a73d7102","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.305483+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3d10120b-9132-4682-916e-c4960ad901fd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.291969+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f2122e2f-7c77-4da1-b434-748b09626b31","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.278726+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c6444578-1395-4773-834f-df09289e9a64","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.264776+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"639e4017-aa98-4cee-b723-3a0881e51d70","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.250454+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d05b7137-dbd4-449c-9138-6ee405f17c0c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.236583+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7bf1f7a1-635b-4b3b-b622-2f2660bd854f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.221765+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ddbf9cb2-2b07-4ad7-bcc3-ffff858e14ce","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.205911+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c532178f-25e4-4c5f-8e2e-227608fc1dc9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.190407+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"083be0b8-a089-49c2-900d-938f3aafd4b0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.175208+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"41989682-a741-4792-86d6-b8aa259b9d50","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.160606+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0c72efa5-766f-489d-87e8-70b1a50aab16","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.145525+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b1d9683f-2a33-4aed-9e1f-a90189993bad","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.131227+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cbf6ad66-fb8c-4565-a2bf-0058c6f60d33","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.117751+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7eba15c1-9c8d-4d31-8e61-f05b1aabe76d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.101718+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0272bf6-0dd0-4bdb-bcf5-eed3ba13c373","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.085160+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4728ffc6-25ba-4e37-a434-4344035afee3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.071130+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4de82ab2-e928-45c3-9054-8e2be501a3eb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.055683+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"80f20741-03e2-4003-b1b9-3def4795b498","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.038814+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f682ec9b-f44c-4867-81bd-a2a06c3df17d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.020989+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c9b8eebe-a379-4a95-828d-ed177c94c603","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.003700+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cf09cb71-cf7a-4d54-bd74-ee411bcff2e4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.987579+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8f2de0d8-14b3-4e00-865a-f470a8306df8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.973200+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"225c7b7a-e6bd-4927-bf71-0608c0bd3631","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.958955+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c5cff41b-89c5-47e3-a7e3-3c7df4b6ba9e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.943979+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"060521a8-075c-4107-ae09-1f090666eed5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.929465+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c91376c2-879d-4476-a176-0caeff998405","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.915371+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4fe9224e-f88b-4a55-9c5a-8493719b0663","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.897270+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1210f924-7cc4-4b49-8992-3c5d0ed4d32f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.864328+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1c7bd8f1-8048-45b9-8720-c7a8fb99c21c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.850369+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4dae29a2-823a-4438-98e8-a02ef49a963c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.835364+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b6f0e675-b8d0-4c2d-a296-adeecc4c3501","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.818729+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e9843c54-2fdd-413d-a671-9964654b3396","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.803742+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b1f23cf1-1e5a-48ad-8052-6a04a1e34652","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.787657+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6c326e7a-eca7-4ad6-8f2b-88a6876ad826","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.772390+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a5531601-1f6a-4adc-b921-14341621ad62","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.756683+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a29b11b7-4458-48ce-9578-50416534a098","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.740795+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a548e04f-a3fe-4298-80af-bacc17bbd3bc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.721487+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"15dafb00-c4fe-4a60-b02d-042ff9b36254","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.703135+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"467607e0-c123-44ec-a08f-18ec6d9f332c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.671392+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ca289ebc-99d0-45b3-875a-fed60a07dd98","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.655119+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a29bccbe-d9b0-4e32-a8f0-20c0bd68e834","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.639540+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ae0b257e-a415-46b7-8120-76c73149ca96","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.623040+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"18ec417e-dcc0-4b38-8370-3363f9f8a4d7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.606756+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"885db141-a0f0-4485-a952-c1903a4186fd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.589000+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d34f6370-02a9-46d7-949a-96309f01d654","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.571485+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b20ded60-e9bc-47c7-b206-a8f108a2b260","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.552998+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3b672a80-9e42-404a-a3e3-07e1c1934543","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.536554+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e6d56eaa-7e2e-4207-a5e7-efcd7856b9bb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.520075+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a4675db1-5b43-4ebd-a1b4-6ecf9bddd08b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.492343+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"79309940-b22a-4579-b44e-5fdadcf2057d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.469153+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bb4a928c-eef8-49a8-b5d0-1bf656af60ca","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.448488+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bca74295-4766-4cb5-8e9a-ddba85e5fe30","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.431004+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3830443a-1afe-4883-9cab-526b999beec5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.414705+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9a700d8d-355e-4cd2-9885-745ea5b436d3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.397587+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"edd189de-b3e1-4188-a082-de31814185df","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.380904+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1f7f9313-3ec8-45c1-8437-ade3b9f1ec66","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.365570+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"75354bd3-c44a-4918-b82c-294081ec5f1f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.349512+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"85985a5f-1f1a-4dfa-bc86-b9d0788246f4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.333533+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4043243f-3471-4914-b180-0065c6579ff5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.316183+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"da1ea749-8fbd-4962-8f6a-7744f7071a4b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.299284+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6258442a-a235-42be-b01e-8ddb0d5b5705","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.285425+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"3b438622-b9a8-423e-961c-74a7d89cdffd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.268020+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"07baaee2-bdcd-4077-a6c2-82fc4b9c232f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.251820+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"a3e78ff0-6ca5-4c90-a1ee-160ee6b15df4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.237502+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"abf764fa-5ac3-4ac7-adcf-63c94dfbada3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.223002+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"36c0a0e1-0063-4e46-b73c-a8af6346e313","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.208163+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8ce98a9b-90a1-4080-8f66-c6acc52e2d54","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.194729+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"46ee9b94-a54f-4250-9741-881411b60231","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.180573+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2ae639df-3986-41b8-93e5-6bc4781ce107","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.164442+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"209c4295-a7a7-4d9e-92f1-1709dd61e064","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.149221+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"fbb7e1a3-5de5-4f8a-9097-ef9398e9de95","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.134227+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0327cf37-b0cd-45b1-92ad-1a048238a9c4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.119651+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"599422fd-166b-4c6c-b8fe-5e716d7c03e0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.105619+00:00","summary":"Duplicate - already implemented","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1108f24e-07be-4a21-bf85-3b01514eddad","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.088906+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1d466c44-11c2-4e5a-8dcb-871654b56f8f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.072799+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"03a14714-7058-49fb-ad60-a49b3e46db11","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.057798+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f1197406-e5e1-4362-9a1c-1d7db681a1d3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.041415+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"db9c7462-06b3-4776-84c9-f5c450eef2d5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.026742+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"9a91c4b9-18c0-4824-93ac-ad060faac747","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.011216+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5f5d8534-63d7-418e-a126-34dd9eaba94a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.995543+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"dbd6fb7c-f979-474b-8e84-213b96744f6c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.981133+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"613fc426-e4a8-47c2-908b-3d50a844df1e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.964857+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"cbe818d3-fdb3-4924-ad17-14af333a2a5e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.950421+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"b1402c94-1b6b-42c9-910f-98579be5d28e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.935865+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"984f0882-1ff6-41d3-b643-41155a59ac24","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.921846+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"6b953a83-f358-42bc-ab97-d57a1d4cb7d0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.908086+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"49eedc9c-02fd-42a4-a952-5fa8545501fb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.893406+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7265cc7c-2f87-4407-997d-13933a7e5d9b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.878565+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7539dc96-e9d3-4edc-bd1e-9477cc89affe","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.861694+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"53c139bc-e0f3-412c-98f6-83134f454e77","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.825450+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5473beea-6a13-406e-8f04-5c099c8daff3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.808686+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"360cb0a9-8c04-4136-af34-3089a053494a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.792512+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d605e423-0f94-4d75-8d5d-fbaf6237ea92","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.777532+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a0040c3-a6c0-4e00-8c25-3bf0947f523a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.761740+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"8dddafd5-ecb2-4228-ace8-1b9c28ad906c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.748290+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"14d7aaa4-958a-40e5-9bbc-a6d1373d6800","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.734011+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5960f761-a485-4c83-8116-fd1c2d0da087","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.717997+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0ad61db3-57d5-4fed-8fd6-5f6c02cf432f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.704366+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"bf25a9fc-3201-4904-8263-6f0e2fd969cc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.688305+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2910003c-25df-476d-8e0f-e71e18c045cd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.670431+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"43cd18d3-7a1b-463a-bc09-3f3562bac855","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.655343+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"76195b57-2cf1-4dcc-b8c2-d029dbc50a3c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.639790+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5709bb63-6137-4d8c-8898-ced9549509a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.623490+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"39b0dae3-c2af-4c65-b070-34a88f0c19d4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.608418+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5f09d0f4-34a6-4dcc-befb-f94dbdc7c261","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.593823+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"0a060b86-0c6d-4c33-8861-c7792a950d34","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.577635+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"4ceddb03-0b6b-4f73-aa14-7c8ada868d1e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.560477+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2153477a-263e-49c5-8652-fea4d4cff05c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.544411+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"73697f7e-8c84-4cf3-8593-ffa7caf2a78f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.528769+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f0f46354-39bb-41b5-bcd3-27e15c4a6cdf","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.511267+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"2b39f667-0932-494d-bf86-8893c7be40e6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.497603+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1b56e9d8-bdb8-43a6-8ba8-13708ae95602","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.483326+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ac42dd36-d796-484c-a8e1-833a5b69572e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.469196+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"ab513d90-3267-4a1e-98ba-649d14dab87c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.455388+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"e4e55a0b-7f89-42c5-ae4d-256b32dea94c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.441498+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1852c7a7-7876-4ff7-9e04-331a92de06c7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.428165+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d59acf7b-d290-4542-9a27-fb380ab057b9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.415325+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"7b94254c-e788-475f-b1f9-4c9d5b4b95f4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.400618+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5188ab98-e8d6-455a-8679-8709207daf9f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.386161+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1269d321-c408-4c69-a411-6f57739dcd71","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.372672+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"94070a0e-2df6-4262-b9fe-5c4af1ec8a4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.358971+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"65bc8096-2600-483a-808b-78b0be663f78","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.345433+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"32465e19-18d3-481f-93d3-8e7e274d6f3d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.331950+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5a81f9f2-81e7-49b9-bb22-c02f16ca8f4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.317822+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"1411165b-80e0-4ba4-b841-e400fab3c109","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.303790+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5776bddc-5861-4155-9486-0f3190b39711","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.287706+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"d5b78002-c16f-4b58-b2eb-13c4245b2e03","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.272961+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"c478935a-5409-4687-aa10-fc8e72a8f7fc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.258826+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"f2419acd-db7a-4694-bb49-8c3e54aa4332","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.244551+00:00","summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"5616905a-812b-498e-9e5f-22d6279136c2","title":"[UI] CI: Site-wide link and render health check","description":"","status":"blocked","priority":80,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-23T15:24:05.407586+00:00","updated_at":"2026-04-24T13:13:26.489777+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/5616905a_812_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"50d8d0e2587bf4718fdc6138ffb2fe07bbf0c677\"], \"completion_shas_checked_at\": \"2026-04-12T23:20:04.630990+00:00\", \"completion_shas_missing\": [\"9992c89e98be0a7c3f290f93c3d48f63095f452f\", \"0c8f14ac3e6c0df9ef0c1ebf77c32508593024b1\", \"6b9cc44ea1287216f04e3cca8010446ffce345e0\", \"54465120182f03914bc1cf0dbdd224b71402947e\", \"678d3ca59aa379ebf318bee10dc4f4c2d8f4e39b\", \"6b617a08188fbe1e872a9018b78dde5e6e546995\", \"7d7075031ef2a86b5528013b602a5f4e99aa23e0\", \"b13a7e38e932c711103ee0262ee0533e482c11cf\", \"fdaf635147f665c4f701472407f0abc513a8c85b\", \"af76e647e9a7c849dcb02bedae70978c6a654752\", \"cbe2e04b6550f17c9446015503c27eb01d328611\", \"2cf6c59456d136412569fa3dfc62c252b2b0077b\", \"2da9547329f6a49208537f03aa3930c4b16da776\", \"c0903fb723952bae1c9e2188c7f6c0448a64cbeb\", \"0d959e5cd96b715e916d6cf95f7f8a6bfd192ca9\", \"d6da63393bca1d7ca2b5d7dcc23fcd88d815a803\", \"824675e796f8b926f414acf1a8dd01484d579bfc\", \"bd752c56394fd31c717136cc3e1514b7df1f1a8e\", \"7442f9da2175786ded460b8e2181a54d87b19a96\", \"ebd3d37ee2a8442cadd2ea511fb94f645abbbc37\", \"8ef6a067a3e355af3748e88746c5f75929014466\", \"df57e637fa5f839cc300e646cadf0cf3b0838f25\"], \"requirements\": {\"coding\": 5}}"},{"id":"3d7b4ecd-208c-4b20-98ac-e8980762e663","title":"[UI] CI: Verify all main pages render without errors","description":"Curl /, /analyses, /exchange, /gaps, /graph, /wiki, /atlas, /senate, /forge, /quests. Check 200 status. Report any failures.","status":"blocked","priority":80,"task_type":"recurring","frequency":"every-12h","assigned_slot":"","started_at":null,"completed_at":"2026-04-23T15:15:18.753078+00:00","updated_at":"2026-04-24T13:13:26.463122+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/3d7b4ecd-208_ui_ci_verify_all_main_pages_render_with_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 8}, \"completion_shas\": [\"f019106f7d4876ef078b5ec9dccf021aa2bb6069\", \"e9382ed7c975e5aced01f249950c9f30685122cd\", \"8ddc1236bb90d602d74979be048ef9ca58ddfd53\", \"df7a0d9fecd2b9e2e0c879f4b110257d09596e3b\"], \"completion_shas_checked_at\": \"2026-04-12T22:03:10.411898+00:00\", \"completion_shas_missing\": [\"4ed3867f82ef316a41f6c8cddc61def9f64ec459\", \"9655e8a381ce3043674d95ca0a801690e91fcef9\", \"fbb6d784071565b93251e8223ee71a8cee9dc525\", \"d2ba7079441395a0de32b95db7c226894d2d1373\", \"3fd98512e17e60bf9c2223fe384f16e58d677dbe\", \"e7039d3c6283357df1aa9292497ff54f5a82cda9\", \"ec3ff9776bcc669555ea9b91b62b5c643e4a3a03\", \"69118d67130b4133c9b62ceeb49702521e0a9206\", \"b962efbc35257b5d15c2edfa881ac0aabbb50101\", \"38a43b0dde5f498478eff14f411ed8522902b34b\", \"b72975b4a7a6a89fa6b0ac8182ba28cd41a3eadf\", \"1c8d7682c9d9cdba8127664e192a08298651718f\", \"81ea3fc698df69a7c2fae271072cc1f3e60c03bf\", \"3a3eb056e75c7b34f4084ebc8fd86c923dc627b5\", \"d194b69382454f59a7bc6b62fe32e9f0479fcb67\", \"0615dca156becc048cff86c794756e8435a33974\", \"957149e1e9022ff265021f827d92995ba614a72d\", \"9dd67b94c246112a596ec2e33c6872d3fbd7dbc2\", \"c7658c0df2fbae08f9bb99f777a9c8e8e783e6dc\", \"daca7c49f57ac4f730e2002d50a652d17c6c3dad\", \"5e57c7d11ff65045de51ae082db104588bc980b3\", \"0ea283ac2ae1815a6c0c8984667e7b7ddcbf80b2\", \"6673ae3c817c570dca2dafe2a3afe2a656b0b022\"]}"},{"id":"6d500cfd-b2c2-4b43-a0b7-8d0fb67d5a60","title":"[UI] Orphan work detection and linking system","description":"Build orphan_checker.py scanning for unlinked work: analyses without HTML, hypotheses not shown, KG edges not visualized, papers unreferenced. /api/coverage endpoint. Acceptance: zero orphaned work; >95% linkage; runs with linkcheck service; visible on Senate dashboard.","status":"blocked","priority":80,"task_type":"recurring","frequency":"every-12h","assigned_slot":"","started_at":null,"completed_at":"2026-04-23T15:10:24.623744+00:00","updated_at":"2026-04-24T13:13:26.029190+00:00","summary":"Closed: caused by temporary 502 outage, now resolved","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/6d500cfd-b2c_ui_orphan_work_detection__spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"auto_tagged_at\": \"2026-04-03T22:29:52.509594\", \"completion_shas\": [\"2eba2d9ea3fbf899712372ecbc03f2e78294f7c9\", \"ae9a04c93cbde1ecb803a354bdfc89c625dd8518\"], \"completion_shas_checked_at\": \"2026-04-12T23:15:52.847027+00:00\", \"completion_shas_missing\": [\"8048eef29154425e5f1f2c2b8d931d00820068d2\", \"773878f4ee897a91afb15d49c5446e43ce6cdd7a\", \"c0dbca7253b7cfcd10521be4ae6a4c77c2016561\", \"986dca776a5de6a29dad14387b74149008dfd0bf\", \"f8c78919aa6e31f38709faf875ae19795030e2bc\", \"fe0df87d28b9e59b6d4e3ca1f2f0b47b53643742\", \"c8eb18c5ae285a59184d2d19d1699235da5229e6\", \"d6bf3694e941bb7914538bf8bf92443aecaf87cd\", \"2f9b7069f454ab5cf89ea2bb23ef7f12dce2e1c2\", \"7b7e4cab88e548be078ec15b0dbb1475a26bf32e\", \"7e4ae1f92f5e7614a8f852e59be62eb064abfe9a\", \"85f9ba0713167da8cfd4160aacb09f2e0e58f6ea\", \"6ac5bc77d214aa21c7792102be3cb14ef1535a67\", \"313148f6862329b59b25b9703dafe1afa1a7dac0\", \"c2591861f612f773acd7d47ffe5c0503c139377a\", \"58c597c18a2bdb9a3395fade2fb3638af8da58d2\", \"0be021212dfc0faa4553c9586baf958bdbd93b1e\", \"c11a76e0fa070f8e71c9fc328802e1efa89454c8\", \"e4f61e5755c7f4ee88d4bca7ec905e16d8cd418d\", \"5ee071527e45f647acfd0a69cd50884755a10f01\", \"0de650e8e768ed98583549b3faf93559e6294495\", \"4ac639ec244f7ca3082a719935869ef63e9434ec\", \"57c73ae6df220f7f7e119fd8fd124d2ce0a67bfe\", \"2b7c11f69eb2fa74fae6c826bdf133eaad82daf9\", \"f23970df9256b93aef2ccc694aa26dd3564d9783\", \"e8547dd62f8ecc546e346fd708e173714b06b9b8\", \"8aa7fda30a2d812ae1b730690eee5177dd8dc1ff\", \"55f7527b4dacb000ab0268c8507b501125ab8d31\", \"bb7214faa6c36e062b6eae2bf32472a19186dc75\", \"e166de3db8685eaea18df199b7315043e8d4c7e7\", \"5b7248b4c0ed5616303e901c39024b462c317727\", \"dc6f9b149e093fef4157bccac31a406855561484\", \"2534a4b148f9029af10c58e1b9f71bb9771ec638\", \"11c138e59ae3398a2d38b3cb30674f41012685be\", \"dc7d39449172e7df00ac9dd7faece973d63c2529\", \"d8bab8252c5b54311d7f478ba38d9b8138ab0e28\", \"3e25af7232b013f4e08cf54a86a87fd306590e63\", \"9483df03adc80c379cc096342c127ad9964af784\", \"61741b454efce7f93c3ec677fee0dbfc3479a662\", \"5bc28538a6cb02e0689f8d5dc19f156ba855d7fa\", \"b2907472d09aeaef29dd0cf58e2e8e9a1e155958\", \"3b0411afee0e97ecafdf3c8eb31baef1f975e690\", \"817eae25ac2dbd3e525a46d357052d5705e918fe\", \"9146440086d80bd9dacfead791f2a2acb4d188bd\", \"5e175dfcb85a1e3a8f8c5bc840551a907e9677d5\", \"29013990f72522213d3e034de4d2dcce1b346b5c\", \"c770de1f461b6430988666ffc12559c10ea9098c\", \"6cb322d296f796dafa0f11ebce3ad7e57818800d\", \"8106a3a39b8f265c2e83d5a47664a65d210ee5df\", \"bae8f424fa35bc3c8851a86db70d1a3742126e6c\", \"c0549b87bf15c5da4baa97ed521bf6474e8b68d8\", \"85a3ed50ab29d94a29211d4f514307477294f4c0\", \"b2c6f14f0b011fbfad632187ef4c9e6471c27991\", \"e685ab0d152db83be3fbc6e11303a450583c9f61\", \"be28cb85c5fb8f8d140f0bf6cfb96b505609d0a5\", \"70f51aca0b61f0579006b991d4d1c5b980ce9258\", \"c95c712ef1a9c5af93c45519227bda8203975cba\", \"5305309f0d569edb9327b86e68551951c2cca730\", \"0e1f9db3f1aece6eab41384f848b934b88a13ed4\", \"4732fc3faba97014a686cf1726a99628d4258924\", \"17230ba2974d6219a076f31df9908cdde390ddfa\", \"a48bb0a631de26c194f7fc254f6b921bf2797157\", \"17082d2e8d9c52abb1066ee1e707603897a2b890\", \"308d6f54abe0c9a4c026e5e1b59d862da744a139\", \"55cc6a5bf120f96ff7e2ceaa8a79966223c8b244\", \"5af49ec13d7918565474bdac6436843d78ab605f\", \"17efa65fe4a76d74aa947be8ea101f5c41330cce\", \"7c9f2d18ffd857894c6b5aab45574a236ff9d282\", \"ea3e5450be758453ddb8298747e6e13ea6ead045\", \"3c67e3bc9dae66376723db2cf4c006eccdfa195d\", \"cbb73573b9da903003d92f74e5a00bcb77ff7abb\", \"863572c88273ec01ce2618f8d97336e033c5da48\", \"64a19ed5cdf27dc0bcadfdadb8477d734a257235\", \"8c14b0840bf3ff6083b1dd0103f2ad80a8c5ef45\", \"23b146b7c4394ecd28eb9cd0d9f3b444672eb5b9\", \"9ed5e5886a3208f3f610564a875cf75fc5a8e8c9\", \"9d6881fff574a33746476923177ce0e93a706fe2\", \"b8497ee7e3e196d5f768a267cd99364fe673c642\", \"faef5b288f60a1f1069a918fdcf765ea51c908be\"]}"},{"id":"7f0cb4c5-e318-4420-a668-d4c14401d7aa","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"done","priority":80,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T10:29:42.689229+00:00","updated_at":"2026-04-19T10:29:42.689229+00:00","summary":"","completion_notes":"Verified on main (ee911a127): All 5 detail pages have breadcrumbs via breadcrumb_html() — entity_detail (line 52603: Knowledge Graph path), hypothesis_detail (line 35179: Exchange → Analysis path), analysis_detail_main (line 38946: Analyses listing path), experiment_detail (line 36432: Exchange → Experiments path), target_detail (line 38205: Exchange → Targets path). Task 0dce4c3a already addressed this on 2026-04-16.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"a652be5a-460c-404c-98d6-0fe655dbea7a","title":"[UI] Backfill missing analysis HTML files","description":"Generate HTML reports for analyses that are completed but missing their HTML files. Run post_process.generate_report() for each missing file.\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-19T10:09:11.310529+00:00","updated_at":"2026-04-19T10:09:11.310529+00:00","summary":"","completion_notes":"Verified on origin/main: d5cb5344f and df88adcd5 not yet merged to main. Work is present in this worktree. All acceptance criteria met: (1) Scanned analyses/ — only SDA-2026-04-16-gap-ferroptosis-als-d2fb6bf796ed needed backfill; (2) HTML generated via standalone script using metadata.json + debate.json only (DB was corrupted); (3) HTML verified: 23435 bytes, Ferroptosis mentioned 12+ times, debate transcript + nav + styling present. Task work exists in this branch at commit df88adcd5. Completing with --no-sha-check since commit not yet on origin/main.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a652be5a_460_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"f3085715-6cd6-4121-827d-d3ad63a065c8","title":"[UI] Clean up duplicate page cache definitions in api.py","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-19T05:43:37.158047+00:00","updated_at":"2026-04-19T05:43:37.158047+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f3085715_6cd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"f488e212-154b-43fb-8f36-c3b3c9f75e99","title":"[UI] Create shared CSS component and page template system","description":"Extract the inline CSS constant and create reusable components:\n1. Move CSS variable from api.py into a proper /static/style.css file served by nginx\n2. Create page_template() function that wraps content in consistent header/nav/footer\n3. Ensure dark theme consistency across all pages\n4. Add responsive breakpoints for mobile\n5. Test all pages render correctly after extraction.\nCoordinate with nav_html() changes.\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-19T05:38:34.057477+00:00","updated_at":"2026-04-19T05:38:34.057477+00:00","summary":"","completion_notes":"All acceptance criteria verified on main. Evidence: (1) site/style.css exists with 2184 lines including dark theme CSS vars, responsive breakpoints at 768px/480px; (2) api_shared/nav.py has page_template() and nav_html(); (3) CSS constant links to /style.css served by nginx from site/ root; (4) python3 imports verified OK. The task work landed on main in commit 700e194d0 (added both files) plus later fixes.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"49c12054-0683-46ab-bb40-efb4daa11f51","title":"[UI] Add evidence matrix tables to hypothesis detail pages","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-19T05:38:22.625143+00:00","updated_at":"2026-04-19T05:38:22.625143+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/49c12054_068_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"93867984-e4a6-4096-9d63-409e3f2b8ee1","title":"[UI] Automated visual regression testing","description":"Build visual_inspector.py using Playwright to screenshot all key pages, compare against baselines, detect layout breakage >5%. Run every 6 hours via cron. Acceptance: screenshots for all routes; diff report on changes; /api/visual-report endpoint; Senate dashboard integration.","status":"archived","priority":80,"task_type":"recurring","frequency":"daily","assigned_slot":"","started_at":null,"completed_at":"2026-04-12T18:09:49.891930+00:00","updated_at":"2026-04-16T19:47:42.283386+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/93867984-e4a_ui_automated_visual_regre_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 7}, \"completion_shas\": [\"f566069a678b1c0d7cdc1c76793cbadc1590f120\", \"d63e82e5fba41ca1e110ec4d5be36e714747db9e\", \"db6302474b342d56c9374fc02811730e1b0fefee\"], \"completion_shas_checked_at\": \"2026-04-12T18:09:49.881317+00:00\", \"completion_shas_missing\": [\"ca8ec8c766ee956a82a9d90d57a5173b2b3b352d\", \"8e2e43b611d6ebf792450ae3c9fd0dfad3e5e0ba\", \"6f00ffc503a944697f877b96d0862dfe7e3ceda0\", \"d1d79130db34614886abbc61d275ce89a27e49e4\", \"ac7a7eb0a3fcb710c44ff4a9e168aa272177f890\", \"9bf44ba3f77c344d9b0a9f739f3e3512babdd0f7\", \"6c5a078e1ffccbe7035b8f67d02c048c586b136e\", \"9fce4533c73ec1d5fae85425a58320a71eda2b48\", \"0555a50c25be9f499d1fe57e7cef94b97ed82aba\", \"8294cab4241ee8db1f9b3ce705c1b540840bc8cc\", \"bc4a89d357dbc559f27e85fc2d069b695d1a8a54\", \"55a6b6ed78b7f0e7d819791c9450f5a539feca2b\", \"fd4631924a211eaf1b9c5bda4a944a6e731c51ab\", \"2bbaca46b725f8036466f1e5c9d02c6daa4040d1\", \"7d4872c7502cc66c7f1531716752f09d85e422e7\", \"88f667b9b5c6e361f21d8699eb950c380c6650da\", \"f8436b43e324aa7eee7ee191142e4bc9b94431a7\", \"85ed0130990f8eab26ea18fa0657e6b99526c3ab\", \"8fa144efadc802ed4dd7dde40a41ae460139484f\", \"87c9a0b13f0f7644fc04860d76f6f1cb6e1b0167\", \"961c5ae45d75e4a5861101bc4f188bf7b9c27ae4\"]}"},{"id":"9bd32798-ff72-47cc-8764-3135041f2272","title":"[UI] Add Option+Shift hamburger API restart shortcut","description":"Extend the navbar hamburger shortcut handling so Option+Shift+click triggers an API restart endpoint, while preserving Shift+click cache clear behavior.\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-19T10:36:53.197874+00:00","updated_at":"2026-04-19T10:36:53.197874+00:00","summary":"","completion_notes":"All acceptance criteria already satisfied on origin/main. Confirmed: nav.py has centralized scidexHandleHamburger with Option+Shift+click (event.altKey && event.shiftKey) calling /api/admin/restart-api and Shift+click calling /api/cache/clear. admin.py has the restart-api endpoint.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9bd32798_ff7_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"f5dbe028b\"], \"completion_shas_checked_at\": \"2026-04-19T10:36:53.183095+00:00\"}"},{"id":"cba19c94-1724-4d5a-b89d-96c73c25f12a","title":"[UI] Nav links for all 5 layers","description":"UI6.2: Nav should include: Dashboard, Analyses (Agora), Exchange, Forge, Atlas, Senate, Gaps. Add Exchange prominently. Add Forge/Senate once pages exist.\n\nAcceptance: Nav reflects all 5 layers of SciDEX architecture.","status":"done","priority":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T15:16:27.228785+00:00","updated_at":"2026-04-25T15:16:27.228785+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cba19c94_172_nav_links_for_all_5_spec.md","provider":"any","payload_json":"{}"},{"id":"0a2c411d-f510-41ae-b7c2-641fa57d1e1f","title":"[UI] Add search functionality across hypotheses, analyses, and entities","description":"Add a /search endpoint that accepts a query string and searches across hypotheses (title, description), analyses (title, question), and knowledge_edges (source, target). Return unified results with type indicators and links.","status":"done","priority":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-25T14:08:18.284894+00:00","updated_at":"2026-04-25T14:08:18.284894+00:00","summary":"","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}"},{"id":"81c62e13-becb-4d0e-ae78-292f42c87f96","title":"[UI] Fix remaining duplicate route definitions (/status, /hypotheses/{hyp_id}, /api/coverage)","description":"There are duplicate FastAPI route definitions that may cause confusion. /status has 2 definitions, /hypotheses/{hyp_id} has 2, /api/coverage has 2. Review and remove the older/less polished duplicates.\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-19T11:09:17.069775+00:00","updated_at":"2026-04-19T11:09:17.069775+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/81c62e13_bec_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"22d979a5-baa8-492c-ac6b-db09d3b9c5e3","title":"[UI] Remove duplicate /clinical-trials route definition","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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:09:04.889689+00:00","updated_at":"2026-04-19T11:09:04.889689+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/22d979a5_baa_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"8ad4c451-bd35-4099-9b66-a39fe97da03e","title":"[UI] Fix nav Atlas link — /atlas.html to /atlas","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":75,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:04:38.724371+00:00","updated_at":"2026-04-19T11:04:38.724371+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/8ad4c451_bd3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"1a970b2ed\"], \"completion_shas_checked_at\": \"2026-04-19T11:04:22.169625+00:00\"}"},{"id":"ba90addf-4301-4401-9234-81c9001e1d6f","title":"[UI] Align top navbar items horizontally","description":"Normalize shared top navbar item styling so dropdowns, separator, Showcase, Demo, and Vision align cleanly on one horizontal axis.\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":72,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:29:56.157613+00:00","updated_at":"2026-04-20T16:29:56.157613+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/ba90addf_430_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"19703589-bdbf-4366-97fe-6fbaceca00c5","title":"[UI] Fix: SciDEX docs appear in entity search with wrong links","description":"wiki_entities view includes scidex_docs pages, causing them to appear in entity search results (type='entity', link='/entity/{slug}') instead of documentation results (type='documentation', link='/docs/{slug}'). Fix: filter entity_type='scidex_docs' from wiki_entities_fts search queries in api.py.\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":72,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:13:41.953327+00:00","updated_at":"2026-04-20T16:13:41.953327+00:00","summary":"","completion_notes":"Verification confirms fix already in main via wiki_entities→wiki_pages migration (commit 492b17f03). wiki_pages_fts correctly routes scidex_docs via source_repo='SciDEX' check.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/19703589_bdb_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"01ed6cd81\"], \"completion_shas_checked_at\": \"2026-04-20T16:13:41.935448+00:00\"}"},{"id":"00739e13-fabf-4de6-8213-e7ee3994dfb8","title":"[UI] Simplify Showcase top navigation","description":"Remove Walkthroughs from the Showcase dropdown and remove the extra direct Showcase top-bar link, then deploy the nav cleanup.\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":72,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T15:01:16.950305+00:00","updated_at":"2026-04-20T15:01:16.950305+00:00","summary":"","completion_notes":"GitHub push authentication keeps failing. The code changes are correct in the worktree (verified via git diff): api_shared/nav.py has direct_links=[] and correct Showcase dropdown. The token in origin remote is invalid/revoked. Need human to update the GitHub personal access token in the git remote URL.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/00739e13_fab_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"cdc83b67-782d-449f-99da-642fd88eafa3","title":"[UI] Tighten top nav spacing","description":"Move the hamburger and SciDEX branding closer to the first top-nav item and bring the search box closer to Vision by tightening shared nav spacing.\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-20T19:16:08.082422+00:00","updated_at":"2026-04-20T19:16:08.082422+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/cdc83b67_782_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"3435e083-f54a-47c7-b721-8ba7156f8ae6","title":"[UI] Add loading spinners and error states to all dynamic pages","description":"Replace blank/broken pages during load with skeleton screens or spinners. Show friendly error messages instead of 500 traces. Implement retry logic in JavaScript fetch calls.\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-20T16:38:18.642789+00:00","updated_at":"2026-04-20T16:38:18.642789+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":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"c0eee311-f096-4ad8-90d0-d0c5609c98c8","title":"[UI] Normalize notebook action button heights","description":"Make notebook detail action buttons such as Show Code and Download .ipynb render at the same height and alignment.\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-20T16:36:37.046435+00:00","updated_at":"2026-04-20T16:36:37.046435+00:00","summary":"","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c0eee311_f09_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"81eca19b-5a7d-40fb-a5fa-2c2127afa0c1","title":"[UI] Add /api/health JSON endpoint for monitoring","description":"Add a lightweight JSON health endpoint that returns DB stats, service status, and uptime. Useful for Orchestra agents and external monitoring.\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-20T16:30:52.169767+00:00","updated_at":"2026-04-20T16:30:52.169767+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/81eca19b_5a7_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"7c483e0e-5d15-4a51-ad71-449c293e98ca","title":"[UI] Fix duplicate Debates entry in sidebar navigation","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-20T16:25:19.490064+00:00","updated_at":"2026-04-20T16:25:19.490064+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/7c483e0e_5d1_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"475c2cfa-d8d9-4a54-8034-cfffc018a716","title":"[UI] Improve main dashboard with live growth metrics","description":"Update the main / dashboard to show: recent analyses, top hypotheses by score, knowledge growth rate (edges/day), recent papers added, active quests progress. Replace any stale/hardcoded numbers with live DB queries.\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-20T15:06:15.397723+00:00","updated_at":"2026-04-20T15:06:15.397723+00:00","summary":"","completion_notes":"Task was already completed in commit 5cca22d98 ([UI] Add active quests progress section to main dashboard (api.py) [task:475c2cfa-d8d9-4a54-8034-cfffc018a716]). Branch is identical to origin/main. All acceptance criteria satisfied: recent analyses, top hypotheses by score, knowledge growth rate (edges/day), recent papers added, active quests progress — all via live DB queries.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"5cca22d98ac65ed7c9df8d0ed0a7eb0fc38e3f6d\"], \"completion_shas_checked_at\": \"2026-04-20T15:06:15.372857+00:00\"}"},{"id":"ed11ca4e-8709-43bd-97bc-304e0de77265","title":"[UI] Add Showcase dropdown with Demo and Vision","description":"Update shared navigation to add a Showcase dropdown containing Showcase, Demo, and Vision, while keeping Showcase available as a direct top-level link.\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":68,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T20:12:50.956823+00:00","updated_at":"2026-04-20T20:12:50.956823+00:00","summary":"","completion_notes":"Verified on origin/main (b10fea835): dropdown_groups has (\"Showcase\", [Showcase, Demo, Vision]) and direct_links has [(\"/showcase\", \"Showcase\")]. All 4 acceptance criteria satisfied.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ed11ca4e_870_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"b10fea835\"], \"completion_shas_checked_at\": \"2026-04-20T20:12:50.923944+00:00\"}"},{"id":"8424ba01-97d1-4846-b479-97670600f6f8","title":"[UI] Display AI-generated images alongside existing figures in pages","description":"Update wiki, hypothesis, and analysis page templates to display AI-generated images (from image_generator.py) alongside existing matplotlib SVG figures. Images are optional — pages must work without them.\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":62,"task_type":"one_shot","frequency":"","assigned_slot":"","started_at":null,"completed_at":"2026-04-20T20:36:37.856507+00:00","updated_at":"2026-04-20T20:36:37.856507+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/8424ba01_97d_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}"},{"id":"99bf52d0-5cd8-4e82-9017-0f023ec92ecf","title":"[UI] Build documentation system and evolve SciDEX knowledge base","description":"Build /docs section reusing wiki_pages table (source_repo=SciDEX). System Inspirations page, Five Layers, Three Primitives, guides, architecture docs. Docs help agents evolve the system coherently. See docs/planning/specs/documentation_quest_spec.md","status":"blocked","priority":42,"task_type":"recurring","frequency":"every-2h","assigned_slot":"","started_at":null,"completed_at":"2026-04-23T19:34:50.434536+00:00","updated_at":"2026-04-24T13:13:26.656176+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/99bf52d0_5cd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 9}, \"completion_shas\": [\"2ad53dd94d7f3ba4b80ac2982d4dce07fa307c49\", \"8aaae29e0e26935eac4c51a1821dbef888f80707\", \"3bc844253fb9a94c77c96be67f90c5da2e0c462d\", \"10193dd8152c7076710e5b95d16640bfced595fb\", \"83ca3d2f42422a2f998fb7edb1c8099fdf3c042c\", \"fb8a942bfc7bc4120f44b53790039b9e4e3ee7f3\", \"73cc782c15ac1901cbec876ca70cb55526ec0c1e\", \"e9fe665a599ed4d1056160eef1123fecbcd14ddd\", \"7e5bacd59c33dec126a93a2e517d1f6cf31071ee\", \"cc83bcbaed5f9e7937e7364b0b3c3d6ef2ee12ad\", \"f2c85509840f14287eda903130e28b18579dfdb5\", \"cb7a7f3003137f687e29d5894033cf4c7684dd69\", \"168cb75b47e26903eef28f340e121cfa361cf521\", \"c610deb6fb221ff22a66c84a0d013641488b81e7\", \"47b76308b520484d4895edf88698a47de72e93d8\", \"d722e039347869734bdc579cbe7af40798a278a9\", \"020d1cbe4f239e4bf4c9d873b6a2b4d79498db88\", \"706a35110daabea3077be9eb480f7b8966fb0fe5\", \"af410fcd622c393285139b611fa77f0590d29be2\", \"35237b06d8033c6025df81d9cc279fc5bce70e20\", \"80af2e813c87ebb56ffc712a0bb022ae3ef0b19a\", \"b498e7c9da7292f76549ca1286f386f565ae3744\", \"d57cc1eefaa5d874911b2a6cf4342e9b7b935ebd\", \"ab311172ad4394e4d6ae1c00a67c5be61cd5b949\", \"a37b8fca3233f1c4b6a7c8f2c0a380cc13a38789\", \"6f9d43e688a299dd4b42a18f32eb51afcb05b5e5\", \"23ef91d897054a20ce7cefe21f04f8f9aa6084ba\", \"2eb9732d6848c5aed7e55e10d884cd2ed7d53cf0\", \"8adf4d785a2985958c6f48f020cfe1be8eebea25\", \"eae21fe9b59cf6f3fde8e45e8e1970fc6bbadeac\", \"e70d1ab85c84a29f4a19e29a1094d73094295ce6\", \"1d35e2f9e61b4c46c55137cdafdf02069ecc2918\", \"7d52493e7d4dde9202b5d1c7ae20c26435765aea\", \"cfb4b16007bcda68edfe4b4924aa980758cbe365\", \"95826b6cd556d4604112f8bc3b8793c61c189e1a\", \"32d6d0f158c260b81013899fb7ed0098e2027bc8\", \"f842fd4fc5a2f9fed000133f42999ee99a0a9e72\", \"1f3e99480f434374fa6a394f603251cf1935b7c6\", \"30844ccbd983ad13aec0c5a6e3b948fa0aa5d69b\", \"8bbd2fa057cc9bbcda7e8a3b50e70a5fc587783c\", \"aa5ef4f7812015e11d53e89bab616c4b4012b8ec\", \"f335a38cde31a6d86bc1a612d14327c5a8d7ac34\", \"1473986851bdfc41d9baf98e6ddf6ff8a2935051\", \"07040b1b208bea2c3d6e6aeedc9400fb8ef1d9a7\", \"20c4b9e150c95413c5aa11125998dee26fddc551\", \"28ec076c38f4f2aeb222f9881f7f14edd7619b01\", \"a5fe0b92494d05e16c0188760e8c7eb976139fe9\", \"4363059c214c6b1860d086b6e95fd27f237ba462\", \"5b4dc4b26a3853f70039dcbad0afac5d0a78b87a\", \"a1071709a9f56fd276f536886a7fef4aadaf8724\", \"b75c9ee00118221ec99f63624f4328b31fa55024\", \"63e1e2f7d5557bce888077dd6f0db516b80f2a1d\", \"ac2d4759856e2b0e9a6d18b9017491b183fb9695\", \"5c703fe0a1a341f006ba865de288d875e35060d3\", \"68fac4039be473282f6524e904a8ffb6c34fdf2f\", \"0ceecf2b5d0a579d2bd9b2257a6b43934e21e8ff\", \"3b0582385a0952ed06dc05afcc58eadad8845e15\", \"3bdadb01b9351ff3bf6c903aebc6f1d84048b4a9\", \"8211163fbf71371502b5995d2682babc1e041f34\", \"46a4ac50f3c9d43abf838ae031d522dcb6405886\", \"432f6d7f3aabaab4c458b64e8214aeed054e87dc\", \"3a8f6a2260ffdfb1db6f2ba82b29d789f49f2be6\", \"3ff6c088c6eb1255265bd8f6f9f998947858c10a\", \"7cc54a6bb65738a4b34444250439e106c9ac6140\", \"c779cc3a04321fd20938bdf49ab7280ed9b41b99\", \"d0eeb8c0a8c8089a2135a73de3f137bd1bddbc75\", \"2ca6c93efcc90ad0e2368edc8d9a14c0a5766a44\", \"b9700154cc37e2d6df9f3007d1cfd29d11b359de\", \"31bf3a767ab48331ff7ca792bd14a4647d55ba12\", \"a59e5f0c098a969a07042c4313313d3e3bce8243\", \"6fb318e84ac0759186572f8886f2c6031de69735\", \"ff1d30a6b953af39253eaf9ac459b3bb6bc11cf1\", \"3f5f77005b00ece7762e8f4289f3d23735eeb34f\", \"e9b4fe744c60dfb26b560a58dcb3d19049d81d2f\", \"a70b78456579992fe9cee08b6156b38151fa05cd\", \"f4b7dbad2786d19846cf68f6e57b36bdb057380f\", \"fa468d0d9edf3b53b3d5c51a599882f98c96693f\", \"9e63550aa0a817745c1c9010478a46a75a2ce4fc\", \"a5329ea7689233c6961a574b5edf8c505b1b9c65\", \"1c684e23fe03dbb4086bd350be8b902adab4a9ad\", \"9aa1144501d2eb984c2550d7a9b1c6475cd0199d\", \"95e797b526f4a2327f0b0c177e34b1420572045e\", \"17719d7b0f76dedc7c165dc4a3e549ea38eccdb2\", \"23aaff66717d3b8801c7b78eaa0ca16e5b69f7f8\", \"53eecf3d9db349bdfabdfedb00155bf7ca63dce6\", \"534209546bec2b8dc51a3fbea73e8acf53b5c171\", \"0d80ad3ee91f1f149ccbeadb066648778aebc740\", \"5ebe84c098e51e9ddef600c98ae3cb67677ca589\", \"d7fd7f4064fe49d3b47e66eec18676084f38536d\", \"48043c5d984e6a4b62c873d494e4070e3346ab09\", \"4fac32b02ab6f1af31939f899c0962d1fe37bdfc\", \"8fbe1b33d603526a7abd02a1dce5f8fcf8c38aed\", \"b530a8b6ae547c53c70a86b04802317996906510\", \"fe0d0e6ce54c9126a3063c8d3b4933638e45818c\", \"0bf94da656df4b2a2bca8986824960e06c926764\", \"6f31b935aa16c8aa765f2275a839529c39a7b7a9\", \"6f8c43c1aaad99af1de3b35b8b1bec836d4bb414\", \"705dfa4a4eacc70dd273c2fcdeb9de8d2ed792df\", \"6a170c24690ba38c7a11af84fd7fa2f750b3f1a4\", \"bd9baf2e1794d7a3f68c16c88716da22eab4fddb\", \"eaf7fa61f147288ff9aa63e7dfe2aae6557c694b\", \"420c127a56219be5513eb7c13f42ce0e5d066a97\", \"b2875ada20b6a36020f6bdbdfee4afe408e43209\", \"2e21b5cbfcb2d0cb189648256b44efcfa52e365b\", \"b6e4ee3dcec5080f7ec86f7678a408d6188d980b\", \"923a43685b8299fc636d51e591391c634c460e27\"], \"completion_shas_checked_at\": \"2026-04-13T05:48:29.165207+00:00\", \"completion_shas_missing\": [\"8a0c3d190b350b558d14196cdc4bd6960e541254\", \"e4d3519445402d7675ba8f2409ce5cf27ea63c27\", \"869038c5897b59ef6c5f23fb65a376efc57f5788\", \"030f2ab0f2b37035a4f69779b2a4300b0ff74230\", \"7dd0f57f735b95236a9d15e9b854d1e288884522\", \"3bb5dfbd740458f5679f899b99441cf136801374\", \"31957959de20333013e7764f8126b5da5168ef71\", \"6e3d2f57ce8e671f0f6769f732c6d459bd9a1723\", \"2752f065727ea82521a94624a7c5178288e22631\", \"79d84bc0253797b174a07c5955d8b4d075e1d573\", \"419ec6e3d7626e4732ab6444507393ecac571e41\", \"5f4746f7f33c766c61c62a4cdd2e9b64a6b626f4\", \"1d377093bd748f22231f0f0510432d6e54e99e0e\", \"959a4b758c7a8e1a2edc963e97a905e01f25500e\", \"d9829242c77cb4ef93829cf35621b5fab3b30ec6\", \"9deaf383e0c5ca92a07d7849546e2ec7c3df12bf\", \"ebcd14a23873a4299cb3a8aaac58ddf2094c816c\", \"2037d12eebe5174919563470c47498950942155f\", \"2e3dccfd60b9672771a08cb243968bd7f73772fe\", \"ebb727e874d096d474158700244f1bf35e98b7a8\", \"93fd5682c4fc1d30df7e4fb8b12848cb7c3ca72f\", \"26b3bd46c65b8be57c98d4a27b45679419395806\", \"443b7bc2e1b44e21307238783736b15dbdf043fe\", \"271630ff5962760ab113ce173bd3cbfe8f318962\", \"b522c398874cc5a5421209f904627ca93f1aa3fe\", \"fc8574bbc07469d4342298e0242d9cd68cb36658\", \"2ff94bbe6ca8d94809425afc408a372d6198b5ef\", \"b37f7538b5b8b9152515085cba27b31fbe074e53\", \"5e571708410f73ede5cbaf1af5692381e4e373f3\", \"61db1b0a7692eaa84148e16bf5502d802cf8e6c9\", \"3274e32b13119a6e3cdb994a0462bbbe1b27b183\", \"2d4b58a6c1723185dca11f695eefa97cd2567c44\", \"b87e3d2e3b667f7cabc4cf8929c01cd3bd80824f\", \"25259b02b6529cfd187f15b60082aa18cb00d7e1\", \"febfcc8e0abb3647d24ce482c2c601d9f22c729a\", \"b4603c21b2eeb65f89d4c2063893fbd999db6322\", \"e1362f70c0dc48cb7c08084e0a0f1ede174619d7\", \"641e5dd4a77b1b9baf48a55a666d0ff71d84e002\", \"e63e63fbd57fc5b5bc461b3b9d8a7cd2452b6f6a\", \"7532cd0d1455fa0e4ee45b6dac384fb90ba84210\", \"1abe4b5b1b8498d44bf6fbfe114026e153216343\", \"af8c24f13c87fa3d1a5d4ac5cee8a6c589135a40\", \"bfe0dfb9ba37c5f95b3a2d6cd74432175cea74c8\", \"d14850f2e109f5b5d12a6827b6a895377e13376c\", \"c13d3a33a723c01b173a512acddd13617166b3e6\", \"1c0dbc881c0b4c612e0b0756bf5c70240f55e316\", \"5dda6d264c619f3d5db01089eff4df82f89ac33a\", \"5f5033b00f036e9a358c2421172dde0ae16988f8\", \"7bd466a16b9dfd277b92b46599baf951130dcb64\", \"94b6a3ac1ddc9d30b1c3b193a0453090d601548b\", \"156361f3b9cfb422eaa3895e742b4c384f020b91\", \"cd9d18dff5f7576784156fa5eaec3f70ad9f2214\", \"4ce2a0401fc5d424344952f5cef42923b1ef2ae9\", \"17ce10edd74cc8c986c05ce3d8a2db7943044a6c\", \"3c5f85e41500ccd56188cbc1ba447a3068b737ac\", \"7c9d74f1619fc13b4c6f49a82c49e5a0f0116fa6\", \"7e220fef6f4e739ac446d1caf84c89c4cd1466e3\", \"e6e3e545a41e98ef3a0a97f40cae4d3685c473f1\", \"f703a815352cada3ada3d485433416ef91d35a8f\", \"c5f65ed83930f422eb88885e73da6416255a067c\", \"5f7040c73d53f9771608e43724b3bb26a7742548\", \"3a6ec4c754d00bb04dc25ca667c9df4a6edb46e2\", \"3821215c862694dfeaf2c886f187a827b2ac7e89\", \"d3f809911a90f45a7a0a7c3861d12437ea361641\", \"cb31cda80bfd64b3c79dc23997adf61006c27c37\", \"75fd2a8116502b542fe2759188056b806a9e03bc\", \"ca13ce5e6ff4b86604f7b67faaa98b6c436a73c8\", \"74f2ae410af43033c924a39576b95ccae85a52d0\", \"2e201dfcbe7d76d77566bd191755a131c3fd1e58\", \"974ee84c1ae57a89c27e677599a7979d73c1f332\", \"e3064467cccea2c94d240003cf045fffb64ea616\", \"e3b7e1bf549cd47d760c3d6ad33ef0436dcca723\", \"584a191e22dbb147954a32ab769c9646e266f52f\", \"a4cfe5cb3ea2ef1de8922853cc8d1151375abadd\", \"4c60f22f796dc8f3533af997d89075dd1e514ec5\", \"68e71b091b984e1b0eec113f5260c9e04e820f76\", \"180a4ff9982717efb4277111642fb218242643ee\", \"2ea0e80e96521d6763c2c59c1cc0df3be8972b05\", \"c62b65f5c0716fb3787d3acba7620d1371657bab\", \"fb1c9299b974f3ccb859f3fc5de2082ad5c9d690\", \"d686c223744c1fde8fba994a1a3a9bcba01c8953\", \"8346e08f9e307721aa35332639f5a76f8548f2b7\", \"bc24e9a9df70ec477d478e9e4a4eee522b9151e9\", \"a16db45aaebcb3fa1041e1414011951e87db3f52\", \"568b85426d1fadaeafa154a4da835d8b949305d3\", \"7558528a3e2bda5ef323a7d062bcd1bd18439057\", \"382d69b2ee96c95399a32eacb05335571aa0029e\", \"36aa02da6657790dfca2c5c5fcf17efe54c05a30\", \"b42c286f798912b223f7426c64b3c4ddab35d09e\", \"0d9648799f54192630fa739f087d44e878d997f9\", \"139f087448ba6068441293a142acddf314edb8fb\", \"5ba2322c403fafe9f69fee8b2cd74297981dae16\", \"4879e3d085857a584d107f3b1bc1aea061b613ab\", \"9f794108573325c2d077baf40b6bf6789da152ab\", \"e3fc1934688671b44fc359243c596d9dac9093d0\", \"12b3956683644fa3b8e5f30d7b4e6a070ae3b966\", \"a4a4de2343cfee67a29b0b78b7274e7c0ab44270\", \"bdde0977ef7438b61eb84858e18527823ee9cc8d\", \"654206db0c3aeb0b5d2c54fc89a8bfd63e169306\", \"e7246bcee504b7d00eafe7257c62822a9ecb556b\", \"b20daf407d0889b6a22f70913e6a5dcd181d59ed\", \"cee4b9d9646506b06a0819422c9ce01321c06583\", \"b94965b0f44337ccef484880a42911aaf01441c3\", \"de7423d876dc8ca9effaaec9a2ef440dee7de8ce\", \"debfb4e8157803993bd4aaf1ff7f8c46283acd62\", \"0ef50a30b85280b68e21c0351bbd7687090aeaf5\", \"608cb4ba4ba3970320fcb481f5ab5a51376e5611\", \"368233a238d9077ed57206824b04ba3e1cbce01f\", \"cc57215d3fc62d544f80327b6d1679f5c136828f\", \"03913e8b927ffe1c996fa1adec9e88457769c8d2\", \"9bd6e956dde02570129a6904d107a6b3963ec35b\", \"91d88402383957269b578eaf2935bb69edd86889\", \"41dc3d5d6076b41e7b80223b66285db7741b1c86\", \"483f8687f48a577213d362ea28f8a05892bceb6c\", \"87e8a9dd0c61d71e7250eb015e65097510a7a8cd\", \"2b5864ef7027688e5aa0a3c7aea902b3efa90563\", \"c6d0125249478a4cad2d379af79cf4ff17a0d303\", \"9eb12e0d139dfd864996dc30c244a83e847819fb\", \"d98c0aed6e92cd91d94944d3b66792db1142edbf\", \"6d21de72dbd239076e23bff735903764c70b9ca9\", \"b30dc786f3e92ee97eb9ee532f70f55075802646\", \"753a14f4f6ad4c1375250594413a560e5b0a108b\", \"d6118c996ced3175e5af9cf5d26328e93dc4f0c9\", \"6d66933dfff0d581f31ce91ea01d772b7d692d66\", \"33ff5a0f16f3d191a026a3968c42f73bf3d00676\", \"9588f1a0d9e9163fe79054967b96869dc6731d0b\", \"e7a08bad02b1e46256637418a6f7d8b985016fb2\", \"3ec8c688c78a5e4d2bf5e10d076e4e808adf96dc\", \"cac2d0ab6bd76b754046bc2ffadd9332499210f0\", \"c6326d8e11e89c5083c58a8fef984eaead6a6cbd\", \"0c0dacbe9458344e72c1db934f60a7c4c163fe2e\", \"ba1ea8e3f04ddc8c6dc11417b0c49c04854f2d3c\", \"b3ce1e8f84fc622f3a18cb4bfb819834c949da3e\", \"50f13f73362ab4d5df1d225ffd6f5a28a3893d36\", \"dcb76d50a90ed385d030f310d7a506fae3744ff7\", \"60134978490e2eca80801f300d740d87139a0b0a\", \"781b72bb949a7a54719dff5cbf24d78d44fe2077\", \"7799824d371be459871f4934b1ff74d5e6c0f7d3\", \"fd85b2407aa4f516ed2387f7135b8dacd0749831\", \"af92fbb8a324735fb4767466a88d1500c8be43f4\", \"37c03b9651acb32d5762c3529017c3c8c6c5465a\", \"2d18db149aa7b2a51a8fe9af12aee18e4bdb9fb2\", \"9b23193aa194fcf814bae962741c75422e523a8b\", \"6261961994fc9fd4baf761482824f48cd4424004\", \"168bdccefea95d583ee7b299d706df53da8d68a8\", \"6ca91b87c572f7a75bf2865293a954ba189d36ab\", \"31d6ec3e10bfb0aa7aa8db57af9859b3431462d8\", \"b41f76ad41b99588f8fecad2f2cab09f37e7e551\", \"8e19a56a9eaa71f37cdf9214a965b24b6fc6a298\", \"54a38f342d05dc14e91f9e99762c35857c6ced50\", \"19677635e8331dc4ff7e4868066922e6d0b21454\", \"1dad5cb8247e8fbfd31c84961e357ce18ca8fbcd\", \"e7ddf3bece7f750d024c44a328eeb9abf3fa8922\", \"06ed4d27e4b51d942fe2d1a951f05f21888b7dd0\", \"aedf43ef80ef8313154fd062e3cf98b8c939d425\", \"8608edee3a9e5316187a6dafa4a585d3de3d198b\", \"af76b90110fa2c1238b709459e715c8c0f0454c5\", \"d4854f3c471d0dcfdc07cc7e1580100adf18749c\", \"3e1df69f79d5371c40a47ac2f80d37b7d2779a28\", \"cc829622abe7e0f28cd02765fff5df2782e2e7de\", \"c4842fa0a77eb0b87fe702189a9402d79dc158d8\", \"66a2205dfd1ccfaf36cf9207d7b470003571293c\", \"8bf04d1b9e9a0f7ea81a97018fa9a0080516597c\", \"8862d7e130d48237f3c58a2496543033f441e503\", \"37393de5d4446b739fffc681b286e01c52a79f72\", \"836f51f87718fb9daead29778d00aa1fd27eff08\", \"e2b4bed5ec3dee749bdd23d72e7fde7c764adaa5\", \"1009a570cdd6d8eef2c17b139762167344961970\", \"182d0c98d1560e87dd9342d51219a441c5a623ec\", \"ce308ecf87556be5644187f90e30127c2739f9a7\", \"57ed5b6bcaede40ca1b754dbdbba98a8c0512ed1\", \"14f0c7bd942cbb5c0bdc949cfc77dcf48f669989\", \"9e5d847c621970bdcee3ad7b19231b075a122734\", \"191e641cf44739cf37a7f4b9d544456ccd44f579\", \"0279c0fc8f0df225d6769a4e8cecd521cefbd8f2\", \"9d9689a10aa0b9c86c2021e34501390b8a492dca\", \"752713d9d2e9db2f1ce16675c63567f5d22f8377\", \"6b0638566cbec1e3abe86615107bfdc2aee831d9\", \"94c040877bcf72758712b8aba8c204e8ca0a947f\", \"5a35743086e0f5d4d54d165f4797bd53847307b0\", \"5184528058ce95e12843316d54c0b73ffd73d90e\", \"2c9223ba840b66cfdc60fe670da502e54eb6a6a9\", \"65edeee8c533f3c79c72aa02fa7af0b295b691c9\", \"f929b083e51c87cff61200d64a7e8b8fa22e13b2\", \"90bd37ea071de0e06afb1bdd2881c0b608824770\", \"9dacab1dadab98dc7e93c0fcc6a1220e372763b8\", \"2590f5e9f1b01d9a737aefa504fd0293797d20fd\", \"42d2adefdc8cf61414d3b2f586e8c5d49c73cfec\", \"82fdff32e58427d3c6bfd82636c06ec26e90f1e9\", \"01cafd81667fc7e9f60dce0817c3e1f5dd3d415c\", \"05dacc18ea6deed02789d854e2c3bfad58d41674\", \"f0627cc7cd3177adfac14eacaf0f3af3c8ded56e\", \"70ccb84f2fccdf54f3ff04d369193356db2feb77\", \"67a5c1bd9c0f862e23148019f5cb6ca654a2bbd2\", \"5880f167ac40fb1c3c2abdb4bae4a2bc6ffd04ee\", \"4323f94f495ce39523f7206c605d7e750622a2b5\", \"e2610c77364cd3807c8e4a4d32d9409a5e117c49\", \"d3e3f447588756b2a8a773dd389003d8265fcfe6\", \"fb237a8ac1fc2806ae241ddfb105fc9b9dd8f2b3\", \"67723013f39e15035e8b3229a56bb75d0653119b\", \"8f8bee9221e55f0d4785181fcbbef89327650263\", \"9c797d07ce2117b97cca1baf355af9010552bd25\", \"e9e9eab1cb693c9608111cd6fd415c57cc357aae\", \"f58ab3bad13f1f05c50f93af9ea2656ef237b140\", \"5d673d2309a44d4d71995cfe949fdb688b6f199e\", \"8f54a8f1a320c919cf9526356ac99d74e1667ce0\", \"25e791501b3298ad74535e6c0b23659d05c67aed\", \"f91488ea01ac4591360462cd63a7c69d77d9fb79\", \"cbff144e295ca70d629e5cb496639c6262fe98cc\", \"6b7b04320d07a8ea254d2d96bd092334d28300f8\"]}"}],"reviews":[{"task_count":9,"total_tokens":450000.0,"total_cost":1.35,"output_score":32033.6644,"efficiency_rating":"efficient","reviewed_at":"2026-04-20T16:13:25.817325+00:00"}],"effectiveness":{"task_count":9,"total_lines_added":0,"total_lines_removed":0,"total_files_modified":0,"total_hypotheses":3908,"total_kg_edges":2830243,"total_papers":85997,"total_tokens":450000.0,"total_duration":9750819.321458999,"avg_impact":1601683.2222222222,"avg_effectiveness":32033.66444444445},"spec_content":"---\ntitle: \"Quest: UI\"\ndescription: \"UI/Infrastructure — consistent styling, responsive design, loading states\"\ntype: quest\nlayer: Cross-cutting\npriority: 75\nstatus: active\nquest_id: d5926799-267\nspec_path: docs/planning/specs/quest_ui_spec.md\n---\n\n# Quest: UI\n\n**Layer:** Cross-cutting  \n**Priority:** P75  \n**Status:** active  \n**Tasks:** 910 total (158 done, 6 open)\n\n## Vision\n\nUI/Infrastructure — consistent styling, responsive design, loading states\n\n## Open Tasks\n\n- [ ] [UI] Improve /analyses page — add cards with key metrics and debate status (P88)\n- [ ] [UI] Add hypothesis comparison view to Exchange (P85)\n- [ ] [UI] Orphan work detection and linking system (P80)\n- [ ] [UI] CI: Verify all main pages render without errors (P80)\n- [ ] [UI] CI: Site-wide link and render health check (P80)\n- [ ] [UI] Automated visual regression testing (P67)\n\n\n## Success Criteria\n\n- [ ] All open tasks completed and verified\n- [ ] Integration tested end-to-end with dependent quests\n- [ ] UI pages rendering correctly for this quest's features\n- [ ] Documentation updated for new capabilities\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: UI</h2></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><strong style=\"color:#e0e0e0\">Layer:</strong> Cross-cutting  \n<strong style=\"color:#e0e0e0\">Priority:</strong> P75  \n<strong style=\"color:#e0e0e0\">Status:</strong> active  \n<strong style=\"color:#e0e0e0\">Tasks:</strong> 910 total (158 done, 6 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\">UI/Infrastructure — consistent styling, responsive design, loading states</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\">Open Tasks</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Improve /analyses page — add cards with key metrics and debate status (P88)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Add hypothesis comparison view to Exchange (P85)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Orphan work detection and linking system (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] CI: Verify all main pages render without errors (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] CI: Site-wide link and render health check (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Automated visual regression testing (P67)</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; All open tasks completed and verified</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Integration tested end-to-end with dependent quests</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; UI pages rendering correctly for this quest&#x27;s features</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Documentation updated for new capabilities</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_ui_spec.md","commits":[{"hash":"59405c7c5","message":"docs: AGENTS.md — document Path A/B/C task completion semantics [task:docs-agents-completion] (#40)","date":"2026-04-25"},{"hash":"e5b5848a0","message":"WIP on orchestra/task/8fcc8dc8-debate-artifact-version-pinning-referenc: 8a24c2fa2 [Senate] Delete broken restore_database.sh (#38)","date":"2026-04-25"},{"hash":"58406ec64","message":"[Atlas] Dashboard artifact type: living web views with data source rendering [task:a17-28-DASH0001]","date":"2026-04-25"},{"hash":"8a24c2fa2","message":"[Senate] Delete broken restore_database.sh (#38)","date":"2026-04-25"},{"hash":"b98a1fa18","message":"[Senate] Delete broken restore_database.sh","date":"2026-04-25"},{"hash":"e846f82ef","message":"[Senate] Refresh BACKUP_RESTORE.md + docs/runbooks/emergency_restore.md (#37)","date":"2026-04-25"},{"hash":"43972a45e","message":"[Senate] Refresh BACKUP_RESTORE.md + docs/runbooks/emergency_restore.md","date":"2026-04-25"},{"hash":"2c7dbfe7f","message":"[Senate] Delete 9 obsolete backup scripts/units (continuation of Phase A-D cleanup) (#36)","date":"2026-04-25"},{"hash":"9743eb298","message":"[Senate] Delete 9 obsolete backup scripts/units (continuation of Phase A-D cleanup)","date":"2026-04-25"},{"hash":"3e72d8383","message":"[Agora] Wire 3 missing tools into debate skill_functions, fix citation persistence bug [task:b1a8e549-6f31-43c5-80f5-7c4717c267e4]","date":"2026-04-25"},{"hash":"f734f7c23","message":"[Senate] Remove orchestra-pr-merge phase A smoke markers (#35)","date":"2026-04-24"},{"hash":"a4d8869d0","message":"[Senate] Remove orchestra-pr-merge phase A smoke markers","date":"2026-04-24"},{"hash":"035fd33b5","message":"[Senate] orchestra-pr-merge phase A smoke marker (#33)","date":"2026-04-24"},{"hash":"d56eea48b","message":"[Senate] orchestra-pr-merge phase A smoke marker","date":"2026-04-24"},{"hash":"8e1d916da","message":"[Atlas] Notebook cell-append API + cell-level diff [task:f535e6c9-7185-41c4-b850-8316228e6500]","date":"2026-04-24"},{"hash":"14c65318b","message":"[Agora] Wire gap enrichment + persona research + citation persistence into K-Dense skills","date":"2026-04-24"},{"hash":"026d14776","message":"[Atlas] External dataset references: register_dataset, freshness check, API endpoints [task:a17-21-EXTD0001] (#32)","date":"2026-04-24"},{"hash":"34f325413","message":"[Senate] Update spec work log with PostgreSQL port details [task:aa4468a3-edc2-409b-b96d-4b448228545a]","date":"2026-04-24"},{"hash":"64e950a8c","message":"[Senate] Resource tracking: log_llm_usage, API calls, cost estimation, aggregate views [task:aa4468a3-edc2-409b-b96d-4b448228545a]","date":"2026-04-24"},{"hash":"bf43a2453","message":"[Atlas] Update spec work log — all acceptance criteria verified [task:a17-21-EXTD0001]","date":"2026-04-24"}]}