{"quest":{"id":"dd0487d3-38a","name":"Forge","description":"Scientific execution engine — tool registry, background agent orchestration, agent spawning, and tool-augmented analysis. Manages the ecosystem of background agents that perform research tasks.","layer":"Forge","priority":80,"status":"active","created_at":"2026-04-02T10:00:57.209491+00:00","updated_at":"2026-04-03 20:28:13"},"tasks":[{"id":"67d4640b-93cf-4ee4-9369-b292a8573f5d","title":"[Forge] Integrate tools with debate engine","description":"The orchestrator imports scientific tools (pubmed_search, semantic_scholar_search, etc.) but never passes them to Claude API calls. Add tools= parameter to client.messages.create() calls so debate personas can call Forge tools during analyses. Critical: all 15 tools have 0 usage because they're not available to Claude.","status":"open","priority":95,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T08:05:21.946583+00:00","updated_at":"2026-04-28T08:05:21.946583+00:00","summary":"","completion_summary":"Task complete. Tool integration is fully implemented and verified:","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/67d4640b_93c_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"auto_tagged_at\": \"2026-04-03T22:29:52.490394\", \"completion_shas\": [\"4df9d118e4a803714e96e0994b2a37c94b993d05\"], \"completion_shas_checked_at\": \"2026-04-12T17:23:03.412570+00:00\", \"completion_shas_missing\": [\"ce475d5363475b4b5689efe88c50df82e263a83f\", \"d2a3c8cb11c4b63a9a0df6b8e394e0ff6289455b\", \"1e548f4545f4dcd77534379252ff625102e556d2\", \"a28e87b8652731b8354724ee47622da84a1c424d\", \"56912f7daa3bdf3b7c2fd321898d0c9581a3fac1\", \"dd67a06709a20218a25a4659cc6f220c4c32d2ee\", \"76ecc675198b4945ffc17b1b27a376f29a5175cf\", \"c61a07e980d0bfd3cfcd89ea14946e0f0a1bbebb\", \"48535f71cb5ccaa83d4d530af1029a219adf9293\", \"b9dc056659769113f112a0b6273638a557a12dc7\", \"6061b488a89c367c09a051110106bef740aa346c\", \"95cc9acc39fe717e9f4aab7c84bf3ad1013e0659\", \"74c6098b5186e87647e5b370bdc142db73f4aaec\", \"537214ad4127b9763df936f4783e8f045605fa70\", \"da4eac9cd4a242c90b88e74935033c730291f4c6\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"No-op: Tool integration verified intact at origin/main. agent.py (7 calls), scidex_orchestrator.py (6 calls), debate_orchestration_driver.py all pass tools=CLAUDE_TOOLS. /forge HTTP 200. Syntax clean. Last production metric: 133 tools, 24,563 total uses.","task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"da6dcda8-48b5-48c3-8e9c-4e5a94cff853","title":"[Forge] CI: Experiment claim driver — pick high-IIG experiments for execution","description":"Recurring per quest_experiment_execution_participant_spec.md. Predicate: artifact_type='experiment' AND feasibility_score>=0.6 AND iig_per_dollar>=floor AND execution_mode='in_silico' AND qc_status='passed'. Batch 5 claims/cycle. Writes experiment_claims row with 24h soft-lock; spawns iterative task per claim that the experiment-executor agent picks up.","status":"open","priority":93,"frequency":"every-2h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T04:16:41.956073+00:00","updated_at":"2026-04-29T04:16:41.956073+00:00","summary":"","completion_summary":"The commit is clean - exactly 2 files changed (the new claim driver and the spec work log update). The commit SHA is `36ac5a75c` on top of origin/main.","completion_notes":"Auto-release: recurring task had no work this cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_experiment_execution_participant_spec.md","provider":"any","payload_json":"{\"requirements\": {\"reasoning\": 9, \"coding\": 9, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"66c83cdc-0aa7-4eb7-b12f-5e664e5a6393","title":"[Forge] Benchmark answer-key migration to dataset registry (driver #31)","description":"One-shot task. The existing benchmarks table holds 1 challenge (OT-AD Target Ranking). Migrate its answer key into a registered dataset (datasets/benchmark_ot_ad_answer_key.csv) and update benchmarks.id → datasets.id reference. Going forward, every new benchmark gets its answer key registered as a dataset so contributors earn credit for adding/correcting rows. See versioned_datasets_spec.md driver #31.","status":"open","priority":93,"frequency":"every-6h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T03:02:58.484807+00:00","updated_at":"2026-04-29T03:02:58.484807+00:00","summary":"","completion_summary":"Recurring cycle — no repo commits this iteration [already on main: d702c854]","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/versioned_datasets_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"analysis\": 7, \"safety\": 9}, \"completion_shas\": [\"ea7bc2bf2b0831150c8c8db830dbb5f9288297af\", \"8076c7ed28ea296dcd0b83e632fe808f7a00078f\", \"5c4d21d6bffd483793ae387e0b5e7341b3519665\", \"03e706344cca3dbc8af9154d871a7000ab58dd3d\", \"ac094363150be8fccae81741c3ad46f9e8d35a93\", \"e0ec166c72d290036ece2a69e171217b48f4354e\"], \"completion_shas_checked_at\": \"2026-04-13T00:43:07.096039+00:00\", \"completion_shas_missing\": [\"a0a9ce3c880ba3935fcd28ed7a9352dafc0b6547\", \"17eb9651f3843b32739278afe27e49874fb51486\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"5b88ec15-2824-432e-9d49-eb34e2c92cfe","title":"[Forge] Reproducible analysis capsules and artifact supply chain","description":"Drive SciDEX toward capsule-style reproducibility: pinned runtimes, immutable artifact versions, verification, and archival export.","status":"open","priority":93,"frequency":"every-6h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T01:48:41.148239+00:00","updated_at":"2026-04-29T01:48:41.148239+00:00","summary":"","completion_summary":"Recurring cycle — no repo commits this iteration","completion_notes":"Auto-release: recurring task had no work this cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_reproducible_analysis_capsules_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 02:56:49\", \"completion_shas\": [\"68eee91732a9e77f7bd2a60cdfe8b70435147663\"], \"completion_shas_checked_at\": \"2026-04-13T07:17:48.532743+00:00\", \"completion_shas_missing\": [\"a5e164631f1342231830c4d9669e31a02f7ffb91\", \"81454c845d83abeb06bf685114c226a92aa2eba2\", \"87f73688b4830372d9c17f36934f4b667eeb2b7a\", \"56da9c36c3fed4674792eac0047fbdac0eabbb31\", \"a5317aa23fa248d4c68b1b9bff8ab5353de956c6\", \"be8a87563693e68e92c4deb53cdd2f8cf4ff9c7e\", \"c00eefa3228231dd0d9cddd2964aed51010147d9\", \"6eefff6c45d6d4c9423975fdaa4f05587d26d033\", \"efda08e3a180a958b5b6f2237511295f59250bdc\", \"1509e0d21a191e2b4c0500b2cabd326b17cd2845\", \"733113e5b5ec58f71b931c645b885daca21038d6\", \"511e2668b357e79884bb9512911395bdeb1c65b4\", \"ba58a097ba90ab74e98c901b03595a4d74c372d1\", \"47eaa6b942e512cb2404b70a5e4b268c710aa7c3\", \"4ad3e02f6b4541bbe78531c020dd7c085d354e77\", \"0fad1656edb78fad3f79028d280b0f85bbc7825c\", \"52da564a170e6d86dc77c91ffb692d5e6499cb5a\", \"442101bbc7adeb18473325a973fd73dd1d11003b\", \"5ce0e023b2a0b8a10d288bfe5056b53bd8deeae1\", \"5461e3d6faed893b1251a105fd833bdc3bd22966\", \"663353cdc3958e73924467316cac8a014abc9ba2\", \"c5796dc3a8cbdff64f650141840e57521aba9ab4\", \"034cb462a43f528d17577b64f4ef33d31df25097\", \"ad911d1eaae17d55117d09e4f71fd94209f6da44\", \"0d0537dee94e813cbc998e028b57c147c1a726ea\", \"e559c386c3a706fb2653b04f0414bcb5de7fe9f6\", \"c9e3d49a2148b36c39e68104d61a65afecc079f8\", \"99e5714660385c9ea0348353ab34462e1862103e\"], \"requirements\": {\"safety\": 9}, \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"fd5fe016-1581-4f74-8c67-0c7430987296","title":"[Forge] Benchmark evaluation harness — run top 50 hypotheses through 6 registered benchmarks, store predictive scores","description":"Build and run a benchmark evaluation harness that scores SciDEX's top hypotheses against the 6 registered ML benchmarks. Currently 6 benchmarks exist with only 1 submission — the seeding task (1186a9ab) created the registry but no evaluation harness was built.\n\n**Why this matters:** This converts hypotheses from debate subjects into testable predictions with quantified baseline performance — a qualitative leap in scientific credibility.\n\n**Current state:**\n- AD Protein Aggregation Propensity: 0 submissions\n- PD Dopaminergic Neuron Expression Signature: 0 submissions  \n- ALS Motor Neuron Survival Gene Prediction: 0 submissions\n- Neurodegeneration Drug Target Druggability: 0 submissions\n- Glymphatic Clearance Biomarker Panel: 0 submissions\n- OT-AD Target Ranking: 1 submission\n\n**What to do:**\n1. Read docs/planning/specs/1186a9ab-seed-neurodegeneration-ml-benchmark-regi.md for benchmark schema\n2. Read schema: \\\\d benchmarks, \\\\d benchmark_submissions\n3. Select top 50 hypotheses by composite_score with target_gene matchable to a benchmark domain\n4. Match hypotheses to benchmarks by disease/gene overlap\n5. Score each via the benchmark's stated metric against the answer key in artifacts\n6. Store as benchmark_submissions rows with score, metric, method='hypothesis_eval'\n7. Write summary artifact as markdown table via commit_artifact()\n8. Add /api/benchmarks/<id>/leaderboard endpoint\n\n**Spec:** docs/planning/specs/forge_benchmark_evaluation_harness_spec.md\n\n**Success:** >= 30 benchmark_submissions rows; >= 3 benchmarks with >= 5 submissions; leaderboard endpoint works\n\n**Do NOT:** Use LLM scoring as substitute for defined metrics; modify answer keys; create new benchmarks","status":"open","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-05-16T04:11:35.948689+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"Reopened by done-evidence audit: task was marked done with a no-progress/requeue summary and no completion evidence.","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"fail","verification_notes":"Blocked after implementation: DB benchmark evaluation rows were inserted (225 hypothesis_eval submissions across 6 benchmarks) and endpoint verified on worktree server, but this worker cannot commit/push because the gitdir is mounted read-only (git fetch cannot write FETCH_HEAD; git add cannot create index.lock).","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"880b4551-7fa2-4553-8fb3-4181a59dbbc1","title":"[Forge] CI: Paper replication target selector","description":"Recurring per quest_paper_replication_starter_spec.md. Predicate: papers WHERE citation_count>=25 AND has_in_silico_method AND no replication_attempt yet. Batch 3/cycle. LLM rubric picks scoped target (Figure 2A heatmap, GSEA Section 4.2, etc.). Inserts replication_attempts row. Reuses execution loop from experiment-execution spec for claim/run/percolate/reward. Failed replications heavily rewarded (replication crisis amplification).","status":"open","priority":91,"frequency":"every-6h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"","updated_at":"2026-04-28T10:24:46.768724+00:00","summary":"","completion_summary":"","completion_notes":null,"last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_paper_replication_starter_spec.md","provider":"any","payload_json":"{\"requirements\": {\"reasoning\": 9, \"analysis\": 9, \"coding\": 9, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"a88f4944-cb09-4298-ad6a-5805d6b62bc8","title":"[Forge] Reduce PubMed metadata backlog for papers missing abstracts","description":"Continuously reduce the backlog of papers missing abstracts or core PubMed metadata, prioritizing papers most useful to hypotheses, wiki citations, and debate evidence.","status":"open","priority":82,"frequency":"every-6h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:55:07.907286+00:00","updated_at":"2026-04-27T06:55:07.907286+00:00","summary":"","completion_summary":"[Forge] Fix PubMed efetch: switch GET to POST, enrich 493 papers [task:a88f4944-cb09-4298-ad6a-5805d6b62bc8]","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/a88f4944_cb09_forge_reduce_pubmed_metadata_backlog_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6, \"safety\": 9}, \"completion_shas\": [\"197f9a8f0bcc06b10fa32850ee4a07f635be96f3\"], \"completion_shas_checked_at\": \"2026-04-13T00:16:23.686188+00:00\", \"completion_shas_missing\": [\"4b3192a7ed6d1cb75dcca6841e0a1b650b1ab4ef\", \"d70754451ef637082305a3fef2dc70347198ef6a\", \"c6bfd9a0f68cea171c74f7d8ec784a139ba35bb6\", \"e1e5845068aed7b864d554b3aeb56d1fe8c74e5b\", \"ca2b199490ec74ad271dbc679f15460ba079673b\", \"8fe8c49b290025b32120d1d3bc37aa32b6345af3\", \"3c9dfa675347c3063c885e379de392a22946f575\", \"96888510f1fcd40d421ca7b0ea309011f31f5ffd\", \"1bb6570e2b0ddc6ec3907f0068e830c67329e38d\", \"a6514ad567aaece25fac7b9b7514af3306c34236\", \"3fb5b26b49f824cdf6a1f33150a5fcb752d54f13\", \"090aae6a78f2dcf2bbd2cb94f43f03cb39198777\", \"96020d567c6fda3fd323013b2306f6d34801890f\", \"c2860741ca77689e0f76347bb0bb578daae40ce8\", \"c9fe958e6d1557e001d30e78d4babe7a98064542\", \"d19e6a0685806f1aa514085668e0e9bf26a91cdb\", \"573989561ddedcdffa0d0fa7c2825adffd3170a8\", \"4aeb220d073ecde043fff339b155bcb297b3730f\", \"992e6dbca38821e3f10e4b4eabe90c14af408a16\", \"a844718d386e0065575abc47889a590dbca21cd2\", \"6684dcfce61bef8c75b143c826ef1c062284f83b\", \"f5565a723397ae689d7f377d05bae97d5d21b104\", \"f7adc5a5b92c8fdcec629457d8f0480760e2ddb2\", \"7d2ae8d6e6def4f99be2754f91acd8797cdb0183\", \"fa1a00cc94bc7bfab8abbbd7267f8ee4b25c2d7b\", \"e903afd8f731fe755d4cffd00ec83df00a3e0e29\", \"1a9b23dc663f02be9a814d349379fb050cc33493\", \"89b78ac13a3d49717e753e0594be4f2c50bd081a\", \"b471b849edf6906b7ee408d5d0e95321ec92e675\", \"29ef0b1fded4f1b6a95044fb60e4fe5414f193e1\", \"9726694a3e0dcd14b5654b4a32d25f024c08ec18\", \"fb9627a40edb4b609a7b05e622621581eb0eca31\", \"94265a5b77c21b9f064fed9b931062796e24e1b0\", \"ebd2dad83756632868343ffdfcec7c56f9cea093\", \"4fa5c1a8326bdb1ef08b635f0ca9e742cb4c11e4\", \"08ac8fef4c580482c39c7e959b5cf0d22f3b393e\", \"b08a4ec3fcda2cae803d9d53dfd0dd360d523910\", \"efe8ffb898f28e64e8270f348c85ccab7c4f4e2c\", \"0b83b25d61fb5d16d1939fd0dc249694f5e8f984\", \"cdbf18e5f13cd14cb04f6668c35cdcdb12cc830b\", \"d9f9282803836a5e1d7b21759e0be3f2caae5115\", \"3cff5d587c00d452a5903f2b1314a290d3f12d89\", \"8d3906e704d85ba86bf70065be8c59ad09e2830d\", \"46aad7bb0b0eeb22a523a003b4527724abbab8c8\", \"3386f34f29bc96c9c5e53855ff89247862db5c4e\", \"87bedd0e3740b85128054e69f2eb54229c471b15\", \"1231eaceb7f1a3b949f45f55ef79d1e9f611d578\", \"26cd5b4656fd1639ce0815fb9a5b499678b505be\", \"6955776a4475bad7a068cfe28c38c5d4ffa0639b\", \"c1f0d829365943b809a98c0cd72156f81a2e0f22\", \"ee3be3b57982c730a9ce199fa65df476134d34c5\", \"992d6eeb614238a188f21955c6948e6f5a36af53\", \"6ac60bb56221dc7f8845d740ef62c53be24f262c\", \"c560e8d15ebed14743dfbf3ec723c738cfcd9be0\", \"e665bf7d887d1d7eec033d57f24ba573b08493f9\", \"ec0ebea534e9f8e842f92af6147f254108eee991\", \"2230cf70fdb66129c2d9ff0f3260a943988e6f3d\", \"1e14965da8e8f7e9db220d1cea818d0357cae908\", \"1b7042de0ed3ac728d451ccafe907b1308b92a75\", \"53e29b1f7d45e29db5aa51eb75e877eae651f493\", \"2d94bd3e9a58b728d8e35b7e0f5ec1b4b2d9cd5c\", \"1d07815c8bd39597395458c400ffdb760c2c1df9\", \"48c488abd3d538daaf0e7c8f05e2bcb04cfaa5e5\", \"29875d927bf6c319e8853f82a3d8f901f605ed04\", \"095536cde4492d7e30fefbf1a938a6a5d84e3db0\", \"4866650b9b3a2b39944a09be6887211fc7ec7e65\", \"d2f819a68329f9e3467afc3a4446e2bb3a9f0d30\", \"d1c76f138f59a13926fb959826fd4ae14fb20e7e\", \"b188583d0cccc8695217b3568c891664023f4735\", \"2f729c0768724c109b63ff6f327d1d19430cc8b3\", \"56ceea514c6e1d4a45328f47961065d617848eb7\", \"b521a94e28c6d993a5ad69cfbc9fac7c1382384c\", \"f963b41cb61e7194cf0f745836ef7d2c1ee9a0c8\", \"0367880a29410c6b1180808f767adcbb954a72e9\", \"7555b5e0711908e3250343e95dc3d086fcda991c\", \"66ddcdf9f82912aac4534e0bbc8b1ccceeefd18a\", \"2411c06af0f4d838579a65bf60b1bc5a6f8baa8c\", \"eae760cce89299d85158f690c96b5b27f3c9dbbd\", \"912df645a39f1187731db0758674d21ba02aa752\", \"c2646e24a7eee8a900d31ee297e99618be905de8\", \"95ae923c31373e75b2b39025ce1281de817083fc\", \"2db99874cc3d39931879ee364749f180a965a7a5\", \"107ff17680f048276c37151c7dfc18cd363ec234\", \"ac143f757e73ceb7c875497061bdd89c8deb6b98\", \"b1bc5ad369cad359e6942e1084de3e3dfd36f28b\", \"322f4b8484c1a9b1717d8a77d0c2266ae1da545c\", \"e68ee4e8616a1ae3335bba91399cb91f1ddbf684\", \"26ec3a2852a3f80bd43b28b499cc56e89c8ec4e0\", \"4d5371b07b5a9c160a642ebf5a2749e193d6f5fc\", \"b9015acf922788fb0adc025170f8eaeaf552eeb2\", \"7ed10f09b6c61a1374b38d951c4fc2f9f4f91f5c\", \"4e7036a84f305e369ff7e243175859e89d6bbb2b\", \"cb2f382375a87793785e6c7ca3b80f427e0e9859\", \"300bbe6cf34ed20daf4a2a4a4863460da42772ea\", \"0c8c1a6fa1a92e182ce10606e0d42d65ef252a41\", \"e913eb516b54943a537f5c657eaff78114ad5f69\", \"2658035bd87cc21a049b8b676ae88ba71f938620\", \"27ffd7aecb22a1ee968c031c1b3517b9be439aa3\", \"65eeaaf6455deac7709888ff9809c88e80c28743\", \"45892f75fd0171a681da10b225e1c0c014ef61c0\", \"5309c2cb1468079e02dd8802bdd8d962381aeee0\", \"d684698db0c901c82d6ed9f9618bca2fc1edfeb5\", \"0f8f02b1049f134226c3474ff4ca0189b418255a\", \"29b864a2ebb849130c4d6e31e845a075ac31799d\", \"858b09bf52dc88cfc7dcc9656d3fa3bb2a34ba7f\", \"3e3970b3cd386ac9676e0d191b8e8f3c864d28a4\", \"f42ffbcbede49a29224caf92fd981a3508160892\", \"6cbe687ba36568cbc989f58594885d7833d48456\", \"dea5f758489ed36e7eb4b11d8a7350c6fb28b612\", \"11f2f095c3142249a7198ff63d58b84d0b07dc38\", \"ea9835907f430c19c868eb32d431bd798f75f6ed\", \"2b24b56dd0d9f3d12b3a8ab9aad428028a10947d\", \"09315bf70dfb9f4f762fedf8fd6b41785a352a8b\", \"41fbf3a15c91c40018205c3616aee3afd57304ad\", \"c32229445676a4abdbf6141ac8fcfaeb17cbe280\", \"ba3c7fe124eb9ffca831fbfb2e497b3d8cfc95ff\", \"a421dfd0b78298b1611b3d76df12274cf6149e19\", \"cd11bd9fd21e262a90cb1d0099777db7cd4c715f\", \"a2e9eed05abf3a3e7595e313b744aac18172bb47\", \"529c3f47edbd588049b3a9f8bbdee534ecc631f7\", \"e5eab8e053949996167cc9a115896329a5354b9f\", \"56927885e849d49dedef910f8f0af3fd2eebce59\", \"23f83c54ebfdffaf4c7621d4160f0901924507a0\", \"2c4f0f2f985f6de589fb1b70ed940f14889fff7a\", \"38407066394d6680e092594067dca61ff6110867\", \"262ebdfc99ea617d0d7f2d62854252643dd7181f\", \"eabbd08c9e0a15c23d206c1758cfbb0814f02e5f\", \"bf39b52406d316c06b8bfb037ce38a1e1012bd7b\", \"5b827b61cc1d15bd157ffcdf1d17c7a4000e3d13\", \"9f2d8de9138f492065ef97215c54766a41f11a36\", \"66929ea929196de702ac27ce9433aa5bafd3f8ad\", \"c00046eca2116dbc919e4589ca7520d5326f9027\", \"3c48200cd5aa78b05996e001d3684c7c060c5e5c\", \"15d28a8d06e9db25ca3436f94ed5a00160e108d6\", \"c18ded818c4d7d7397f76c2f588391d84e970737\", \"e16b7642e874eab0d2e72f1b9f8b112a41e2009c\", \"a69499fcefec3683c4134f0f4ca0ee62efd42812\", \"2ced8b3018c84ec28be12d3ba292d5062fec446d\", \"bc2e92ff47e8b89465593254a0176c22015ffedc\", \"10e03dd7ce39744b120abfa54ed1d59edfb116a0\", \"91eb6b3413c1c54f30f467150cc6baaba8d516ff\", \"62cad235b1f3cda3a7152b454eb3ff53d8c01451\", \"517b91f927219a2dd48c19a8feda1efd5ea8543f\", \"ffd14244bd3e608186e446042f60cc433bf42f08\", \"926616dd202855a91e9448b3f99a2ec26bfdfaa1\", \"d7b149ea259f9216ca09587e1998f0759a51fac1\", \"66430b36d95bbfdeaecdff94898ad018c19fce07\", \"65a2da4007a9a5fdd66c36c9337d350eda23665b\", \"ae46514f80ebb68500e1c0727cd29660bb1f97d8\", \"c21ce1fa2d7e189b80ebe85e45698164a4452137\", \"80fa7ca2996604eff9412f8057a008f6ab9de36a\", \"860d23ffbe8fbde1c409a5ea029c7cffe445d6c5\", \"82f128b7834a97d5bbb4958c3134e70d82abad01\", \"6795be0edad1967866d0ef1c55e2dc528a5e7b47\", \"8c8f26d8c62726cd9f1ce2d8203bef89572ea9a8\", \"5436b750eec66d00f533ac776d891c9b7d1d804a\", \"ef7c819b6f0d3e72da0492b587bd7f0ccba824f6\", \"06e668b7049156de4d28e3b4214bbaccfb1a1a48\", \"2f88b9ada54f253009a466f0218fd1ca96a9f9ee\", \"bb24907321e087643dd9ee2071dddb39b44276f1\", \"fad327429dcf191428c47f910d5b811043e117b5\", \"6ce4a87d5b9c28e1aa00475ab782039585138795\", \"94ee4a2e5e4c1bebf282de3cb4a151bc2ac45b75\", \"62b047a3a8c5526338b10a31fe836dec542d3e5f\", \"37d2593140bafd81105c2702620d49e6b3735cb1\", \"bac22fd67832d1c6dd82d288b618a8a871503c18\", \"4f7406afee5c6a4f0dba5596d1135e45b39647d8\", \"a4e7b0e1647f291db4ba4f325c2a67189ba4f6ca\", \"c97f91cb24e2987ea038e0e9a08a8f9a120ecdb9\", \"8391a4b7258225bdc38940778e100978497091e5\", \"5a67a8d4981dbe904ace315f46391f00c902c735\", \"4f05a029f5ee3a48ec3c41481565d18fa0bd6ef1\", \"899e8babefd742c1847413d0520963b34a7b31dd\", \"b28a38177933c9a8086b72118cee633ee254468f\", \"5b63a7818ee6d25b6d314450f94cb2e5138c08df\", \"c09803386b0c1459798ffd77ba64e546d7aca222\", \"9cfc86038b6ac1512e5516d3b84b4e1a22a86425\", \"a8028e5fcd2de83133b51a13b8a80d19e259f22a\", \"e5a6eb45e76edf2df167aa7241117fcfca039272\", \"870ed25f603b00bbb9a2b389e3233e50eaf16f33\", \"8ea47f1310de60c20c6964dee577f5fcd14ad8bf\", \"8c589c83470deedf5bef666c1fc6294aca4ffe5a\", \"641762f00cefa80c4cf6c3ee3d95d3fb305b2b37\", \"9308b21e29014ce6bcc378aae5bbd68ef2adbefa\", \"d991ce7f34f94ca68b56e076246492076e01c50d\", \"5e56e10453d1ae6cca12bb5ca9a2c1cd347cd0be\", \"2dd3f0883d521cb224d0138f6f3c37e4e74a2e10\", \"9ae22ef16a4dd737db8618bc13ba52b31733e098\", \"3e295a0c2903268d26feb83838cd900257bb2ad3\", \"0a85446637a3a7b587cfaa01e6d3747c7ef17646\", \"488cece73025d5aec6e8ea5651796e9f1fc8d05f\", \"901c7534d94555900ceaea1ebed29242905bffbb\", \"10db2b5c69fb7cd63d30f540bdd905ff9a4287c6\", \"4f259f2793d1aac41ca6ce519259fab1ef935fc7\", \"1605bd2258691897de9e8ecf4a6e4bc1e78ed956\", \"cdd54c5c5e16543c11ee48038143007ecdec6062\", \"1647fa7df715cb19977a5023812abbec32051616\", \"5fd257b2a235e8942cf7c757b41ee6e1ea616da0\", \"76836603d0c486bfb1f26e65edb859d38ce71298\", \"d5d369f4aa9fac237b88e30c39b7835cc9305507\", \"1643a8b1b5a35b3a040de4ef6becb1bf74d2c521\", \"f1e051e27a8beef8cdcd409b0abc7bec6f254681\", \"578c9e2f9763722f2adfad80f2e1c18d514c3d11\", \"0c9946681712511d9c3e7f265e0b9d5b53abb169\", \"8b3def9bc0d5e755daaab8ecc6c8cb03b1511c91\", \"1658b8002d45f24e533bd6956663662c110ac46c\", \"70c83f55e00497c48a347a0460bfd68089c132df\", \"7d2b9aaae757f79134ace8a3c20f6e643bda49c6\", \"11d5916a46a76be353de1a83f1e0f355587e7cc0\", \"9cc9f5fecac4a86c26983f087fb3c03bd6a6c37e\", \"98ce130bfc014ecd1636f5f2de6e3e9451d3e102\", \"78f3fb8667a2a6995ab6fe3a9ae563da0d6fa360\", \"390902e9c34bd18340870ae43aed0d962e4fd7d6\", \"faac00e40b25409c71acac771715f7ae39eb919e\", \"9754768abf92b92f9d5ffc3aa17763ac8ba13998\", \"9b4557320cd5912220eac166e5120efaa5b7da1f\", \"cb0cc059608603784641f3e3a7ce1c9ca8df5afe\", \"76a5619cd0b44160d53e269582d44b789bc83c02\", \"32cf414bb1deb625d19132bee1a84fdd6f9f360c\", \"09d0f1e00ba5ca4810a9a787fd614ed1a1bb062b\", \"92686f8b7acc136afa4ad36916ba3b29e85e25fa\", \"7993d8205576def3351c24b376e22930c4d58751\", \"0bb90dfdfb74bd7b277c833d2220be68dfd60a6e\", \"9161ca609c385d7c77ce85ee8b62664173ede53d\", \"866fb2b4a1018b9fd831faa27f13d5231d064cae\", \"a3803c548cfc12a26643d37924efb5408377e342\", \"f80f245082f0adcb0ccd64da47f4d27e1f348138\", \"28e8f4b8722432c3505640f6cbbd90544da60ec5\", \"98c3f5ffbe380173595e84f67d16ffc5b9474a33\", \"4cb0167f86fc3661a30179357ecd1a3d9b5049a7\", \"0ede056b946e60b010f74ba76a58d361bc83a318\", \"19d17dc3cf87357c6acbad5e943a90f96f875b6b\", \"d666938c759c2a5ebfb87e70b764b2ee9b427514\", \"7202c3346c92b97d3515aeffe617e107dce80e5a\", \"95e66be8f1cef50536e5f32eb10d44b982d5c93d\", \"85d1da3734a6d41dd2e7fdac0394cc7f57bcaddc\", \"5f4e24d10fb83d7efc91f0b28bf1c6263e129935\", \"4a42f8e6dad6989567789c6542bbe5322b6c4dcb\", \"21af317e6fcb98208ab27eaf11e1e05652068b27\", \"473f66121976d572d7fcd0001e5c3e9d557fe077\", \"84c0e4a288e6f879aeccbf459a46c02e63458f18\", \"cf5b77897d27e31c3afeeb3818de90292da54816\", \"110224782cc5396ee687539eb27a77798cfa242d\", \"3270d9e54f2d323b7cb24e1b38a062c165e37f60\", \"5095b8601435b1bd46976bc0941f671df4e3434f\", \"c2593f039e8a2a1ab1982ff798311c834967da7e\", \"f4f04234313a02cd5399e8f33ffa2d5a5c8b5302\", \"25d14209ecb8cc027a0d46c1a574f1e594099c0a\", \"7cfa561fa1d02a209e048443c3bb78555c8b13af\", \"8a00f4a1cde27b64f2f2ba6e5e1ce54812bf9457\", \"3aedbec73c86b2bc8510ec13e303505db9521dc3\", \"f7f69cda38e31497e7962d39fb5cc33c5dc58716\", \"f34c44392982cd16edf7ef2dd6da9932868567d3\", \"cc51c4469823eb33958481612d209636e8ac284f\", \"56f5412925ec840f9db6869cde9d031627c32528\", \"e8ff71c662ca9c128f2abb028a3dd78cc50f543a\", \"af2fa1a40d75e36c1f333698a7328a64e0a02a0f\", \"36f2d4bd54c54bc5efd4cde47a882eaf9a0390f5\", \"c3681c040734ec676e6e51db375957465a2e8e75\", \"1687f1b35cb50970481a54850bac18e66b1b9ebf\", \"c9509c79c5dcbcbb988277008c5b1b3b73e7576a\", \"e107aefe0e9dd9ea313009c9ac6faa22549a1939\", \"5aed28ab27c7b03ecd0aaeb801cc90d28a65245c\", \"cf7d276a96796c8a04c673c24227e80ad4bc8d7e\", \"d34f65bcc702391712ae08abbb3f1a1c0cf45a53\", \"e9f3718583502efa5905dc416a49200487c99d1f\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"fbb838fb-e5aa-4515-8f30-00959622ce98","title":"[Forge] Artifact enrichment quest — evaluation context, cross-links, provenance","description":"Enrich model artifacts with evaluation dataset/benchmark info. Cross-link artifacts sharing entities via artifact_links. Backfill provenance chains. See spec for phases.","status":"open","priority":82,"frequency":"every-6h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:37:08.542774+00:00","updated_at":"2026-04-27T06:37:08.542774+00:00","summary":"","completion_summary":"[Forge] Enrich artifact links: 7803 open_question→wiki derives_from; enrich ODE model eval context [task:fbb838fb-e5aa-4515-8f30-00959622ce98]","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/artifact_enrichment_quest_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"analysis\": 5}, \"completion_shas\": [\"ac2589cf6127da1bba2da4f9f4a0212e3116a356\"], \"completion_shas_checked_at\": \"2026-04-12T22:28:53.881654+00:00\", \"completion_shas_missing\": [\"b609f1b0e3d1f2e667d83aabe0efb02b1cf87ce4\", \"30f8b7fa35b9d09a70f0c19378d0dbd53f1097c6\", \"b8860b48d168bcfdd84852ac1cb860898acb99c5\", \"44816193fb75172e644390d5f1879bf63fcc69df\", \"57e189e04a7bfb14c351721961e65dd3b503f340\", \"d9b448014738858c336437805cf15b2f9ee97c21\", \"bff21933698644c2d7070a354a410521e1418b4a\", \"ba696ac54979bddde3481296cd20928a3b30963d\", \"df639313cebd864d00c481adc5cdcfb63979ab4b\", \"33e45e81fdc02eca329719e4108cae0b518552cc\", \"77e783faf64ea17f4502aed20ebb2d5214736805\", \"bea7f4061c7d1d2e9fea96fb192cb78282bfcd35\", \"0a3b7168ba9feff90a81751f6376090238a66977\", \"81b74d8e127e7347aa5445e07db3ea1425c839b1\", \"a36c2cff862ce8fd5fa6a6bbff4077f952942109\", \"08fa282a218424736b624ee1337c770715be28d4\", \"d1ececd4509f83e94596689382ad6d85bf66d0b2\", \"3e462927a41e699d62f359d352c741913f576597\", \"d1b5dadd26aedda26852374f3a52b94b27df439f\", \"199b5acb936416ef17938889c6cb00a0552507bc\", \"0cc292fbb59b8136416601dca67897ca747b329b\", \"8886d487bf3d8c7265cbb3f326b6109f7001bf58\", \"ffb70a074d414e19815056197aadca2a22592ef2\", \"36306c6225d0cdb4b10156e3663f7096ab3b7204\", \"56316fb8123ca7e97bd521e689f1cd3400e3645b\", \"f8c2bc3d5cd9b32fde4eaf05090157363cc5c813\", \"19d819263ef521b2c7e73ebb9f2bea48c9f43388\", \"c0ada9d01000d4817f6c1711aeb5ee7273e396fd\", \"78eeecff934b5a7a0e8aaf022270a7c707d4949d\", \"f606a9dd12e7a15023270b17b94f40740420a0ce\", \"34ca6ac081a2442cde45c9d6116cc700de30c4fd\", \"f5830ede2628798a289b29cd0d08e94bd8bf2fef\", \"243390f0d1cee8c57cd4b53d720f8b47e77d3ab2\", \"f60c1f24a00f95500ef0d6a0c5e0588e6a015651\", \"41f877ed28473048a715e876ebaeebf1cf9f8d7a\", \"36be074ad42444dc74ecbd1642ee309d23a4f079\", \"40cf308c7f7009130049e971910812b5afce2024\", \"703d77844c9507f29cfc3d2b289d5b8e1430d0fe\", \"d36282802c641e9987dab07eadec07e2f20eb28e\", \"fdba5c9f845a868f5d9ad8c875814742a599e705\", \"585645c515eb5323de0bc1f3aa6012b97aab6f36\", \"afcc118c21b168684eff28e5f14470eb97d6a428\", \"c495a170fc2d51ac8ae185d6d7e770d9bce0c9c8\", \"39bd06763b24975fe2f334b6e3329a399192d36c\", \"f05b2ffeb14a544c252d2a4868fdea87bf1934bd\", \"fc21260454d1665677ffc5a76bb8aa85ca1ff25b\", \"ef551ba8369d2fedf2138bd0adb128edb2436421\", \"5333d2499ff4201b22100e17087db4bb060a818e\", \"693638e85d447a55db0a083affd48c3eb19ac36a\", \"69657d98db0f0f57cbff60eec77d0b603c3714d2\", \"acc3f37934252c468299facadd08f6c294801338\", \"21e7bf6803f0cc3b2e7f6c359bb837cdc6fcc6a3\", \"ff7c61371ad8ddc8fb5a25ee254ce64d7bfad528\", \"536d9b80c52f31e4bd11b5c31855d6c3f4718db6\", \"1f399befad7728e1ed35ff181a23e93104da2a96\", \"51dfae43dd30dca525a4e3c6d5a1b269d29b275a\", \"f5e8d228c9e1adb0dd3599ddf4592fb804fbf8cf\", \"5b6d2a5dd49caced5fbfb8212a19fabe89fa737e\", \"3a06f0a779ef124631cfc9dd27c0b5f233b79118\", \"6e4966d7ffbebbb331bcf8197edf5b788700efb6\", \"4067a6ff9648ea41d55a6471dd9c48c4a19389e2\", \"e630f95d90a7de34c9829530c24f3de446aaca3d\", \"0292d6f8f504f2e7d768beaa893c2732633f22b6\", \"ae526b9b2f35b4362ec97dfe2fac62d2f84e948a\", \"c4f578725356747e78e89c0bcdb3d437c63c3766\", \"7c82dabf5397784afa9a5e2dead135fccec9ee58\", \"b222711d97fda5328d021f63ac54c51e663e8ec0\", \"505f6a98dae40156f207e64f3b0a7b662b23fcb2\", \"530229e2fee074a0ca2e16d28c40e20d3948f2d0\", \"37151adb1087758b1052b8177d3f39cf3d8e0f91\", \"a60aea48cdc2a0174154ce471bccb4de0fbcf6e6\", \"68f7d1b3d975e8f95531cf011229dec575c58bff\", \"254d16ab22aceb962d784151a1526b3c7adde686\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"3df010f4-0323-44a0-9699-6d65381c98a5","title":"[Forge] CI: Test all scientific tools for availability","description":"Run a health check on all registered Forge tools (PubMed, Semantic Scholar, Allen Brain, etc). Report failures.","status":"open","priority":78,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:52:36.238535+00:00","updated_at":"2026-04-27T06:52:36.238535+00:00","summary":"","completion_summary":"[Forge] Update tool CI work log [task:3df010f4-0323-44a0-9699-6d65381c98a5]; [Forge] Fix tool self-test bugs: GTEx dict-slicing and AlphaFold key mismatch [task:3df010f4-0323-44a0-9699-6d65381c98a5]","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/3df010f4-0323-44a0-9699-6d65381c98a5_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"78dcb1cad9bfb476336a453069f00ef745158c7e\"], \"completion_shas_checked_at\": \"2026-04-12T17:21:29.384970+00:00\", \"completion_shas_missing\": [\"b64188057ad3bc68a227895aad19f79e8474e79b\", \"2a8b39731e3806e9fd73443008c960317c4b12f8\", \"02b4a7235283dc9aef7ca793f56d9b1cb9df6f27\", \"783b30e7a3bdc00a37cec1a8bfecdaac287a910d\", \"5ca75972972d5875460041782f1fdf47e7f0060f\", \"5c87d8e8314939a122401af388a58f1b06129bbe\", \"4a51d9a11347cba1098d5fc334576bdd78f9eec6\", \"bfc940d91115e7350b19733454d0ae79159ea606\", \"2bddcf6c913dbd6fa6415fb38df153d606224b44\", \"3389022271de1ae061182c3d24fc9a042bf404c9\", \"3cd69ea3d6874d83a59c525be8e2a585d19a1deb\", \"063b823acca64f77f55f132e3cf89b16851dfb77\", \"193bc578bd64c793a1c6ab7e41e880317473168f\"], \"requirements\": {\"coding\": 5}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"31c93e95-1c5a-45d3-8874-e4cfc7ed122c","title":"[Forge] Execute: testes-gonadal RNA-seq experiment 5b0bb7af","description":"Execute in-silico experiment artifact experiment-exp-5b0bb7af. Claim ID: 6a6d77f6-b335-4add-b6e1-fcd998b70bb8. Different experiment from 2b9b4791. PAYLOAD: {\"claim_id\": \"6a6d77f6-b335-4add-b6e1-fcd998b70bb8\", \"experiment_artifact_id\": \"experiment-exp-5b0bb7af-7d45-4fe5-8a72-6d0de9aa075e\", \"claimant_actor_id\": \"agent-experiment-executor-001\"}","status":"open","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T05:40:34.759715+00:00","updated_at":"2026-04-29T05:40:34.759715+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","completion_notes":"Released by supervisor slot 12 because credential acquisition failed after pre-claim. Reason: worktree_creation_failed:branch_held_by_other:held_by=/tmp/scidex-repair-31c93e95-3","last_error":"acquire_fail:worktree_creation_failed:branch_held_by_other:held_by=/tmp/scidex-repair-31c93e95-3","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"7ffcac76-07ae-4f9b-a5ae-40a531d8da09","title":"[Forge] Dedup scan every 6h","description":"Run artifact_dedup_agent.run_full_scan() to generate new deduplication recommendations as content grows. Uses high thresholds to minimize false positives.","status":"open","priority":60,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T00:30:43.106008+00:00","updated_at":"2026-04-27T01:41:28.064063+00:00","summary":"","completion_summary":"Recurring task no-op: nothing to do this cycle","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/7ffcac76_07a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 3}, \"completion_shas\": [\"f6f2cd3b5f98bc3746ed0cf99bfd56862c7a282a\"], \"completion_shas_checked_at\": \"2026-04-12T17:19:29.992468+00:00\", \"completion_shas_missing\": [\"30683bafd3f72119104eedcd61c83303cf6172c3\", \"af558f3aa94ddc4dec8fb60c3d6ffa6fc205445e\"], \"_stall_skip_providers\": [\"glm\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"ba0513b9-f6f2-4315-a13b-11b60109f9ef","title":"[Forge] Data-driven hypotheses — ground hypotheses in computational analysis, not just literature","description":"Current hypotheses are generated from literature debates alone. SciDEX should produce hypotheses GROUNDED IN DATA ANALYSIS — statistical patterns, genomic correlations, biomarker trends, clinical trial outcomes. This is what distinguishes SciDEX from a literature review tool.\n\nArchitecture:\n1. Analysis notebooks (67+ exist but most are stubs) should run REAL computations on the seed datasets (AD genetic loci, trial failures, biomarkers) and external data (GEO, GWAS Catalog, ClinicalTrials.gov).\n2. Computational findings feed into the debate engine as EVIDENCE — not just paper citations but data-derived claims (e.g., 'TREM2 variants correlate with CSF sTREM2 levels at p<0.001 in the AD biomarker dataset').\n3. The Theorist persona should be able to call analysis tools (statistical tests, correlation analysis, enrichment analysis) DURING debates, not just literature search.\n4. Hypotheses should carry a 'data_support_score' based on how much computational evidence backs them, separate from the literature-based 'evidence_score'.\n\nInspirations: Zenodo (structured research artifacts), OpenAIRE (217M publications + 98M datasets linked), posters.science (machine-readable research metadata). SciDEX should link hypotheses to the datasets and analyses that generated them — full provenance from raw data to hypothesis.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T00:04:48.918019+00:00","updated_at":"2026-04-21T00:04:48.918019+00:00","summary":"","completion_summary":"Fix already on main — computational_analysis.py, data_support_score, evidence injection all present and verified [task:ba0513b9-f6f2-4315-a13b-11b60109f9ef]","completion_notes":"Verified fix already on main (commit 533fe243b == HEAD). forge/computational_analysis.py (954 lines with hypergeometric/Wilson CI stats), post_process.py (data_support_score calculated+stored), agent.py (computational evidence injected into Theorist prompt) all match origin/main identically. All 6 ACs confirmed by prior verification (2026-04-16). No code changes needed — task was reset after DB incident but work persists on main.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ba0513b9_f6f_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:45:16\", \"completion_shas\": [\"439af56da\", \"5cac24083\", \"f6f090387\", \"2706ed8a6\", \"280fcb326\"], \"completion_shas_checked_at\": \"2026-04-16T23:43:19.039968+00:00\", \"completion_shas_missing\": [\"dbbd0d5c5f1c9f5fc2bca2081b414d1120fe8833\", \"dfa1dd89ee0b07b3b5a9dc693f47b2b6ec4f3083\", \"9b64a72d4616317de3f4bb2ad970f4340e3ed010\", \"da4b84e68e4e615f0cfc3e8260d3de39c04b5c40\", \"15e6394744a34a5a89b6558cb91f7ff4d0f51f72\", \"d4bb108c961529777a0ecd01c15d3c9dab116328\", \"7dc1f519e4cb816a6b32b08e5a5bfc5999e91391\", \"58672c954b18b5c94e08d0fb36b7d4b1e6e08358\", \"333807f1a8e1b6d79cd6d95fcef7004742e9032e\", \"69cd90b08bb8fb1c371862724fcea34ed345dc32\"], \"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_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\", \"_watchdog_repair_task_id\": \"14126bdd-f965-4e6f-9bce-a07e89e8444a\", \"_watchdog_repair_created_at\": \"2026-04-20T23:51:53.727957+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified in worktree at commit 51859c251 (branch matches old main). All 6 acceptance criteria confirmed: (1) forge/computational_analysis.py exists with 920 lines, real statistical methods (hypergeometric test lines 360-388, Wilson CIs lines 390-402, cross-dataset correlation lines 506-615); (2) data_support_score calculated at post_process.py:1341-1358 and stored at line 1383; (3) computational evidence injected into Theorist prompt at agent.py:1206-1232; (4) citation format 'claim (computational:dataset_name)' supported and documented; (5) check_evidence_gate() at post_process.py:748-819 counts both PMIDs and computational citations; (6) run_ad_computational_analysis registered as LLM tool at agent.py:349-362.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a4c450f7-df61-405c-9e95-16d08119c5be","title":"[Forge] Biomni analysis parity — port 15 use cases as hypothesis-anchored pipelines","description":"Coordinator task: spawn 5 parallel agents, 3 analyses each, to replicate Biomni's 15 showcase use cases as SciDEX pipelines that produce hypothesis+artifact+debate+market-update. WS2 of quest_competitive_biotools.","status":"done","priority":95,"frequency":"","max_iterations":20,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T12:47:33.185734+00:00","updated_at":"2026-04-27T12:47:33.185734+00:00","summary":"","completion_summary":"Merged task branch into main","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/task-id-pending_biomni_analysis_parity_spec.md","provider":"any","payload_json":"{\"_watchdog_repair_task_id\": \"a8e6a2c2-2451-40f8-b181-e2e49f0ec325\", \"_watchdog_repair_created_at\": \"2026-04-17T09:07:07.498491+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"The work is already complete from prior iterations. All 15 use cases are verified: - 15/15 hypotheses anchored, 15/15 artifacts ≥50KB, 15/15 debates at quality 0.70, 15/15 price_history rows, 15/15 with attribution, 15/15 real datasets only - Mean debate quality 0.700 > 0.65 threshold - Parity report committed and current on main","task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"8429b1fb-bcf3-4626-b39b-c5662d6d35c1","title":"[Forge] Add Allen Brain Cell Atlas API tool with real query demo","description":"Add a working Allen Brain Cell Atlas API tool to the Forge registry. Query real gene expression data (TREM2, APOE, LRP1) from Allen Institute APIs. Store results and demonstrate tool -> hypothesis enrichment chain. This is D-PRIORITY for Quest 16 Demo Showcase.\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":"closed","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-02 23:58:08","updated_at":"2026-04-13 20:36:44","summary":"","completion_summary":"Tool growth freeze 2026-04-13: paused per user directive. Re-open only when freeze is lifted. Audit: 135 tools in scidex/forge/tools.py + 16 MCP tools in scidex_mcp_server.py — capacity sufficient, focus on quality not breadth.","completion_notes":"","last_error":"Audit reopened: NO_COMMITS — No commits found referencing task ID; branch=?","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8429b1fb_bcf_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0fa30abc-da44-4981-a200-83d91371411e","title":"[Forge] Experiment outcome capture pipeline — add execution results to experiments and propagate to hypothesis confidence","description":"724 experiments exist in `experiments` table (all status='proposed'). Multiple experiments have been physically executed by Forge agents (Cx43/GJA1-20k mito transfer at SHA 88da7f970, single-cell RNA-seq at SHA 2f0ad1257, FLS Stimulation at SHA 81dece57e). But results live only in commit messages and notebooks — the `experiments` table has no `execution_result` or `result_outcome` columns. Results never feed back to hypothesis confidence. The Forge↔Agora feedback loop is entirely open.\n\n**Why this matters**: A closed-loop science machine must propagate experimental results to update hypothesis confidence. Without this, SciDEX executes experiments that confirm or contradict hypotheses but the hypothesis scores never improve. The platform's most direct evidence (wet lab execution) is disconnected from its quality signal (hypothesis scores).\n\n**What success looks like**:\n1. Migration adds `execution_result` (jsonb), `result_summary` (text), `result_outcome` (text: confirms/contradicts/inconclusive/partial), `executed_at` (timestamptz), `artifact_ids` (jsonb) to `experiments`\n2. ≥10 executed experiments backfilled with result_summary and result_outcome from git/PR history\n3. ≥5 hypotheses have their `evidence_for` or `evidence_against` updated with experiment citations\n4. Composite score recalculation triggered for updated hypotheses\n\n**What to read first**:\n- `docs/planning/specs/quest_forge_experiment_outcome_pipeline_spec.md` — full spec (in branch 80ffb77b-cycle6-specs)\n- `git log --since='30 days ago' --format='%h %s' | grep -i 'experiment\\|exp-\\|Forge.*exec'` for executed experiments\n- `migrations/` directory for migration naming convention\n- `scidex/agora/scoring.py` or similar for score recalculation\n\n**What NOT to do**: Do not mark result_outcome='confirms' without actual evidence. Do not skip the migration — add columns before backfilling.","status":"done","priority":93,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T05:06:49.392075+00:00","updated_at":"2026-04-29T05:06:49.392075+00:00","summary":"","completion_summary":"[Forge] Rename experiment execution result migration from 107 to 150 to avoid version conflict [task:0fa30abc-da44-4981-a200-83d91371411e]; [Forge] Experiment outcome capture pipeline — add execution results to experiments and propagate to hypothesis confidence [task:0fa30abc-da44-4981-a200-83d91371411e]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"daf64586-a66f-4e8c-9b7f-a07c78eaa17b","title":"[Forge] Benchmark evaluation harness — submission pipeline, automated scoring, leaderboard","description":"Build an automated benchmark evaluation harness for SciDEX's 6 seeded neurodegeneration benchmarks. Currently 6 benchmarks exist with 1 submission and no scoring pipeline — benchmarks are decorative without evaluation. Read spec: docs/planning/specs/forge_benchmark_evaluation_harness_spec.md. Steps: (1) inspect benchmark_submissions schema; (2) build scripts/evaluate_benchmark_submission.py that loads ground truth, scores predictions against it using the benchmark's stated metric (AUROC, NDCG, Spearman, etc.), and writes score+scored_at to submission row; (3) run on the 1 existing submission; (4) create 1-2 additional submissions from top hypotheses; (5) update leaderboard_top_score in benchmarks; (6) document submission format in docs/design/benchmark_submission_format.md. Do NOT modify ground truth data. Accept any 2+ metric types.","status":"done","priority":93,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T01:54:38.927753+00:00","updated_at":"2026-04-29T01:54:38.927753+00:00","summary":"","completion_summary":"[Forge] Add benchmark evaluation harness: scoring pipeline, leaderboard API, docs [task:daf64586-a66f-4e8c-9b7f-a07c78eaa17b]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/forge_benchmark_evaluation_harness_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"c17abaf7-bf70-49c3-aa78-5b1182fe6931","title":"[Forge] Computational validation of top 25 hypotheses — enrichment + expression analyses","description":"**Problem:** The top 25 hypotheses by composite_score (≥0.88) have been debated but never computationally validated. Forge layer tools for enrichment, expression correlation, and molecular interaction sit unused for systematic validation.\n\n**Goal:** For each of the top 25 hypotheses by composite_score, run ≥2 computational analyses using Forge tools and update data_support_score.\n\n**Implementation:**\n1. Query top 25: `SELECT id, title, target_gene, target_pathway, disease, composite_score FROM hypotheses WHERE composite_score >= 0.88 ORDER BY composite_score DESC LIMIT 25`\n2. For each hypothesis, use available Forge tools:\n   - Gene/pathway enrichment (Reactome pathways, enrichr-analyze skill)\n   - Expression context (GTEx tissue expression, Allen Brain Atlas if relevant)\n   - Protein-protein interactions (String DB via string-protein-interactions skill)\n3. Compute data_support_score: 0.0-1.0 based on enrichment hits, expression matches, PPI confidence\n4. UPDATE hypotheses SET data_support_score = <computed>, gene_expression_context = <json> WHERE id = <id>\n5. Create an analysis artifact documenting which hypotheses gained/lost support\n6. Flag hypotheses where computational evidence contradicts debate-based score (highest scientific value)\n\n**Use `scidex.core.database.get_db()` for DB writes. Use `tools.py` wrappers or skill calls for scientific APIs.**\n\n**Expected outcome:** 25 hypotheses with updated data_support_score. Analysis artifact created. Contradictions between computational and debate evidence explicitly documented.","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T18:35:23.792435+00:00","updated_at":"2026-04-28T18:35:23.792435+00:00","summary":"","completion_summary":"[Forge] Computational validation of top hypotheses — enrichment + expression analyses [task:c17abaf7-bf70-49c3-aa78-5b1182fe6931]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Computational validation of top hypotheses — enrichment + expression analyses [task:c17abaf7-bf70-49c3-aa78-5b1182fe6931]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aa594e13-b26f-4566-986c-38a1d966784b","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Add PubMed abstracts to 30 papers currently missing them (abstract IS NULL or length < 10 chars). Use tools.pubmed.fetch or get_abstract tool. Write back to papers table via get_db() + commit().","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T19:21:27.129641+00:00","updated_at":"2026-04-26T19:21:27.129641+00:00","summary":"","completion_summary":"Add PubMed abstracts to 30 papers missing them — already resolved by prior enrichment: 22,689/22,704 numeric-PMID papers (99.9%) already have abstracts; remaining 15 verified by PubMed efetch to genuinely lack abstracts.","completion_notes":"The task asked to add PubMed abstracts to 30 papers missing them. Investigation revealed that all 22,689 numeric-PMID papers in the database already have abstracts (99.9% coverage). Only 15 numeric-PMID papers still lack abstracts, and PubMed efetch confirms these 15 genuinely have no abstracts available (likely editorials, letters, or very short publications). The existing scripts/scripts/enrich_papers_pubmed_backlog.py was run repeatedly during this session, confirming the same result: the remaining 15 PMIDs return empty abstracts from all sources. The task is effectively complete — the \"30 missing\" threshold was already reduced to 15 by prior enrichment runs, and those 15 are genuinely unavailable from PubMed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified via: (1) DB query showing 22,689/22,704 numeric-PMID papers have abstracts, (2) PubMed efetch API confirmed 15 remaining PMIDs return empty ArticleSet, (3) scripts/enrich_papers_pubmed_backlog.py run during session - zero new abstracts obtained from 100+ batches processed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"95469d1e-ed86-4afa-bce5-a6328f97c453","title":"[Forge] K-Dense scientific skills adoption — install + Forge registry wiring","description":"Install github.com/K-Dense-AI/claude-scientific-skills (133 skills). Register each in Forge tool registry for usage logging + pricing + crediting. WS3 of quest_competitive_biotools. Monthly refresh thereafter.","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T13:36:35.634362+00:00","updated_at":"2026-04-18T13:36:35.634362+00:00","summary":"","completion_summary":"K-Dense 134 scientific skills fully installed, registered in Forge registry, and instrumented [task:95469d1e-ed86-4afa-bce5-a6328f97c453]","completion_notes":"Verified K-Dense 134 skills are fully installed and registered: 134 forge/skills/ directories present, 134 kdense_* skills registered in skills table, 20 Atlas wiki pages created, instrumentation wired via forge_tools.py. Work done by prior commits 414fab07c and 57aebb342 on branch orchestra/task/95469d1e-k-dense-scientific-skills-adoption-insta.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/task-id-pending_kdense_skills_adoption_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"01f6a2ac-35a9-4601-93f4-0609cc0cb56e","title":"[Forge] Create per-analysis temp directories with restricted filesystem access","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":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T04:41:37.821420+00:00","updated_at":"2026-04-14T04:41:37.821420+00:00","summary":"","completion_summary":"[Forge] Add per-analysis temp directories with restricted filesystem access [task:01f6a2ac-35a9-4601-93f4-0609cc0cb56e]","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/acbc9649372d_forge_create_per_analysis_temp_director_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"safety\": 7}, \"completion_shas\": [\"16fc6fffb4e581f92817e4f84e8c3e8a3f67f66b\"], \"completion_shas_checked_at\": \"2026-04-14T04:41:37.802548+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a4f7702f-0e88-41ca-8327-88d9e564ba02","title":"[Forge] Design pluggable executor interface for future container/cloud migration","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":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T04:37:39.290953+00:00","updated_at":"2026-04-14T04:37:39.290953+00:00","summary":"","completion_summary":"[Forge] Complete executor interface integration with orchestrator [task:a4f7702f-0e88-41ca-8327-88d9e564ba02]","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/603329ebdcb3_forge_design_pluggable_executor_interfa_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 7}, \"completion_shas\": [\"ad6bce1eb9bb898edf94109a60cbea0a698a6b27\"], \"completion_shas_checked_at\": \"2026-04-14T04:37:39.273607+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"68cc41cb-8a4e-42b3-9451-e34bf17a92d8","title":"[Forge] Implement cgroup-based process isolation for analysis execution","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":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T04:25:24.648490+00:00","updated_at":"2026-04-14T04:25:24.648490+00:00","summary":"","completion_summary":"[Forge] Fix cgroup default limits: 2GB RAM, 30min timeout (per spec); add work log [task:68cc41cb-8a4e-42b3-9451-e34bf17a92d8]","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/e49c36408077_forge_implement_cgroup_based_process_is_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"7e305835123cee90e5d4e5049919d313b1eb3ea4\"], \"completion_shas_checked_at\": \"2026-04-14T04:25:24.629430+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1a556f4e-2166-436e-aefe-e70561892974","title":"[Forge] A17.2: Create Jupyter Notebook Template for Allen Data Analysis","description":"Build reusable Jupyter notebook template for analyzing Allen Institute datasets with SciDEX integration.\n\nGoal: Provide standardized framework for agents to generate analysis notebooks with proper structure, visualizations, and provenance tracking.\n\nDeliverables:\n1. Create notebooks/allen_analysis_template.ipynb with sections:\n   - Metadata (analysis_id, dataset, author, timestamp)\n   - Data loading (AllenSDK queries, caching)\n   - Exploratory analysis (cell counts, QC metrics)\n   - Differential expression (DESeq2/Scanpy statistical tests)\n   - Visualization (heatmaps, volcano plots, UMAP/tSNE)\n   - Pathway enrichment (Reactome/KEGG via gseapy)\n   - Hypothesis generation (link to SciDEX hypotheses table)\n   - Export results (KG edges, evidence for hypotheses)\n2. Include utility functions:\n   - fetch_allen_data(dataset_id, gene_list)\n   - differential_expression(counts_matrix, metadata, groups)\n   - plot_heatmap(expr_data, genes, cell_types)\n   - pathway_enrichment(gene_list, organism='human')\n   - export_to_scidex_kg(source, target, relation, evidence)\n3. Store in notebooks/ directory\n4. Add notebook metadata schema to database:\n   - notebooks table: id, analysis_id, filename, created_at, cell_count\n   - notebook_cells table: id, notebook_id, cell_type, code, output\n5. Create /api/notebooks/{analysis_id} endpoint to list notebooks\n6. Add notebook link to analysis detail pages\n\nDependencies: Install jupyter, nbformat, AllenSDK, scanpy, gseapy if not present.\n\nTest: Run template on small dataset, verify outputs, check DB insertion works.\n\nThis is Quest 17 (Rich Artifacts) priority - enables all future Allen data analyses to produce rich computational notebooks.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:09:24.765963+00:00","updated_at":"2026-04-14T03:09:24.765963+00:00","summary":"","completion_summary":"[Forge] Update spec work log for A17.2 Allen template task [task:1a556f4e-2166-436e-aefe-e70561892974]; [Forge] Allen data analysis template: notebook, API endpoint, DB table [task:1a556f4e-2166-436e-aefe-e70561892974]","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/1a556f4e_216_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"b1eb952179fc124cdeb7cea2ebc99e2562fa9d39\", \"59bed08636e6032afe5c67714a731b5cf22fe203\"], \"completion_shas_checked_at\": \"2026-04-14T03:09:24.747817+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2bad68f6-9f81-444d-ae45-245ebae764ff","title":"[Forge] Build experiment proposal generator — convert top 7 hypotheses to lab-ready protocols","description":"Build a capability that converts a SciDEX hypothesis into a structured experimental protocol, and apply it to the top 7 hypotheses (composite_score > 0.9). Each proposal should be specific enough that a trained neuroscientist could submit it as a grant aim.\n\nWHY: SciDEX's highest-scored hypotheses exist as DB rows. A research brief explains what the hypothesis is; an experiment proposal specifies HOW TO TEST IT — model system, controls, statistical approach, sample size, timeline, cost. This closes SciDEX's \"time-to-first-experiment\" gap.\n\nWHAT TO DO:\n1. Create scidex/forge/experiment_proposal.py with generate_experiment_proposal(hypothesis_id) returning: {null_hypothesis, model_system, intervention, primary_readout, secondary_readouts, expected_effect_size, statistical_approach, sample_size_rationale, timeline_weeks, estimated_cost_usd, falsification_criterion, key_controls, citations (PMIDs)}.\n2. Use llm.py for the LLM call with structured JSON output.\n3. Load hypothesis record from PostgreSQL + associated debate sessions + evidence.\n4. Verify all PMIDs in citations via paper_cache.get_paper().\n5. Apply to these hypothesis IDs (re-query at start for current top 7 by composite_score): h-var-b7e4505525, h-var-e2b5a7e7db, h-var-e95d2d1d86, h-bdbd2120, h-var-a4975bdd96, h-var-08a4d5c07a, h-alsmnd-870c6115d68c.\n6. Commit each proposal as JSON artifact to data/scidex-artifacts/experiment-proposals/ via commit_artifact().\n\nREAD FIRST: docs/planning/specs/forge_experiment_proposal_generator_spec.md (merged after 2026-04-28)\nDO NOT: Fabricate sample sizes without power calculation basis. Propose phase III trials. Duplicate work from research brief task (33dca458) — that task generates explanatory docs; this generates lab protocols.\n\nSUCCESS: scidex/forge/experiment_proposal.py created, 7 JSON proposals committed as artifacts with verified PMIDs.","status":"done","priority":92,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T20:26:05.818273+00:00","updated_at":"2026-04-28T20:26:05.818273+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"8c9ec0a5-3eab-4cf3-937c-12baebf0577f","title":"[Forge] End-to-end docking workflow - target to AlphaFold to DiffDock to ChEMBL screen to top-hit artifacts","description":"Composes alphafold-structure + fpocket + diffdock + ChEMBL into a real virtual-screen workflow with ranked-pose artifacts.","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T16:50:27.647331+00:00","updated_at":"2026-04-27T16:50:27.647331+00:00","summary":"","completion_summary":"[Forge] End-to-end docking workflow: AlphaFold → DiffDock → ChEMBL → ranked hits [task:8c9ec0a5-3eab-4cf3-937c-12baebf0577f]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-drug-docking-workflow_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"q03-f1-439A890C","title":"[Forge] Demo Allen Brain Expression tool with real data","description":"Execute Allen Brain Expression tool against real genes (TREM2, APOE, MAPT, APP). Store results. Show on /forge page as demo execution. Create tool call chain: PubMed search -> gene expression lookup -> pathway analysis. This demonstrates the Forge layer end-to-end.","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T02:47:10.443864+00:00","updated_at":"2026-04-25T02:47:10.443864+00:00","summary":"","completion_summary":"Already resolved on main: bf69f584","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: bf69f584","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ccf9a90e-ffce-4e33-b2ee-fd0327c6fcf6","title":"[Forge] Model artifacts WS2: code linkage + artifacts/models/{id}/ subtree","description":"Establish code-at-artifacts/models/{id}/ subtree pattern. Every internal model artifact points to its training code via commit SHA.","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T14:23:45.729926+00:00","updated_at":"2026-04-18T14:23:45.729926+00:00","summary":"","completion_summary":"[Forge] Model artifacts WS2: add PostgreSQL-aware CI provenance check script","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/task-id-pending_model_artifacts_ws2_code_linkage_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"65ac9e7d-eb54-4243-818c-2193162a6c45","title":"[Forge] Define reproducibility capsule manifest and verification schema","description":"Define the canonical manifest for reproducible SciDEX analyses and artifact versions, including hashes, runtime digests, and verification metadata.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:09:26.204192+00:00","updated_at":"2026-04-16T10:09:26.204192+00:00","summary":"","completion_summary":"[Verify] repro_capsule manifest schema — PASS with note [task:65ac9e7d-eb54-4243-818c-2193162a6c45]; [Forge] Fix capsule validator: move schema to forge package [task:65ac9e7d-eb54-4243-818c-2193162a6c45]","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/repro_capsule_manifest_schema_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 6, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"max_outlook\", \"_stall_requeued_at\": \"2026-04-12 10:01:40\", \"completion_shas\": [\"4a2635d985eb0e17fccbaa138b1b607d15835d6e\", \"972ba6e4199d658960ea95582c818c38a6d55e2d\", \"5738a7c9986e6f3bd6823ee9e904846a4660afdb\", \"006b4bad5bb8e6b00d01d96e72888bb87a06a9dd\", \"8738d4e291704ef2bf53f6407986ad82f7dfb802\", \"885c8ad7a80df6048b3b346e231d9ac082b93078\", \"ce2a89fe943a2f8123d8395d8439b5a5d4b674ed\", \"46f6280b39f4d546c60588c3451647062088512d\", \"173489e8699d16c503f7f9597ce83109abd1d8ac\"], \"completion_shas_checked_at\": \"2026-04-16T10:09:25.879484+00:00\", \"completion_shas_missing\": [\"006b4bad5bb8e6b00d01d96e72888bb87a06a9dd\", \"8738d4e291704ef2bf53f6407986ad82f7dfb802\", \"885c8ad7a80df6048b3b346e231d9ac082b93078\", \"ce2a89fe943a2f8123d8395d8439b5a5d4b674ed\", \"46f6280b39f4d546c60588c3451647062088512d\", \"173489e8699d16c503f7f9597ce83109abd1d8ac\", \"5e719a4afb3579246c0b3fcb7fb214732b9c5e01\", \"4a85d9935db38d3fffbdf52734d6a0e86532fbce\", \"505b04ffc11b00900820c605442452abfaa2f413\", \"4cb42bdbe116f6ce2698fee7cbf35c50a1c1c140\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] repro_capsule manifest schema — PASS with note [task:65ac9e7d-eb54-4243-818c-2193162a6c45]; [Forge] Fix capsule validator: move schema to forge package [task:65ac9e7d-eb54-4243-818c-2193162a6c45]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5cd5ad2a-3e6f-457a-a725-747c417c4466","title":"[Forge] Add tool usage analytics dashboard with charts to /forge page","description":"Add tool usage analytics to the Forge page: execution count by tool (bar chart), success rates, recent tool calls log, and tool call timeline. Uses existing tool_calls table data (1674 calls). D-PRIORITY for Quest 3.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T03:18:57.928215+00:00","updated_at":"2026-04-16T03:18:57.928215+00:00","summary":"","completion_summary":"[Forge] Update spec work log - tool usage analytics already implemented [task:5cd5ad2a-3e6f-457a-a725-747c417c4466]","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/5cd5ad2a_3e6_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"74fee0247e05159eae0c4221c6cb7a268cfedec5\"], \"completion_shas_checked_at\": \"2026-04-16T03:18:57.913565+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d62d114f-5177-42c4-9a0c-ead041c5cc63","title":"[Forge] Benchmark quality signal pipeline — link 227 scored submissions to hypotheses, surface overall leaderboard, update hypothesis benchmark ranks","description":"6 benchmarks have 227 submissions, all with primary_score populated (avg 0.6635). The benchmark evaluation harness (daf64586, merged 2026-04-28) added per-benchmark leaderboard API. What's still missing: (1) an overall cross-benchmark leaderboard, (2) hypothesis linkage from submissions via model_artifact_id, (3) benchmark rank on hypothesis records.\n\nNOTE: The per-benchmark leaderboard at GET /api/benchmarks/{benchmark_id}/leaderboard already exists. Build what's still missing.\n\nWHAT TO DO:\n1. Fix status tracking: UPDATE benchmark_submissions SET status='scored' WHERE primary_score IS NOT NULL AND status='accepted'\n2. Link submissions to hypotheses: SELECT bs.id, bs.model_artifact_id, bs.primary_score, a.hypothesis_id FROM benchmark_submissions bs LEFT JOIN artifacts a ON a.id = bs.model_artifact_id WHERE a.hypothesis_id IS NOT NULL\n3. For each hypothesis with benchmark submissions: compute best primary_score across all benchmarks and update a hypothesis field (benchmark_top_score or similar — check if column exists, add migration if needed)\n4. Add GET /api/benchmarks/leaderboard (overall, not per-benchmark) to api.py or api_routes/forge.py returning top-20 submissions across all benchmarks with benchmark_title, submitter_id, primary_score, hypothesis_id\n5. Add /forge/benchmarks HTML page rendering the overall leaderboard\n6. Test: GET /api/benchmarks/leaderboard returns 200 with valid JSON\n\nDO NOT: delete primary_score values; change benchmark task definitions; touch scidex.db; duplicate the per-benchmark endpoint that already exists.\n\nSpec: docs/planning/specs/forge_benchmark_leaderboard_quality_signal_spec.md (merged after task creation)","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T03:34:44.864865+00:00","updated_at":"2026-04-29T03:34:44.864865+00:00","summary":"","completion_summary":"All acceptance criteria verified as already satisfied on `origin/main`:","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"completion_shas\": [\"6d98f3b2f\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":"6d98f3b2f","merge_verified_at":"2026-04-29T03:34:39.243220+00:00","verification_result":"pass","verification_notes":"All acceptance criteria verified as already satisfied on `origin/main`:","task_type":"one_shot","pr_links":[],"commit_links":[{"sha":"6d98f3b2f","role":"merge_commit"}]},{"id":"1186a9ab-ebf2-4a5b-84f1-27241b6631d3","title":"[Forge] Seed neurodegeneration ML benchmark registry — 5 prediction tasks with answer keys","description":"**Problem:** SciDEX has 0 benchmarks in its artifact registry (confirmed via `SELECT COUNT(*) FROM artifacts WHERE artifact_type = 'benchmark'`). Without benchmarks, the platform cannot demonstrate predictive validity, cannot attract computational biology collaborators, and cannot self-evaluate whether its hypotheses have real predictive power.\n\n**Goal:** Create 5 neurodegeneration ML benchmarks as registered artifacts, each with a task definition, dataset pointer, baseline performance, and answer key format.\n\n**Benchmarks to create:**\n1. **AD Protein Aggregation Propensity** — predict which proteins are prone to pathological aggregation in Alzheimer's disease. Positive set: known Aβ/tau interactors; negative set: non-aggregating brain proteins. Task: binary classification.\n2. **PD Dopaminergic Neuron Expression Signature** — predict which genes are differentially expressed in dopaminergic neurons in PD vs controls. Use GTEx brain expression as baseline.\n3. **ALS Motor Neuron Survival Gene Prediction** — identify genes whose knockout protects or sensitizes motor neurons in ALS models. Task: rank genes by survival effect direction.\n4. **Neurodegeneration Drug Target Druggability** — predict druggability (structural + ligandability) for the top 100 neurodegeneration KG entities. Task: regression score 0-1.\n5. **Glymphatic Clearance Biomarker Panel** — predict which CSF/blood biomarkers best discriminate Alzheimer's progression stages. Task: feature importance ranking.\n\n**Implementation for each benchmark:**\n1. Define benchmark spec as JSON (task, metric, dataset_source, baseline_accuracy, answer_key_format)\n2. Register in artifacts table: `INSERT INTO artifacts (title, artifact_type, description, content_json, provenance) VALUES (<title>, 'benchmark', <desc>, <json_spec>, 'forge:benchmark_seed_2026-04-28')`\n3. Create a wiki page at `/forge/benchmarks/<slug>` documenting the benchmark\n4. Link the artifact to relevant hypotheses and knowledge gaps\n\n**Use `scidex.core.database.get_db()`. Target: 5 artifact rows with artifact_type='benchmark' and 5 corresponding wiki pages.**","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T18:50:09.421295+00:00","updated_at":"2026-04-28T18:50:09.421295+00:00","summary":"","completion_summary":"[Forge] Seed 5 neurodegeneration ML benchmarks as governed artifacts [task:1186a9ab-ebf2-4a5b-84f1-27241b6631d3]","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\": [\"c280a0c03\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c0b63471-d9d6-4e49-9678-f596dc728b34","title":"[Forge] End-to-end CRISPR-design pipeline - gene to guides to off-targets to construct artifact","description":"Composes biopython + Doench Rule Set 2 + BWA off-target screen + GenBank construct render into one artifact-producing pipeline.","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T16:56:08.161390+00:00","updated_at":"2026-04-27T16:56:08.161390+00:00","summary":"","completion_summary":"[Forge] CRISPR design pipeline — gene to guides to off-targets to construct artifact [task:c0b63471-d9d6-4e49-9678-f596dc728b34]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-crispr-design-pipeline_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"746fd7c1-13a0-4806-8948-2684e07932a9","title":"[Forge] Model artifacts WS3: training pipeline via GPU sandbox","description":"Agents invoke bwrap+GPU sandbox training, register resulting checkpoint as new version, chain to parent.","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T14:48:06.071476+00:00","updated_at":"2026-04-18T14:48:06.071476+00:00","summary":"","completion_summary":"[Forge] Work log: PostgreSQL fix entry to WS3 spec [task:746fd7c1-13a0-4806-8948-2684e07932a9]; [Forge] model_training.py: use get_db() for PostgreSQL compatibility [task:746fd7c1-13a0-4806-8948-2684e07932a9]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/task-id-pending_model_artifacts_ws3_training_pipeline_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0d0a4d51-48a0-4bdc-9c2b-f4d0ad386556","title":"[Forge] Cost-optimization routing — prefer cheapest qualified model with quality floor","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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T11:02:48.965389+00:00","updated_at":"2026-04-16T11:02:48.965389+00:00","summary":"","completion_summary":"[Forge] Cost-optimization routing — prefer cheapest qualified model with quality floor [task:0d0a4d51-48a0-4bdc-9c2b-f4d0ad386556]","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/frg-lr-08-COST_cost_optimization_routing_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fb4e9333-eb08-48d7-8a52-4fa572de716b","title":"[Forge] ML model vs benchmark head-to-head evaluation — score 9 models against 6 benchmarks","description":"SciDEX has 6 benchmarks, 227 benchmark submissions, and 9 ML model artifacts — but no head-to-head model comparison. Without a leaderboard, the benchmarks are a data collection exercise, not a scientific ranking mechanism. This closes the Forge↔Atlas measurement loop: artifacts evaluated on benchmarks produce a ranked leaderboard visible to Exchange.\n\nWhat to do:\n1. Audit benchmarks: query `benchmarks` for all 6 entries — name, description, metric, answer key location, task type; verify answer key is accessible\n2. Audit submissions: query `benchmark_submissions` for all 227 rows; group by benchmark_id and model_id; compute submission count, score distribution, best/worst per benchmark\n3. Link to artifacts: for the 9 ML model artifacts in the registry, check whether they have benchmark_submissions rows; if not, determine why (no evaluation workflow or format mismatch)\n4. Generate leaderboard: for each benchmark with >= 2 submissions, produce ranked leaderboard table; write to wiki page /wiki/forge-benchmark-leaderboard\n5. Gap analysis: which benchmarks have 0 model submissions? Which models never evaluated? Document root cause for each gap\n6. Spot-run one model: if benchmark format allows scripted evaluation, run one model against one benchmark end-to-end to verify pipeline works\n\nDo NOT: modify existing submissions or benchmark answers; run GPU-intensive training; create benchmarks without existing answer keys\n\nRead first: docs/planning/specs/forge_model_benchmark_evaluation_spec.md\n\nSuccess: leaderboard for each benchmark with >= 2 submissions; gap analysis with root causes; one successful end-to-end model evaluation (or documented blocker); wiki page created.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T04:45:05.380153+00:00","updated_at":"2026-04-29T04:45:05.380153+00:00","summary":"","completion_summary":"[Forge] Fix --dry-run argparse in benchmark leaderboard script [task:fb4e9333-eb08-48d7-8a52-4fa572de716b]; [Forge] Update spec work log for benchmark leaderboard evaluation [task:fb4e9333-eb08-48d7-8a52-4fa572de716b]; [Forge] Benchmark leaderboard wiki + spot-run evaluation [task:fb4e9333-eb08-48d7-8a52-4fa572de716b]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ce83d86a-aea3-4801-ac8a-fd45ee71d94e","title":"[Forge] Structural biology pipeline - sequence to ESM to AlphaFold to druggability to docking","description":"Composes esm + alphafold-structure + fpocket-Schmidtke into a target-dossier artifact with auto-handoff to docking when druggable.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:28:59.796134+00:00","updated_at":"2026-04-27T23:28:59.796134+00:00","summary":"","completion_summary":"[Verify] Structural biology pipeline — already resolved [task:ce83d86a-aea3-4801-ac8a-fd45ee71d94e]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-structural-biology-pipeline_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified: scidex/forge/structural_biology.py (900 LoC), tests/test_target_dossier.py (280 LoC), api.py routes at lines 9634+, work log confirms scidex/forge/tools.py + agent.py + migration all present. Squash merge f5380d369 confirmed all 5 module functions and all spec checklist items.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5cff56ac-0f3b-4e1a-8794-3f6226c2a91a","title":"[Forge] GitHub bidirectional sync - artifact <-> issue/PR","description":"GitHub App + webhook receiver; scidex:hypothesis/analyze command grammar; outbound lifecycle comments via deferred queue; PR-to-artifact linker.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T15:04:38.519174+00:00","updated_at":"2026-04-27T15:04:38.519174+00:00","summary":"","completion_summary":"[Forge] GitHub bidirectional sync — artifact <-> issue/PR [task:5cff56ac]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-integ-github-bidirectional-sync_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"d411b6b8f\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7a3e5888-b8fe-4dd1-82fe-dfdd1ab80c3d","title":"[Forge] Skill cost-rationality router - pick cheaper skill when quality matches","description":"Replace static SKILL_GROUPS dispatch with router using live cost + composite quality + drift filter; shadow-mode rollout.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T13:35:05.134334+00:00","updated_at":"2026-04-27T13:35:05.134334+00:00","summary":"","completion_summary":"The task is already fully resolved on `origin/main`:","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-skills-cost-rationality_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"1c68e3319\", \"696ce0f89\"], \"completion_shas_checked_at\": \"2026-04-27T13:12:09.139794+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":"696ce0f89","merge_verified_at":"2026-04-27T13:34:26.098052+00:00","verification_result":"pass","verification_notes":"The task is already fully resolved on `origin/main`:","task_type":"one_shot","pr_links":[],"commit_links":[{"sha":"696ce0f89","role":"merge_commit"}]},{"id":"64c8d088-0ea4-4acc-a26f-d27d1be4fc76","title":"[Forge] Skill usage telemetry - per-persona, per-artifact rollups","description":"First analytics layer over agent_skill_invocations: per-skill/persona/artifact rollups, materialized view, JSON+HTML endpoints.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T12:22:50.095157+00:00","updated_at":"2026-04-27T12:22:50.095157+00:00","summary":"","completion_summary":"[Forge] Skill usage telemetry — per-persona, per-artifact rollups [task:64c8d088-0ea4-4acc-a26f-d27d1be4fc76]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-skills-usage-telemetry_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ed95ce27-ae67-4da3-b94b-bdb92407cd93","title":"[Forge] Neo4j graph database service setup","description":"Install Neo4j Community Edition as systemd service (scidex-neo4j). Configure bolt:7687, HTTP:7474 (localhost). Add neo4j Python driver. Create graph_db.py with connection pooling, health check, CRUD helpers (add_node, add_edge, query_neighbors, shortest_path, subgraph). Acceptance: scidex services list shows neo4j healthy; graph_db.py passes unit tests.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T23:36:31.590168+00:00","updated_at":"2026-04-25T23:36:31.590168+00:00","summary":"","completion_summary":"Task verified complete. The Neo4j graph database service setup was implemented by a prior agent and is fully operational on main:","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/ed95ce27-ae6_forge_neo4j_graph_databas_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"efbd1967-78f7-4159-b8e9-f46f8aa75525","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:02:05.167963+00:00","updated_at":"2026-04-25T11:02:05.167963+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on origin/main: spec docs/planning/specs/4b71911f-6ac_forge_integrate_clinicaltrials_gov_api_spec.md already contains a 2026-04-18 verification block, origin/main:api.py still exposes /api/forge/clinical-trials plus the hypothesis ClinicalTrials UI/routes, and origin/main:scidex/forge/tools.py still defines instrumented search_trials().","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"52e436d1-d6b9-4bcd-9158-ad664718f427","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:14.013390+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration complete. tool_clinical_trials_search registered (815 calls made). All 199/199 hypotheses have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2b1e7ba5-653c-491c-b833-2d9a3436c54d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.996765+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov API tool exists in tools.py. All 199 hypotheses have clinical_trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"02494619-fcc9-4e11-87ae-6bd7aa78651a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.979780+00:00","summary":"","completion_summary":"Already implemented. ClinicalTrials.gov API tool exists in tools.py (search_trials function). All 199 hypotheses have clinical_trials data. Shows on hypothesis detail pages (verified: 8 references per page).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5cc4f33c-1106-4bc0-8a69-67198d173e8e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.965113+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, TOOL_NAME_MAPPING entry, forge instrumentation, API endpoints (GET/POST), enrichment endpoint with relevance scoring, and full HTML rendering on hypothesis detail pages with summary stats, trial cards, and JS-driven enrichment button.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"71a37a64-e782-4e1f-b3ae-caae2bf73b85","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.950862+00:00","summary":"","completion_summary":"Already fully implemented (duplicate task). search_trials() tool in tools.py, API endpoints for fetch/enrich, clinical trials section on hypothesis pages, /clinical-trials aggregation page. All 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"477d210a-7399-4199-ba01-feb54eca2bed","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.935855+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() in tools.py, enrichment endpoints in api.py, HTML rendering on hypothesis pages. All 199 hypotheses have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"79b85986-1015-408c-a5f5-c6d106ddb11f","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.920967+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py, API endpoints for fetch/enrich per hypothesis, clinical trials section on hypothesis detail pages with enrich button, dedicated /clinical-trials aggregation page. All 199 hypotheses already enriched with ClinicalTrials.gov data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7cc24333-d446-494b-9ab9-9ed296b5535d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.905562+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() in tools.py queries ClinicalTrials.gov v2 API, Forge endpoint at /api/forge/clinical-trials works (verified 200), hypothesis detail pages render clinical trials with status colors/phase badges/enrollment counts. API endpoints for enrichment and retrieval all functional.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"94c1c021-00a3-472e-a0cd-0799b3f9a06d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.890853+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov API integration exists in tools.py:search_trials(), API endpoints at /api/forge/clinical-trials and /api/hypothesis/{id}/clinical-trials/enrich, all 199 hypotheses have clinical trial data (3-13 trials each with relevance scores), and hypothesis detail pages display trials with rich formatting (phase badges, status colors, enrollment counts, conditions/interventions tags).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fa4fcc7a-d5c8-4eec-9a14-ed673d3abdb4","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.876236+00:00","summary":"","completion_summary":"Already implemented: ClinicalTrials.gov API fully integrated. Routes: GET /api/hypotheses/{id}/clinical-trials, POST /api/hypotheses/{id}/clinical-trials/enrich, GET /api/forge/clinical-trials. Clinical trials page at /clinical-trials returns 200. Hypothesis pages show clinical trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4ed2dc5d-15ab-4b76-b09f-e58d5036ebac","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.860128+00:00","summary":"","completion_summary":"Duplicate — see task d12e4ce8. ClinicalTrials.gov already fully integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d12e4ce8-3e4d-4b7a-8ac3-9199d380b0e0","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.841486+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, /api/hypotheses/{id}/clinical-trials endpoint, enrichment POST endpoint, Forge tool endpoint, and clinical trials section on hypothesis pages. All 199 hypotheses already have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"084b122b-2bef-4249-a1a4-ee7e1bf749ef","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.825066+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov v2 API integrated in tools.py (search_trials function), all 199 hypotheses have clinical_trials data populated, hypothesis detail pages show Clinical Trials section with NCT links. /clinical-trials page also exists in navigation.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f2470d18-e0aa-43ad-90e9-124e49cb9afe","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.807729+00:00","summary":"","completion_summary":"Already implemented: ClinicalTrials.gov integration at /api/forge/clinical-trials, /api/hypotheses/{id}/clinical-trials, enrich button on hypothesis detail page. Verified working with live queries.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cf237be0-5660-4a78-8585-d6af20cf0579","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.787165+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov v2 API tool exists in tools.py (search_clinical_trials), API endpoints exist in api.py (/api/forge/clinical-trials, /api/hypotheses/{id}/clinical-trials, enrichment endpoint). All 199 hypotheses have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4d0b8b91-06f9-44c0-a6d6-b7476c64f04e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.769647+00:00","summary":"","completion_summary":"Already implemented. tools.py has search_trials() function for ClinicalTrials.gov API. Hypothesis detail pages show 'Clinical Trials' section with trial names, phases, and relevance scores. /clinical-trials page exists in navigation. 63 references to clinical trials in api.py. Full integration operational.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"db8f9613-705c-423b-b66f-004cefd7ffb2","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.752506+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() in tools.py, ClinicalTrials.gov API v2 integration, forge tool registration, API endpoints (GET/POST /api/hypotheses/{id}/clinical-trials, /api/forge/clinical-trials), hypothesis detail page rendering with status badges/phases/enrollment, enrichment pipeline (enrich_targets_trials.py), dedicated /clinical-trials page showing 538 trials. Verified tool returns live results and all endpoints respond correctly.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e7ecf52c-5b7e-4fb9-9b99-2228cb201890","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.737304+00:00","summary":"","completion_summary":"Already implemented: ClinicalTrials.gov API integration fully exists. GET/POST endpoints at /api/hypotheses/{id}/clinical-trials, Forge tool at /api/forge/clinical-trials, enrich button on hypothesis detail page, bulk enrichment scripts, and DB migration. Verified working with live TREM2 query returning results.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"57d1f7ed-75d5-437e-b2b4-389c1b89772e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.722664+00:00","summary":"","completion_summary":"Verified already fully implemented: search_trials() in tools.py queries ClinicalTrials.gov v2 API. Three API endpoints exist (GET/POST trials, forge endpoint). Hypothesis detail pages show clinical trials section with cards (17 trials for h-856feb98). Tool registered in forge_tools.py with instrumentation. Enrichment scripts exist.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"094d528d-51c5-4293-b033-814a32fb5b6a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.707654+00:00","summary":"","completion_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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05e199c3-2418-4f86-93d4-e8afa283f21e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.687168+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e415196d-6650-4467-90dc-6ca5f6997119","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.637206+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1e0b3cff-0f01-4673-82d9-c4eda20ff8e6","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.621362+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d9dbb7ba-03fa-4f86-959d-c4cbaa738704","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.605888+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e9d3bc01-1129-403e-bebb-2be0acf47b9d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.588549+00:00","summary":"Already implemented - verified by slot 1 CI check","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2183e07b-4994-46af-addc-ca6a0868b747","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.571073+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"74975292-0830-41b7-acfe-a56236d74a03","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.555390+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, API endpoints for search/enrich, clinical_trials column populated for all 199 hypotheses, and rendering on hypothesis detail pages with status colors, phase badges, and enrollment stats. Dedicated /clinical-trials page also exists.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9b9981e7-7485-4db5-a4b1-ce160c51686c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.541721+00:00","summary":"","completion_summary":"Verified ClinicalTrials.gov integration already complete: tools.py:search_trials() queries ClinicalTrials.gov v2 API; /api/forge/clinical-trials endpoint works (9 results for TREM2); hypothesis detail pages display clinical trials with status badges, enrollment, phase info, and 'Refresh from ClinicalTrials.gov' button; /api/hypotheses/{id}/clinical-trials and /enrich endpoints functional.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f1a26a87-88dc-4bd3-b2c1-c610dd25f40d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.526477+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"720579f1-a414-4329-8da2-f5f033a8cec3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.512389+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a86ae21c-31dd-4ed8-b17b-9ba7a7d472c3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.498186+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"50cd472b-bb5c-497d-b6c3-9f335981e638","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.483824+00:00","summary":"","completion_summary":"Duplicate task — already verified complete by slot 10.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c8578b33-47e5-4d6c-a7d0-98e9b5c9603a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.469056+00:00","summary":"","completion_summary":"Already complete: search_trials() Forge tool in tools.py, enrich_clinical_trials.py batch script, 4 API endpoints, hypothesis pages display clinical trial cards, /clinical-trials aggregation page.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"08a56567-a070-4256-bfc4-748d0ef2c6c3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.455479+00:00","summary":"","completion_summary":"08a56567-a070-4256-bfc4-748d0ef2c6c3","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cc5a3c62-d7ec-4d76-9fa3-748252829c67","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.441381+00:00","summary":"","completion_summary":"Already implemented: tools.py has search_trials() querying ClinicalTrials.gov v2 API, api.py has /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials endpoints, clinical trials are displayed on hypothesis detail pages, all 199 hypotheses have clinical_trials data populated, and enrichment endpoints exist for on-demand updates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6cba2568-a570-4adc-884d-46021c2daea2","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.426461+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py (line 292), API endpoints at /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials in api.py, clinical trials section on hypothesis detail pages (line 10038), dedicated /clinical-trials listing page (returns 200). All 199 hypotheses already have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b957ff55-32c2-43a1-b44d-04eff65d227a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.412762+00:00","summary":"","completion_summary":"b957ff55-32c2-43a1-b44d-04eff65d227a","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ce09b918-7478-40ba-85fc-8560d7c83172","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.398509+00:00","summary":"","completion_summary":"Dup: ClinicalTrials.gov in tools.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"30442cfe-6a38-4efd-9bca-9e779bafeba0","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.383233+00:00","summary":"Already done: search_trials() tool, clinical_trials DB column, enrichment scripts all exist","completion_summary":"Duplicate: ClinicalTrials.gov API in tools.py, all hyps have clinical_trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"903adab8-7028-495a-8d69-892a7ba0f19a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.366186+00:00","summary":"","completion_summary":"903adab8-7028-495a-8d69-892a7ba0f19a","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0aa347c3-3f09-4066-aab3-110c8bd73921","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.351481+00:00","summary":"","completion_summary":"Duplicate: ClinicalTrials.gov API integrated in tools.py, all 199 hypotheses have clinical_trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5e7f0b67-db30-48f2-96d7-4385eb8f8ea1","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.336973+00:00","summary":"","completion_summary":"Duplicate - already completed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6b571ef5-efce-4a2f-882b-967404351f91","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.320329+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov API integrated in tools.py (search_trials), all 199 hypotheses have clinical_trials data, hypothesis detail pages show NCT IDs and trial details.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"17e9332d-69bf-42dc-8a72-34b243358a91","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.304926+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() Forge tool in tools.py, enrich_clinical_trials.py batch script, 4 API endpoints for clinical trials data, hypothesis detail pages render trial cards, aggregated /clinical-trials page exists. All 199 hypotheses have clinical trial data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6ac69dbe-0b35-4f41-8602-4290db4c3e8f","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.290058+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration fully implemented: search_trials() in tools.py, API endpoints for retrieval and enrichment, clinical trials section on hypothesis detail pages. All 199 hypotheses have clinical trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b8d26d41-b085-4866-a3eb-c18bcc5ec0a5","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.276020+00:00","summary":"","completion_summary":"Verified ClinicalTrials.gov integration already exists: tools.py has search_trials() using v2 API, api.py has /api/hypotheses/{id}/clinical-trials endpoint, enrichment endpoint /api/hypotheses/{id}/enrich-clinical-trials, and /api/forge/clinical-trials search endpoint. Clinical trials render on hypothesis detail pages with NCT IDs, status badges, phase, enrollment, and links.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c1071650-64cb-493c-a6fc-3901257db59b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.261226+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov API integrated in tools.py, shown on hypothesis 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c80c9acb-c5ea-4728-9722-0f4c00789291","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.246477+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov v2 API integrated in tools.py (search_trials function), 3 API endpoints exist (/api/hypothesis/{id}/clinical-trials, /api/hypothesis/{id}/enrich-clinical-trials, /api/forge/clinical-trials), all 199 hypotheses have clinical_trials data populated, and hypothesis detail pages display trial data with NCT IDs linking to ClinicalTrials.gov.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b6215329-990c-4a25-9ed8-532535205a16","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.232617+00:00","summary":"","completion_summary":"ClinicalTrials.gov API integration already fully implemented: search_trials() tool in tools.py (line 294), Forge endpoint at /api/forge/clinical-trials, enrichment endpoint at /api/hypotheses/{id}/clinical-trials/enrich, hypothesis detail page rendering (line 10039+), batch enrichment script (enrich_clinical_trials.py), and all 199 hypotheses already enriched with trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b602932-b1fc-4717-9ee3-f7e19f849fad","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.218075+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py, clinical_trials column in DB populated, hypothesis detail page renders trial cards with status colors/phases/enrollment, enrichment scripts exist, dedicated API endpoints at /api/hypotheses/{id}/clinical-trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ce5ba798-779e-409a-8550-4351a82d134d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.204271+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4ab55a30-9b3d-4e85-8c45-33965a871ff4","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.190197+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fe3c4c17-1be8-4aaf-be5b-3444aa7bf30f","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.176999+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov fully integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f83d9436-0995-4b69-87e8-39002ebb4223","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.161587+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented. Has: (1) /api/hypothesis/{id}/clinical-trials endpoint, (2) /api/hypothesis/{id}/enrich-clinical-trials enrichment endpoint, (3) /api/forge/clinical-trials Forge tool API, (4) clinical trials display on hypothesis detail pages with NCT IDs, status badges, phase indicators, and direct links. Uses ClinicalTrials.gov v2 API.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"19ddc151-79f8-4576-a2b8-3bc1e1ba4fb1","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.146690+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"49f3b582-0451-4fdc-a19a-2f8cac438973","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.130706+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e08d0260-576a-4cf8-ad0d-4cfb20a9906d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.116951+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"48a8fcce-39a8-4354-8012-51c75441af13","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.103022+00:00","summary":"","completion_summary":"Already complete (verified).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bf52937a-6335-4413-83a9-af8170903126","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.087989+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov fully integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"664c3a30-9b5b-4b1d-9fbf-08a488568086","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.074604+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov fully integrated, all 199 hypotheses populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"70a4a3ee-8844-4ead-b9ad-f7941fec0429","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.061483+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov fully integrated with all 199 hypotheses populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4620a308-4860-48f3-be0c-14fbc0de823e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.047711+00:00","summary":"","completion_summary":"Duplicate of 8d6195cc. Already complete: ClinicalTrials.gov integration exists, clinical_trials populated for all 199 hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8d6195cc-c232-4391-a6d1-77090565570e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.033738+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov API integration exists in tools.py, clinical_trials column populated for all 199 hypotheses, clinical_relevance_score set for all 199, displayed on hypothesis 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1f14d0c1-91e8-47bb-9925-c362c684bafd","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.019348+00:00","summary":"","completion_summary":"Duplicate — ClinicalTrials.gov integration complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a0030d62-326d-4018-be95-f49871a0a643","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:13.003152+00:00","summary":"","completion_summary":"Duplicate — ClinicalTrials.gov integration exists in tools.py, all hypotheses have trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"351c4474-de25-4021-aef1-77bb8e4cd819","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.988702+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov fully integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5827b5fc-09d1-4054-b7fe-55349691e837","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.973408+00:00","summary":"","completion_summary":"Duplicate — already verified: ClinicalTrials.gov API exists in tools.py (search_trials). All 199 hypotheses have clinical_trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e7b24c7c-e1af-4130-ac6c-ea38a59c0d8e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.958566+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete. tools.py has search_trials() using ClinicalTrials.gov v2 API. API endpoints: /api/hypotheses/{id}/clinical-trials and /api/hypotheses/{id}/clinical-trials/enrich. All 199/199 hypotheses have clinical trials data. Walkthrough pages show Clinical Trials sections.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1ce90bc0-5f4c-4128-b3dc-f0bcc5e3ab9a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.941890+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov API integration exists in tools.py (search_trials function). All 199 hypotheses have clinical_trials data with NCT IDs, phases, and status. Hypothesis detail and walkthrough pages display clinical trial info.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fd4e9a4c-9db9-4dd5-976f-168739055972","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.927459+00:00","summary":"","completion_summary":"Verified complete. Feature already implemented and tested.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9bf4ebe2-d12d-44c0-9aca-499ef869ce0a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.914228+00:00","summary":"","completion_summary":"Duplicate. Already integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e3031f8f-0118-488a-bcd3-bb2d446a207a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.901056+00:00","summary":"","completion_summary":"Duplicate task. ClinicalTrials.gov integration fully implemented: search_trials() tool, /api/hypotheses/{id}/clinical-trials endpoint, clinical trials sections on hypothesis detail pages, 773 historical tool calls.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0d86afc5-201c-4b54-8891-93dcb87ccbdd","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.886208+00:00","summary":"","completion_summary":"Already implemented. search_trials() tool in tools.py queries ClinicalTrials.gov API. /api/hypotheses/{id}/clinical-trials endpoint returns relevant trials. Hypothesis detail pages show clinical trial sections (18+ references on sample page). Tool is instrumented with 773 historical calls.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a7f31414-3cfa-4380-b929-2ff639366e9e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.873104+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() in tools.py, registered in forge_tools.py, API endpoints at /api/hypotheses/{id}/clinical-trials, hypothesis detail pages show clinical trial cards with status/phase/conditions, all 199 hypotheses enriched with trial data, dedicated /clinical-trials page exists","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aab1067e-d08f-48d1-a785-dca80164d382","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.859279+00:00","summary":"","completion_summary":"Task already complete: ClinicalTrials.gov v2 API integration fully implemented. search_trials() tool in tools.py queries ClinicalTrials.gov API. API endpoints exist: GET /api/hypotheses/{id}/clinical-trials, POST /api/hypotheses/{id}/clinical-trials/enrich, GET /api/forge/clinical-trials. All 199 hypotheses have structured clinical trials JSON data (NCT IDs, phases, status, enrollment). Hypothesis detail pages render clinical trials section with status badges, enrollment counts, and phase info.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"77c9f3e3-6c3c-430c-8fad-ae92341545eb","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.843918+00:00","summary":"","completion_summary":"Task already fully implemented. tools.py has search_trials() using ClinicalTrials.gov v2 API. Hypothesis detail pages display clinical trials with relevance scores and an 'Enrich from ClinicalTrials.gov' button. A dedicated /clinical-trials page also exists. All rendering correctly.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97c906f2-c66d-4735-b0c8-b2c3f1ad72ab","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.827978+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py, /api/hypotheses/{id}/clinical-trials GET+POST endpoints, /api/forge/clinical-trials endpoint, /clinical-trials aggregated page, and full rendering on hypothesis detail pages. All 199 hypotheses have clinical trials data (avg 15 trials each). Pages return 200.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5562b41a-fcaf-43eb-a4d5-95deb2751627","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.808429+00:00","summary":"","completion_summary":"ClinicalTrials.gov API integration already fully implemented: Forge tool exists in tools.py (search_clinical_trials function using v2 API), all 199 hypotheses have clinical_trials data populated, clinical_relevance_score computed for all, and hypothesis detail pages display trials with relevance percentages and links to ClinicalTrials.gov.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b2fe7794-7a05-4d09-b18f-65be3ee2aac5","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.787705+00:00","summary":"","completion_summary":"Integration already fully implemented: search_trials() in tools.py queries ClinicalTrials.gov v2 API; registered in forge_tools.py; API endpoints /api/hypotheses/{id}/clinical-trials (GET), /api/hypotheses/{id}/clinical-trials/enrich (POST), and /api/forge/clinical-trials; clinical trials rendered on hypothesis detail pages with status colors, phase badges, enrollment, and on-demand enrichment button; dedicated /clinical-trials aggregation page with filtering; all 199 hypotheses already enriched with trials data and relevance scores.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"84a05b71-ecc9-41a1-a538-ec5df5fca458","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.771131+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"adcf5016-8846-4f42-894f-49ed4f6b6aba","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.755118+00:00","summary":"","completion_summary":"Duplicate. ClinicalTrials.gov tool already integrated in tools.py and displayed on all hypothesis 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7175dd7d-ad70-425e-95fe-d6312e82267b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.739880+00:00","summary":"","completion_summary":"Auto-completed - data already enriched, duplicate prevention","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b98c5df-c35e-43bb-aae2-fa348d7fd0c3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.723935+00:00","summary":"","completion_summary":"Duplicate of b1c50168. ClinicalTrials.gov integration already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b1c50168-37af-4a82-9deb-19b1884cb4a6","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.708221+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete: search_trials() in tools.py, /api/forge/clinical-trials endpoint, clinical trials displayed on all 199 hypothesis pages, /clinical-trials page exists. No additional work needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b75a2ad-7bc2-45ba-b839-2c95492895e3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.694078+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"68d05809-8476-44f4-bccf-086d876f0cfc","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.676355+00:00","summary":"","completion_summary":"Already complete - ClinicalTrials.gov API integration exists (api.py lines 2410-2517), and all 199 hypotheses have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d987c989-8061-4482-89ab-e0ec0750691c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.634597+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aaf0ba50-fa2f-4b00-9479-4be412f9b072","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.619890+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"86986c57-9138-47e2-9981-b40ec8a4a8c4","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.605494+00:00","summary":"","completion_summary":"Already implemented. ClinicalTrials.gov v2 API integrated as Forge tool (/api/forge/clinical-trials). Hypothesis detail pages show clinical trials with NCT IDs, enrich button for live ClinicalTrials.gov queries, and /clinical-trials aggregation page. DB stores trials linked to hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f8281506-96da-4ac7-9025-1f9c16cfa466","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.591958+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov integration fully implemented — search_trials() in tools.py, enrichment/retrieval endpoints in api.py, HTML display on hypothesis detail pages, aggregated /clinical-trials page. All 199 hypotheses have clinical trial data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ca20369-cd92-40db-9fe8-8908b442a3bb","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.578234+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, API endpoints at /api/hypotheses/{id}/clinical-trials and /api/hypotheses/{id}/clinical-trials/enrich, dedicated /clinical-trials page, and all 199 hypotheses already enriched with trial data including relevance scores. No additional work needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b5d0356b-70de-4152-adde-2859bf27e596","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.563937+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials tool in tools.py, GET/POST API endpoints for clinical trials at /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials, clinical trials section rendered on hypothesis detail pages, and all 199 hypotheses already have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4eb5a8a6-40ca-4171-932b-046a20fb21f8","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.549315+00:00","summary":"","completion_summary":"Already complete — ClinicalTrials.gov integration exists: search_trials() in tools.py, API endpoints at /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials, clinical trials displayed on hypothesis detail pages. All 199 hypotheses have clinical trials data enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"73816afd-78af-47ee-9d46-7e12478c4e63","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.535607+00:00","summary":"","completion_summary":"Already complete. All 199 hypotheses have clinical_trials data. /clinical-trials page exists. API endpoints /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials are live. 85 clinical trials references in api.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"18ca2639-e1f0-4fed-9f06-3550108f7e43","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.521412+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b148087-e249-4776-8547-edf3c2aff380","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.507672+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: Forge tool (search_trials), API endpoints (GET/POST clinical-trials), hypothesis detail UI with enrichment button, clinical relevance scoring, batch enrichment pipelines. All verified working — 200 on all endpoints, example hypothesis has 10 trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"16b8074f-6687-4b12-96c2-55973a7629f2","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.493457+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov integration exists with /clinical-trials page (538 trials), API endpoint for hypothesis clinical trials, display on hypothesis detail pages, and tools.py integration.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4c828dc7-facb-44fc-8e0e-ce81066579e9","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.478043+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, 3 API endpoints (GET/POST enrich/Forge), HTML rendering with trial cards and relevance scores on hypothesis detail pages, database columns populated for all hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aba4735a-80a0-4de3-858f-c904d43a7d75","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.464373+00:00","summary":"","completion_summary":"Already implemented: search_trials() tool in tools.py with @log_tool_call decorator, API endpoints (GET/POST clinical-trials, forge/clinical-trials), hypothesis detail page rendering with status colors/phase badges/summary stats, and enrich button. Verified working end-to-end with live ClinicalTrials.gov v2 API.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"920e71d0-3ee2-432f-9b70-8ddbe5fa790c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.446645+00:00","summary":"","completion_summary":"Duplicate of completed task 7c6b55f4. ClinicalTrials.gov integration already fully implemented: tools.py has search_trials(), api.py has /clinical-trials page and API endpoints, hypothesis pages show trial data, all 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7c6b55f4-3660-4fd1-86e3-4f6d718b7ead","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.431517+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented. tools.py has search_trials(), api.py has /clinical-trials page, /api/hypotheses/{id}/clinical-trials and /enrich endpoints, and hypothesis detail pages show trial data. All 199 hypotheses already enriched with clinical trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d1af9a2f-80cd-4aa5-bbba-6d3350db7583","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.416215+00:00","summary":"","completion_summary":"Task already complete. ClinicalTrials.gov integration exists: clinical_trials_search tool in tools.py (line 285), API endpoints at /api/hypotheses/{id}/clinical-trials and /api/forge/clinical-trials in api.py, enrichment endpoint for on-demand fetch, and all 199 hypotheses have clinical_trials JSON data. Display on hypothesis detail pages at line 8788.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"12b438c8-61f5-41ac-b3e7-d6461a73bd4e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.400057+00:00","summary":"","completion_summary":"Already fully implemented: ClinicalTrials.gov API wrapper in tools.py, enrichment endpoints (GET/POST), hypothesis detail page display with rich trial cards, aggregated /clinical-trials page, relevance scoring, batch enrichment script. 199/199 hypotheses enriched. All endpoints return 200.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"822e4b97-7eda-4858-99dd-e7b072e88648","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.385424+00:00","summary":"","completion_summary":"Already completed — ClinicalTrials.gov integration exists: /clinical-trials listing page with 444+ trials, hypothesis detail pages show related trials with relevance scoring (e.g. 68% relevance on h-6a065252 with 11 trials), enrichment API endpoint at /api/hypotheses/{id}/clinical-trials/enrich. Multiple prior commits confirm this: b0ac4ba7, cba9cb4a, 2193d004.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"225c7707-e1fa-4b78-a8c7-6894b387bcf3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.371335+00:00","summary":"","completion_summary":"ClinicalTrials.gov API already fully integrated: search_trials() in tools.py queries v2 API, 199 hypotheses have clinical_trials JSON data, /clinical-trials page shows 206 trials (668KB page), hypothesis detail pages display trial info, Forge skill registered with 769 uses. No changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"356fbfa4-df1d-45ef-a596-ee05c5b848ae","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.355469+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration was already 90% complete. Added clinical_relevance_score computation to the enrich endpoint (weighted by phase, status, volume, enrollment). Removed duplicate /clinical-trials route. All 199 hypotheses already enriched with trial data. Hypothesis detail pages show trial cards with phase badges, status colors, enrollment stats, and relevance scores. Aggregated /clinical-trials page with search/filter works.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9bcd3e0a-d4c4-403d-bd4f-21f7ee09a89d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.340531+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() tool queries ClinicalTrials.gov v2 API, API endpoints exist (GET/POST per-hypothesis + Forge search), hypothesis detail pages render trials with rich status/phase/enrollment UI, all 199 hypotheses have clinical trials data populated, /clinical-trials page loads correctly.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aa87d5c8-c2d1-4db3-a609-cd160b42861a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.326291+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, registered in forge_tools.py, API endpoints working (/api/forge/clinical-trials and /api/hypotheses/{id}/clinical-trials), all 199 hypotheses enriched with trial data, and hypothesis detail pages render clinical trials section with status badges and trial cards.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05e00c76-8840-4504-82c8-89a5e0226391","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.310777+00:00","summary":"","completion_summary":"Already complete — ClinicalTrials.gov API integrated in tools.py, 62 references in api.py, all 199 hypotheses have clinical_trials data displayed on 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"70a5dd33-e545-42f5-b569-b27750d25cea","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.296874+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() tool in tools.py, /api/forge/clinical-trials endpoint, /api/hypotheses/{id}/clinical-trials endpoints, all 199 hypotheses enriched with trial data, hypothesis detail pages display trials with status/phase/enrollment, dedicated /clinical-trials page, tool registered in skills table (762 uses). No changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97ca9ddd-e634-47a7-95d8-7303195d2e9b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.282852+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov v2 API integration exists in tools.py (search_trials function). API endpoints /api/hypothesis/{id}/clinical-trials and /api/forge/clinical-trials are working. Clinical trials are displayed on hypothesis detail pages with status badges, phase info, enrollment counts, and NCT links. All 199 hypotheses already have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b4bda491-3e4a-4d7e-9da2-0c1a8cb22ff6","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.269443+00:00","summary":"","completion_summary":"ClinicalTrials.gov API integration already fully implemented: search_trials() in tools.py queries v2 API, /api/forge/clinical-trials endpoint, /api/hypotheses/{id}/clinical-trials and enrichment endpoints, clinical trials sections on hypothesis and target detail pages, aggregated /clinical-trials page, and registered in forge_tools.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aac2114d-4f8b-470a-9a12-7b35e905b016","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.254917+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() in tools.py queries ClinicalTrials.gov v2 API, /api/forge/clinical-trials endpoint exists, /api/hypotheses/{id}/clinical-trials/enrich endpoint populates data, hypothesis detail pages display Clinical Trials section (all 199/199 hypotheses have trials data). No code changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"13cac874-e4b9-4745-880b-90b81bd3271c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.240448+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, API endpoints (/api/hypotheses/{id}/clinical-trials, /api/hypotheses/{id}/clinical-trials/enrich, /api/forge/clinical-trials), hypothesis detail page display with trial cards (NCT ID, status, phase, conditions, interventions, enrollment), batch enrichment script. All 199 hypotheses already have clinical trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ada9f3a7-f2d5-4413-863f-e5a3ecc293cc","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.226198+00:00","summary":"","completion_summary":"Task already complete. Verified: search_trials() tool in tools.py queries ClinicalTrials.gov v2 API, /api/hypotheses/{id}/clinical-trials endpoint returns trials, hypothesis detail pages render Clinical Trials section with status badges and relevance scores. All 199/199 hypotheses enriched with trial data and scores.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3c10a9a5-b872-4be3-8486-a7e0da089b2a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.209491+00:00","summary":"","completion_summary":"ClinicalTrials.gov API already fully integrated: search_trials() Forge tool in tools.py queries v2 API; GET /api/hypotheses/{id}/clinical-trials returns trials; POST /api/hypotheses/{id}/clinical-trials/enrich triggers live enrichment; 199/149 hypotheses have clinical_trials data; hypothesis detail pages display trials with status colors, phases, sponsors. /clinical-trials listing page also exists.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9b81f55f-64bd-40a9-bd41-ca8e4de8e29c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.193206+00:00","summary":"","completion_summary":"Featured clinical trials on Forge dashboard (added to demo_tools with status/phase/NCT output rendering), removed duplicate /clinical-trials route. Tool already existed with 762+ uses; all 199 hypotheses already enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0482d305-dc8f-4828-8d77-492ce9f9eeab","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.179506+00:00","summary":"","completion_summary":"ClinicalTrials.gov API already fully integrated: search_trials tool registered (761 calls), /api/forge/clinical-trials endpoint exists, hypothesis detail pages display clinical trials with relevance scores, all 199 hypotheses enriched with clinical_trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"63e6e74e-d1bc-4f8e-acc6-8b0e74a6207a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.164044+00:00","summary":"","completion_summary":"Added get_trial_details() Forge tool for individual trial lookup (eligibility, outcomes, publications). Added batch enrichment endpoint POST /api/forge/clinical-trials/batch-enrich. Re-enriched 12 hypotheses with thin coverage (+131 new trials, all now 7+). Branch: worktree-clinicaltrials-api","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"da90d9d9-1426-4b32-97f1-97c3a35f8f7b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.150576+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py, GET/POST /api/hypotheses/{id}/clinical-trials endpoints, enrichment button on hypothesis detail page, clinical trials section with status-colored cards, phase badges, and ClinicalTrials.gov links. Verified working on h-51e7234f showing 4 trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b2ca5ef4-5931-4bb8-9763-1c7306679107","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.136320+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: (1) Forge tool clinical_trials_search registered in skills table, (2) /api/forge/clinical-trials endpoint queries ClinicalTrials.gov v2 API, (3) /api/hypotheses/{id}/clinical-trials endpoint returns trial data, (4) /api/hypotheses/{id}/enrich-clinical-trials live-fetches from ClinicalTrials.gov, (5) Hypothesis detail pages display clinical trials with enrich button. 199 hypotheses have clinical_trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c2a283ef-7cb7-4a8b-910f-4a180a69c257","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.122882+00:00","summary":"","completion_summary":"ClinicalTrials.gov API already fully integrated: search_trials() in tools.py queries v2 API, forge_tools.py registers it, api.py has /api/forge/clinical-trials, /api/hypothesis/{id}/clinical-trials, and enrichment endpoints. Hypothesis detail pages render clinical trials HTML. Verified live API call works.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b5cf27f0-3c6e-4f16-8929-0807114ae94c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.109452+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials Forge tool in tools.py queries ClinicalTrials.gov v2 API; API endpoints exist at /api/hypotheses/{id}/clinical-trials (GET/POST enrich) and /api/forge/clinical-trials; hypothesis detail page renders trials with status colors, phases, enrollment, sponsor info; all 199 hypotheses enriched with trials data and clinical_relevance_score; tool registered in skills table","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9586f958-6c7c-466e-917a-14604ad525c3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.094703+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete: 'Clinical Trials Search' tool registered in Forge, 482 clinical trials on /clinical-trials page, all 155 targets have clinical_trials JSON data, hypothesis pages link to related trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9da28104-80ce-4bf5-91bb-9dd2b3d87cb5","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.081483+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py queries ClinicalTrials.gov v2 API; API endpoints exist (GET/POST /api/hypotheses/{id}/clinical-trials, GET /api/forge/clinical-trials); hypothesis detail pages display trials with rich cards, status badges, phase, enrollment, conditions, interventions, plus summary stats bar; 'Enrich from ClinicalTrials.gov' button for on-demand fetching; dedicated /clinical-trials aggregation page; all 199 hypotheses already enriched with trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"77ea3b79-48f4-4f4d-9002-fae16afbe263","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.067971+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() in tools.py queries ClinicalTrials.gov API v2, forge_tools.py registers the tool, api.py has /api/hypotheses/{id}/clinical-trials, /api/hypotheses/{id}/clinical-trials/enrich, and /api/forge/clinical-trials endpoints. Hypothesis detail pages render clinical trials with status badges, phase info, conditions, and enrollment counts. All 199 hypotheses enriched with clinical trials data in DB.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c858b71e-d803-468d-a4b2-35bf87b78562","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.053504+00:00","summary":"","completion_summary":"Already implemented. tools.py has search_trials() using ClinicalTrials.gov v2 API. api.py has POST /api/hypotheses/{id}/clinical-trials/enrich endpoint. Hypothesis pages show clinical trials section with enrichment button. All top hypotheses already have clinical trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c31bf777-07fe-4b2a-9f09-fbe3f3a28c78","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.039697+00:00","summary":"Duplicate - already implemented","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, Forge registration, /api/hypotheses/{id}/clinical-trials endpoints, full frontend display with status/phase/conditions/interventions, batch enrichment scripts. All 199 hypotheses have clinical trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d42f4f83-c754-44cb-b044-867d2ea813d2","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.026617+00:00","summary":"","completion_summary":"--output","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ea284528-d6a5-42a0-a355-ffb5acff958b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:12.012325+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete — normalized 25 records with inconsistent keys, backfilled clinical relevance scores for 49 hypotheses that were missing them. All 199/199 hypotheses now have trials data and relevance scores.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c0ec3279-d555-41fa-91be-84bc6adf6013","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.998485+00:00","summary":"","completion_summary":"Already complete. ClinicalTrials.gov v2 API tool in tools.py (line 285+), on-demand enrichment endpoint POST /api/hypotheses/{id}/clinical-trials/enrich (line 2225+), display on hypothesis detail pages with phase/status/enrollment summary, and aggregated view at /clinical-trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b3690949-36cc-4cd0-9cb6-06b0bf014761","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.983831+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() in tools.py with ClinicalTrials.gov v2 API, /api/forge/clinical-trials endpoint, /api/hypotheses/{id}/clinical-trials and /enrich endpoints, clinical trials section on hypothesis detail pages (lines 7515-7631), /clinical-trials listing page, and registered in TOOL_NAME_MAPPING and skills table. All endpoints verified returning 200 with real data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2ada1b6f-cbe1-4ba6-9925-06827398384a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.970126+00:00","summary":"","completion_summary":"Already completed - ClinicalTrials.gov integration exists in api.py with API endpoints for search, enrichment, and display. All 199 hypotheses already have clinical_trials data. Forge tools include clinical_trials_search.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"82d2f899-0d9c-4602-87f0-1f061a89b5ed","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.956595+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py queries ClinicalTrials.gov v2 API. API endpoints exist at /api/forge/clinical-trials, /api/hypotheses/{id}/clinical-trials, and /api/hypotheses/{id}/clinical-trials/enrich. Hypothesis detail page displays trials with rich UI (status badges, phase, enrollment, conditions/interventions). All 199 hypotheses have clinical trials data. 150/199 have clinical relevance scores computed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"58da98bf-ffd8-4e12-b45d-72e5643c6b88","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.943599+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"809fdd2a-2d87-494a-9c13-2e092acd3256","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.929254+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"55473601-a2c3-484c-9e5a-fee9e0be566a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.914884+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8427905b-c1b2-41fd-908c-81b61b35eee1","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.902311+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete: 199 hypotheses and 155 targets have clinical_trials data, /clinical-trials page exists (200 OK), api.py has 84 clinical trial references, hypothesis detail pages display trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c6b57c01-9280-4f5e-9bd3-edaad957c926","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.888842+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov integration exists in tools.py with search tool, API endpoints at /api/hypothesis/{id}/clinical-trials and /api/forge/clinical-trials, and display on hypothesis detail pages. All 199 hypotheses have clinical_trials data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"42377290-8c76-454f-829b-a2739296b7ea","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.875659+00:00","summary":"","completion_summary":"ClinicalTrials.gov API integration was already fully built (search_trials tool, API endpoints, Forge registration, hypothesis detail rendering). Enriched remaining 16/199 hypotheses that were missing trials data - now 199/199 have clinical trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f1360584-af74-46b4-a08e-272ebfd859da","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.862024+00:00","summary":"","completion_summary":"Already completed. ClinicalTrials.gov fully integrated with search_trials() tool, API endpoints, hypothesis detail page section, and /clinical-trials page. All 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6017238b-9a24-49fc-81c1-17aa9af6b3da","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.847857+00:00","summary":"","completion_summary":"Already completed. ClinicalTrials.gov fully integrated: search_trials() in tools.py, API endpoints, clinical trials section on hypothesis pages, /clinical-trials page, all 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f99d2c47-0f07-4587-8639-8dd0cc7d3104","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.832874+00:00","summary":"","completion_summary":"Already completed in prior task db15f55a. ClinicalTrials.gov fully integrated: search_trials() Forge tool in tools.py, GET/POST API endpoints, clinical trials section on hypothesis detail pages, /clinical-trials page, and all 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"db15f55a-1f49-44d8-be93-55d9035275d4","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.816644+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() Forge tool in tools.py, /api/hypotheses/{id}/clinical-trials GET/POST endpoints, clinical trials section on hypothesis detail pages with enrichment button, standalone /clinical-trials page. Ran batch enrichment for remaining 34 unenriched hypotheses — 10 gained trial data. All 199 hypotheses now processed (175 with trials, 24 with no matching trials).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bf0e7402-d0cb-4205-ba5b-d7dd63d7037c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.800873+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() tool in tools.py queries ClinicalTrials.gov v2 API, API endpoints exist for GET/POST clinical trials per hypothesis, hypothesis detail pages display clinical trials section with enrichment button, dedicated /clinical-trials aggregation page exists, and 162/199 hypotheses have clinical trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"65e6c62d-a557-4899-b19d-79f66c73ccee","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.786390+00:00","summary":"","completion_summary":"Duplicate. All 150 targets have ClinicalTrials.gov data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2a1892c9-1948-46c6-bc08-8db4f4621ac2","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.772319+00:00","summary":"","completion_summary":"Already complete. All 150 targets have clinical_trials data from ClinicalTrials.gov including trial status, phase, enrollment, and interventions.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"816ac679-bd34-4e14-9596-a4919d6d8676","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.754936+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov integration fully exists. search_trials() tool in tools.py, GET/POST API endpoints at /api/hypotheses/{id}/clinical-trials, HTML rendering on hypothesis detail pages. All 157 hypotheses enriched with 4-10 trials each.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"688750b4-9797-4a2a-8e14-7fd396fd81f3","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.714340+00:00","summary":"","completion_summary":"Added ClinicalTrials.gov enrichment button on hypothesis pages and direct Forge API endpoint. Button triggers live ClinicalTrials.gov v2 API queries with loading UI, persists results to DB, and auto-reloads. New GET /api/forge/clinical-trials?q=... endpoint for ad-hoc tool access. Existing search_trials() tool and clinical trials rendering were already comprehensive.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1b6bf734-8328-4e90-b4d1-0197239d798d","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.699506+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() Forge tool in tools.py queries ClinicalTrials.gov v2 API, /api/hypotheses/{id}/clinical-trials endpoint serves data, /api/hypotheses/{id}/clinical-trials/enrich triggers on-demand enrichment, and hypothesis detail page displays clinical trials section with phase/status/NCT links. Verified all working.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"331de2fd-5db3-4927-8de0-4e8662926854","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.684407+00:00","summary":"","completion_summary":"Already fully implemented: search_trials() in tools.py, registered in forge_tools.py, API endpoints at /api/hypotheses/{id}/clinical-trials, rendering on hypothesis detail pages, 149 hypotheses enriched with avg 7.3 trials each, aggregated /clinical-trials page with filters. All acceptance criteria met.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"82597f4a-f6d2-4e4d-9726-c96da9f3e7ec","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.666978+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, API endpoints for GET/POST clinical trials, hypothesis detail page rendering with trial cards and relevance scores, backfill pipeline. Enriched last remaining hypothesis (h-seaad-7f15df4c) with 7 trials. All 157/157 hypotheses now have clinical trials data and relevance scores.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5feb39f8-411d-4ac9-83cb-af840696af49","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.649749+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented. tools.py has search_trials() at line 288 using v2 API. All 157 hypotheses have clinical_trials JSON populated. Hypothesis detail pages render clinical trial sections with NCT IDs, phase, status, and relevance. No changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"28cd8255-af5d-4fb9-a456-24ef134c406e","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.635111+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already exists: /api/hypotheses/{id}/clinical-trials endpoint, /clinical-trials page (200), enrichment endpoint, DB storage, and display on hypothesis detail pages. Verified h-019ad538 returns 15 trials.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97e90f31-d53b-439e-b0d6-cfed44ecbe00","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.620191+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e70c4957-0fb4-4109-94c7-72cbdf8f0641","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.605059+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e251b472-1d48-4be8-b761-0b8d50ffbc8a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.591147+00:00","summary":"","completion_summary":"Enhanced /clinical-trials aggregated page with phase/status filter buttons, rich trial cards (conditions, interventions, sponsor, enrollment, dates, description), and total enrollment stat. Core integration was already complete (tools.py, forge_tools.py, API endpoints, hypothesis detail rendering, 149 hypotheses enriched with avg 7.3 trials each).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9ca48de8-f9d9-4a1c-aedb-57738f355072","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.577055+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"22cf8921-7c7d-456e-89f5-18289d247ace","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.561860+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"04629039-3394-4044-8a5b-13c84d6265b6","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.546887+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already complete. tools.py has search_clinical_trials() querying v2 API. API endpoints: GET /api/hypotheses/{id}/clinical-trials, POST /api/hypotheses/{id}/clinical-trials/enrich. 149 hypotheses enriched with clinical trials JSON. Hypothesis detail pages show trials with phase badges, status colors, enrollment numbers. Dedicated /clinical-trials listing page exists. Targets have clinical_trial_phase column populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a612495d-26f6-4381-98cc-9b401c02669c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.531742+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c02ce859-0db9-4ff2-a8da-d65a2b50ed4a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.513933+00:00","summary":"","completion_summary":"Already implemented: search_trials() Forge tool in tools.py queries ClinicalTrials.gov v2 API; API endpoints GET/POST /api/hypotheses/{id}/clinical-trials exist for retrieval and on-demand enrichment; hypothesis detail pages render clinical trials with status colors, phase badges, conditions, interventions, enrollment stats, and summary bar; all 149 hypotheses already have clinical trials data populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ab814717-9394-41f1-9e44-7cc9758f3d2c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.498391+00:00","summary":"","completion_summary":"Already implemented: search_trials() in tools.py queries ClinicalTrials.gov API v2, API endpoints at /api/hypotheses/{id}/clinical-trials and /enrich exist, tool registered in skills table, all 149 hypotheses enriched with trial data, hypothesis detail pages render clinical trials section with status badges, phase info, enrollment counts","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"57a098a5-8503-4561-be03-f1064008e3fe","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.483410+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b3c4b2d7-c40f-4c3a-aa41-b9f6adff5b2c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.468813+00:00","summary":"","completion_summary":"Duplicate — already implemented: search_trials() in tools.py (line 289), /api/hypothesis/{id}/clinical-trials (line 1676), /api/hypothesis/{id}/enrich-clinical-trials (line 1710), rendering on hypothesis detail pages (line 6221).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"009d1473-597d-4633-988d-c3c9c9969748","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.454733+00:00","summary":"","completion_summary":"Duplicate task - already complete. ClinicalTrials.gov integration fully operational: search_trials in tools.py, API endpoints, all 149 hypotheses cached, displayed on 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c991bcf8-2cf0-4ed1-a4ad-8a9bd5844ba7","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.440781+00:00","summary":"","completion_summary":"Already complete: search_trials tool in tools.py, /api/hypotheses/{id}/clinical-trials endpoint, all 149 hypotheses have cached ClinicalTrials.gov data, clinical trials displayed on hypothesis detail pages with phase badges/status colors.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"35f65bce-2894-41a9-80da-94b16fd0a618","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.425535+00:00","summary":"","completion_summary":"Already implemented: search_trials() in tools.py queries ClinicalTrials.gov API (line 289). API endpoints /api/hypothesis/{id}/clinical-trials (line 1676) and /api/hypothesis/{id}/enrich-clinical-trials (line 1710). Rendered on hypothesis detail pages (line 6221). 149 hypotheses have clinical_trials field.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1858c117-2278-433a-9ecd-4d139de965ce","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.411164+00:00","summary":"","completion_summary":"Already complete: all 149 hypotheses have ClinicalTrials.gov data cached, search_trials tool exists in tools.py, API endpoints at /api/hypotheses/{id}/clinical-trials and /enrich, clinical trials displayed on hypothesis detail pages with phase badges and status colors.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9964afbc-6c27-4b00-ad97-839005340ba1","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.397043+00:00","summary":"","completion_summary":"Already complete: duplicate of 000a3cca. ClinicalTrials.gov API fully integrated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"000a3cca-1bde-4757-b20a-db5bc590bd88","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.383210+00:00","summary":"","completion_summary":"Already complete: ClinicalTrials.gov API tool exists in tools.py (search_trials), API endpoints at /api/hypotheses/{id}/clinical-trials (GET+POST), rendered on hypothesis detail pages. All 149 hypotheses enriched. 750 tool calls logged.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2d2858e9-383f-48b0-b39e-7c337358b17a","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.369676+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"61f09bfa-6f02-419a-a193-01386c3fc4ba","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.355300+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff9faf4f-1ede-4782-9ed1-5599de2dc9e8","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.341585+00:00","summary":"","completion_summary":"ClinicalTrials.gov integration already fully implemented: search_trials() tool in tools.py, GET/POST API endpoints for clinical trials, hypothesis detail page renders trials with status badges, phase info, enrollment data, and summary bar. 149 hypotheses already enriched with trial data. Verified API returns 200 with trial data.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"92fc2ab7-e998-4dad-9b46-c9d8701cfc99","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.325371+00:00","summary":"","completion_summary":"Already implemented: search_trials() Forge tool in tools.py, /api/hypotheses/{id}/clinical-trials endpoint, clinical trials section on hypothesis detail pages with NCT IDs, status badges, and live ClinicalTrials.gov fetching.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"45004ec9-8f8d-4b29-89fe-7572bb24259b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.311181+00:00","summary":"","completion_summary":"Task already fully implemented: search_trials() tool in tools.py queries ClinicalTrials.gov v2 API, API endpoints at /api/hypotheses/{id}/clinical-trials (GET + POST enrich), hypothesis detail page renders trials with status colors/phases/enrollment, all 149 hypotheses have clinical trials data, tool registered in forge skills table.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"67887b52-f9e0-4206-a49e-0a5f1d93ad0c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.296417+00:00","summary":"","completion_summary":"Already implemented. tools.py:296 queries ClinicalTrials.gov API v2. api.py:1599 serves /api/hypotheses/{id}/clinical-trials with DB cache + live fallback. api.py:5761-5781 auto-fetches trials on hypothesis detail pages. api.py:6157-6230 renders trial cards with NCT IDs, status colors, phases, conditions. Enrichment endpoint at api.py:1644.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"19cc78b6-ea0c-4821-9bd1-e57717a305d6","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.281827+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"93fa07ad-b72b-4bf2-8a25-6d806f1bfdf8","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.266537+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f174afa-1dee-434d-afe1-0d285da007bd","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.253271+00:00","summary":"","completion_summary":"Completed ClinicalTrials.gov integration: added clinical_relevance_score column (0-1 scale based on trial count, phase, recruiting status, enrollment), backfilled 9 hypotheses missing trials data, normalized 16 records from snake_case to camelCase keys, scored all 149 hypotheses, and added relevance badge to hypothesis 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97062582-7d8d-4289-857c-c03f654755e8","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.237632+00:00","summary":"","completion_summary":"Registered ClinicalTrials.gov search as Forge tool (clinical_data skill type) in forge_tools.py. Added DB caching for live-fetched trials on hypothesis pages. Added clinical relevance summary bar showing active/completed counts, total enrollment, and highest phase. Branch: worktree-clinicaltrials-forge","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f677e83-ddc1-41c1-8697-806084281c5f","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.224009+00:00","summary":"","completion_summary":"Duplicate of 6cd1b733 - already completed. ClinicalTrials.gov API endpoints added, 139/142 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6cd1b733-2f25-4230-9d45-e384cadde65f","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.209932+00:00","summary":"","completion_summary":"Added GET /api/hypotheses/{id}/clinical-trials and POST /api/hypotheses/{id}/clinical-trials/enrich endpoints. Created enrich_clinical_trials_bulk.py for generic bulk enrichment. Enriched 139/142 hypotheses with ClinicalTrials.gov data (up from 10).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f6e6732a-e67e-43e1-9525-38edd2fcf76c","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail pages.","status":"archived","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.195276+00:00","summary":"","completion_summary":"Enhanced ClinicalTrials.gov integration: expanded search_trials() with sponsor, enrollment, dates, description fields; added enrollment/date metadata to hypothesis detail page; created enrich_clinical_trials.py batch script; enriched 34 hypotheses with structured trial JSON, checked 158 total. Branch: worktree-clinicaltrials-forge.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"82ce4810-05a1-48bd-b9a9-7e3e32e514fb","title":"[Forge] GPU sandbox pilot — fine-tune scGPT inside bwrap","description":"Pilot: launch a GPU sandbox that fine-tunes scGPT on a SciDEX-relevant perturb-seq dataset, inside bwrap isolation, register the resulting model as a Forge artifact. WS4 of quest_competitive_biotools.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:59:23.091048+00:00","updated_at":"2026-04-18T16:59:23.091048+00:00","summary":"","completion_summary":"GPU sandbox infrastructure confirmed on origin/main. Smoke test passes. 1/6 acceptance criteria met (run_gpu.sh merged + smoke test). Remaining 5/6 blocked by no GPU hardware in AWS dev environment.","completion_notes":"Verification evidence: git diff origin/main HEAD -- scripts/sandbox/ returns empty (files identical). Smoke test output: PASSED. Hardware blocker: No NVIDIA driver/CUDA in this environment.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/task-id-pending_gpu_sandbox_pilot_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c98d7e1e-cf0a-4807-a7bc-291855141d3a","title":"[Forge] Add pinned runtime capture and reproducibility verification for analyses","description":"Extend SciDEX analyses to emit pinned runtime metadata and verification bundles that can be rechecked later.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:31:49.481116+00:00","updated_at":"2026-04-18T16:31:49.481116+00:00","summary":"","completion_summary":"[Verify] runtime_capture_and_verification — PASS re-verification [task:c98d7e1e-cf0a-4807-a7bc-291855141d3a]","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/runtime_capture_and_verification_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 7, \"analysis\": 6, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 03:52:29\", \"completion_shas\": [\"d55d59910\"], \"completion_shas_checked_at\": \"2026-04-18T16:31:31.051646+00:00\", \"completion_shas_missing\": [\"4eb0a29a6f5f76e9ae3f74c90367f211d4184b33\", \"c180fd7817a968f870a0c764a67bf6ff551d144b\", \"542b55a00f91a1d61cdd0bd62918f187a216ac73\", \"9cabbdb982ef2f2ce9fcd6e50d1e7962bf0ecd93\", \"dd858bc612c26d86ef2030761f3649b87038bb1e\", \"41257c88c7cd1f702954888ef91230a29ba2d07e\", \"d6d11769824ab947c815cb64aca278c4ed8a82df\", \"45326ad6e046c53ff6e364c984fdccfbc9f3a5e1\", \"2deaa66b05cca38cbd289c13140e0d69408965cc\", \"030cf30dabcb25faba36ed9b8bf784b76a5ab948\"], \"_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] runtime_capture_and_verification — PASS re-verification [task:c98d7e1e-cf0a-4807-a7bc-291855141d3a]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4b71911f-6ac0-4887-8761-9973b792274b","title":"[Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance","description":"Add a Forge tool that queries ClinicalTrials.gov for trials related to hypothesis targets. Display on hypothesis detail 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":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:44:35.057721+00:00","updated_at":"2026-04-18T15:44:35.057721+00:00","summary":"","completion_summary":"[Verify] ClinicalTrials.gov integration — already resolved on main [task:4b71911f-6ac0-4887-8761-9973b792274b]","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/4b71911f-6ac_forge_integrate_clinicaltrials_gov_api_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: ClinicalTrials.gov integration fully implemented on main. Forge tool search_trials() in scidex/forge/tools.py:1441 queries ClinicalTrials.gov v2 API. API endpoints: GET /api/forge/clinical-trials (api.py:7077), GET /api/hypotheses/{id}/clinical-trials (api.py:6704), POST enrich (api.py:6738). Hypothesis detail pages show clinical trials tab (api.py:34924). Dedicated /clinical-trials listing (api.py:36385) and /clinical-trials/{nct_id} detail pages (api.py:36646). Prior commits: 56184b29d, 2c2fb6a3c.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8fcb5cf1-5ccd-4b9d-a5c1-f7c6d0d4501b","title":"[Forge] Add experiments listing page at /experiments","description":"188 experiments exist in DB but no listing page. Create /experiments with search, filter, and links to individual experiment pages. Add to sidebar nav. Also fix duplicate Debates entry in sidebar.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:33:14.288840+00:00","updated_at":"2026-04-18T15:33:14.288840+00:00","summary":"","completion_summary":"Already resolved: experiments listing page at /experiments exists with search/filter/sort, sidebar nav updated, no duplicate debates. Confirmed via code inspection of api.py:35387 and api_shared/nav.py:88.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8fcb5cf1_5cc_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\": [\"08a7328de\"], \"completion_shas_checked_at\": \"2026-04-18T15:33:14.265825+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c9ee8c5b-ab2d-48a5-80ed-4b518821e510","title":"[Forge] Build /experiments page — browse 188 experiments with status, filtering","description":"Create /experiments page to browse the 188 experiments in the DB. Show title, status, linked hypothesis, mission. Support filtering by status. This is a gap — experiments exist but have no UI page.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:30:38.535450+00:00","updated_at":"2026-04-18T15:30:38.535450+00:00","summary":"","completion_summary":"Added status filtering and status badges to the existing /experiments page. The listing page already existed with type/disease filters but was missing the status filtering specifically requested. Added: status query param, SQL filter, status filter button row with counts, color-coded status badges on cards, updated stats row. Commit 18216f1bb pushed to orchestra/task/c9ee8c5b-build-experiments-page-browse-188-experi.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c9ee8c5b_ab2_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\": [\"18216f1bb\"], \"completion_shas_checked_at\": \"2026-04-18T15:30:38.513867+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f13a8747-0876-451c-8c75-635af18029c2","title":"[Forge] Expand tool library (ongoing)","description":"Ongoing quest: build new scientific tools per Forge project backlog. Each tool registers in skills table. Coordinate with F3.1 (tool registry) and F3.2 (instrumentation).","status":"closed","priority":90,"frequency":"every-2h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T06:09:52.535343+00:00","updated_at":"2026-04-13 20:36:44","summary":"","completion_summary":"Tool growth freeze 2026-04-13: paused per user directive. Re-open only when freeze is lifted. Audit: 135 tools in scidex/forge/tools.py + 16 MCP tools in scidex_mcp_server.py — capacity sufficient, focus on quality not breadth.","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/f13a8747-087_forge_expand_tool_library_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 7}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 03:39:18\", \"completion_shas\": [\"34f572c8160bd39ecf0406bfd8db879fbf1a64bc\"], \"completion_shas_checked_at\": \"2026-04-13T06:09:52.524883+00:00\", \"completion_shas_missing\": [\"80edf7b600eaf737b8fe3dcc50813fd9e6c4ecc0\", \"5b8855a86929c8b6c486b89a1ea7bcd0f6c60e03\", \"ae219c72650284c66a53565f222ee61a1be6668d\", \"98d6c0e4620028a2440e8f2677fd4d6531718404\", \"5990513cfd1a506e7332d23cb154af9cf10cb142\", \"541a65f0c0c5239d999906a4a6998eb33fdec956\", \"b1efe82bb5a3fedc096bc1d47a654dc0be6e0e77\", \"f08360f46915140baefb4ee93f17ff9f0a5f255f\", \"adbfd84d80e3089d7798229607fb21110e7e96a6\", \"38a3b00aecb26fd6d98af93de01545c1f1a6fd29\", \"83e07eb9209354f6a0e5ce8b8e9faff3158d09fe\", \"fa356d17015941c78bcd23f05000d79ab70346d8\", \"c3a8ca58d7b5c14b165a4e4603d1c281042b4ec3\", \"6f9ff897b7674df297d51182b738133d6ab81f0d\", \"0c5c1c770aaa00aaf0225fef13da3691a5977582\", \"b1658cefe75b1ca17754deefcd117cb08e6d86c1\", \"0c4d6769b7ecd90357214e2e340769470a0cbf5f\", \"ef5944f6d06aa4c2bf7840d8b82b6ab174d01222\", \"ea3cfe92f8a84f28d0ad76190302810ccab5dba9\", \"becc654173051127f022159459d13c4a4256cb23\", \"dad0d7c4e4cf58b994b2eda5b56c7846dad56a23\", \"5a9a2cc88feace114d2dad2cdf3be946b125d758\", \"28b2d20c57ce5eef6cff7ba54e91a2625a5e4c57\", \"b5175b9f61a04aa2b0f1ef0784ad6b1ba68850dc\", \"b563e892b976622564c8a5d6e6ca765590427c74\", \"a9c5c0cf5aff64a43e2b5c278aca1eec12c352c7\", \"412cf0ab570ada7184031c5ef7f13e9535112eb3\", \"aeba70309d55c23650dec771a3c8d4829f87107f\", \"2cfc6d2ac5c0437f73686968eae8e342304b073f\", \"94e2780003c7f5e53287df4ad490414152c8d083\", \"2119ed376a800f95a23bf8aa7eb4c1e12dafd444\", \"61144e4d2a1eec587740fbea5316c81f3a2f5bb6\", \"5c87d8e8314939a122401af388a58f1b06129bbe\", \"dce5882492b690d600ab62898475c289d7baf245\", \"61c3ac8d08f0cf2ea3e382dc7cedf0a549f6339d\", \"20571ca5bc5dc3e3692346a5dea66b0ca0aa9a65\", \"d7d5cb55ca70749888621de4661feefea2499582\", \"692906a370c431c70097698f7fe5ccfd10912aed\", \"2253cbd0621f048686223bc1727af547490d823c\", \"97b9764ff36bd5978b5f8e83e89812fe739e62e8\", \"da1e37453bcccd6e0780e9ed075956f9ab6fc156\", \"36b609c28cfb97e65005c8e44420c20e5e104a85\", \"0c9b6a64439e1114d422f0e3ca0de41dbe419193\", \"8c50ad54dc81142e161f18bec76aaf5bfb7cd0ba\", \"413362d7f7f84c6972f32939ba475687b999d4c6\", \"9bfaf036d76afb371159bbfb4ce66031d834f06e\", \"cb83aac9cac0f4d3b7c9f170e5150832269f38d7\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"9b0ed33d-6b9d-42f4-a6d9-0fbadc49dcb8","title":"[Forge] Single-cell trajectory pipeline - counts to scVI to RNA velocity to cell-fate map artifact","description":"Composes scanpy + scvi-tools + scvelo into trajectory inference with interactive cell-fate maps.","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:26:01.563087+00:00","updated_at":"2026-04-27T22:26:01.563087+00:00","summary":"","completion_summary":"Already on main via origin/orchestra/task/9b0ed33d-single-cell-trajectory-pipeline-counts-t (bfa61a3d1). All acceptance criteria met: scidex/forge/singlecell_trajectory.py (1313 lines, 6 functions), sc_trajectory_run migration, tests/test_sc_trajectory.py (28 passed), tools.py registration (singlecell_trajectory_pipeline with @log_tool_call). No further work needed.","completion_notes":"All acceptance criteria verified on current main: 1313-line module with all 6 pipeline functions, 36-line migration, 314-line test suite (28 passed), tools.py registration. Task commits (89840f0a1, 2cdf9ffcb, c3d27406d, 60ef6a071, 04c3e016a) are already on origin/main.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-singlecell-trajectory-pipeline_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already on main via origin/orchestra/task/9b0ed33d-single-cell-trajectory-pipeline-counts-t (bfa61a3d1). All acceptance criteria met: scidex/forge/singlecell_trajectory.py (1313 lines, 6 functions), sc_trajectory_run migration, tests/test_sc_trajectory.py (28 passed), tools.py registration (singlecell_trajectory_pipeline with @log_tool_call). No further work needed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b29f3115-e4a8-4b2a-a244-34e4bdbb63b1","title":"[Forge] CRISPR screen analysis pipeline - counts to MAGeCK to essentialome to druggable target candidates","description":"MAGeCK MLE/RRA on uploaded counts intersected with dgidb-drug-gene to surface druggable candidates.","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T17:24:34.353751+00:00","updated_at":"2026-04-27T17:24:34.353751+00:00","summary":"","completion_summary":"[Forge] CRISPR screen analysis pipeline — counts → MAGeCK → essentialome → druggable targets [task:b29f3115-e4a8-4b2a-a244-34e4bdbb63b1]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-crispr-screen-mageck-pipeline_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3e33a36d-5bf0-44c4-99b0-2ffe6985cde3","title":"[Forge] Skill quality leaderboard - verified-correct outputs as ranking signal","description":"skill_quality_score = citation_rate + debate-survival + 1-retraction; daily recompute, ranked color-banded leaderboard.","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T13:45:36.222285+00:00","updated_at":"2026-04-27T13:45:36.222285+00:00","summary":"","completion_summary":"skill_quality_scores table created; scidex/forge/skill_quality.py with compute/leaderboard/skill_breakdown; 3 API endpoints + HTML leaderboard page; systemd timer; 9/9 tests passing; committed 987031b72 and pushed","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-skills-quality-leaderboard_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"skill_quality_scores table created; scidex/forge/skill_quality.py with compute/leaderboard/skill_breakdown; 3 API endpoints + HTML leaderboard page; systemd timer; 9/9 tests passing; committed 987031b72 and pushed","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f4231aca-198e-445f-9169-d2856df29de6","title":"[Forge] Build real data pipeline: extract structured findings from 15 high-cited papers","description":"The Real Data Pipeline quest needs structured data extracted from published papers into SciDEX tables. Papers in the database have abstracts but lack structured findings/claims extraction.\n\n## Steps\n1. Query: `SELECT id, title, pmid, abstract FROM papers WHERE abstract IS NOT NULL AND abstract != '' AND (claims_json IS NULL OR claims_json = '{}') ORDER BY citation_count DESC LIMIT 15`\n2. For each paper: use LLM to extract structured claims (gene, mechanism, outcome, evidence_type, confidence) from the abstract\n3. Store extracted claims in paper_claims or equivalent table, linking to the paper\n4. Register as knowledge edges in knowledge_edges (source=paper, target=gene entity, relation=supports_mechanism)\n\n## Acceptance Criteria\n- [ ] 15 high-cited papers have structured claims extracted\n- [ ] Claims stored in paper_claims or equivalent table\n- [ ] Knowledge edges created for each gene-mechanism claim\n- [ ] Changes committed and pushed","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:47:21.947416+00:00","updated_at":"2026-04-26T06:47:21.947416+00:00","summary":"","completion_summary":"[Forge] Work log: 15 papers processed, 107 claims, 37 KG edges [task:f4231aca-198e-445f-9169-d2856df29de6]; [Forge] Add KG edge creation to paper claim extraction pipeline [task:f4231aca-198e-445f-9169-d2856df29de6]","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/quest_engine_paper_claim_extraction_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c7fed091-468f-455a-a22e-a58a61597126","title":"[Forge] CI: Test all scientific tools for availability","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\nRun health checks on all Forge tools. Report and fix any that are down or returning errors.","status":"archived","priority":89,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-12T18:11:02.039065+00:00","updated_at":"2026-04-16T19:47:42.541162+00:00","summary":"","completion_summary":null,"completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3df010f4_forge_ci_test_tools_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"analysis\": 5, \"safety\": 9}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-11 03:58:51\", \"completion_shas\": [\"d41badb3e3078d88949a6d8c468f3b424a677a63\"], \"completion_shas_checked_at\": \"2026-04-12T18:11:02.026097+00:00\", \"completion_shas_missing\": [\"5091f761bb567e16494a57e04b78c5a32590ce33\", \"70aa505c69600b867eb92e7055684d4262c6b63b\", \"747a209a0478f4f6ad2ef77484e679bc86fd4b5d\", \"5e8ed25357b1b975f59f8aaab9140526b593b3d4\", \"baa1b640d318a7e556cde48c580f1a6f435d1db9\", \"e1593c7de43a20085f955225a8dd677cc71fd9ea\", \"c5d6f7c3f1fa4f8cfd396f5ead5a98c93fad6e34\", \"41504b801996594f1f75af85cc613441fe74d245\", \"2d57a39a776578eeffa8bb4fd3b311c16967478b\", \"6487cb569ef9ecd7162116a5f1785b11e290a0ac\", \"686d3596500e9440cd34adfc6d32f324c877b5be\", \"04dadb1e00c9c542047e2e5bb45c03c734bb2415\", \"5dd9098606b0b0affe7259e54bc6fd27d8a5621f\", \"4a2b12f8c9316b37f80237d3a0b41e70de63b9a3\", \"c705a24841746ead7ef535ca60c97282ac5392d1\", \"fa9be8539d431323f2bdb8e29c3137115dd47354\", \"80c90be1158239f03112bb43255299b063b621ba\", \"b3bea2e37cf2c3911f1bc8ba33d179441d577eae\", \"110499c9a844a0d503b576fd5fa2c404d335678c\", \"17ccfe659398c3c8efce2b5bc4da2b5fb85441d2\", \"482e280361b7550ec4bc631f27b4e34093c352dd\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"3301b722-a746-4297-aa16-6e6214f09fcc","title":"[Forge] Reproducible Jupyter notebook: Ferroptosis in ALS motor neuron vulnerability","description":"Create a fully-executed, reproducible Jupyter notebook for the completed analysis \"Ferroptosis in ALS motor neuron vulnerability\" which currently lacks a notebook_path.\n\nSteps:\n1. Find the analysis record: `SELECT id, title, question, domain, report_url FROM analyses WHERE title ILIKE '%ferroptosis%' AND title ILIKE '%ALS%'`\n2. Read the analysis report for key findings and questions\n3. Build a Jupyter notebook that:\n   - Searches PubMed for ferroptosis + ALS papers (use paper_cache)\n   - Analyzes gene expression data for GPX4, SLC7A11, ACSL4 in ALS contexts\n   - Runs statistical analysis on published biomarker data\n   - Generates at least 2 figures (e.g., pathway diagram, gene co-expression heatmap)\n   - Has markdown cells explaining each section\n4. Execute the notebook: `jupyter nbconvert --to notebook --execute`\n5. Save to data/scidex-artifacts/ via commit_artifact()\n6. Update analyses.notebook_path with the artifact path\n\nAcceptance criteria:\n- Notebook executes without errors in a fresh Python kernel\n- >= 2 figures generated from real data (not mock/placeholder)\n- Notebook references >= 5 specific papers with DOI/PMID\n- analyses.notebook_path updated for this analysis record\n- Notebook size >= 50KB (indicates substantive content)","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T04:37:05.424034+00:00","updated_at":"2026-05-16T04:12:40.706507+00:00","summary":"","completion_summary":"Created and executed 479KB Jupyter notebook for Ferroptosis in ALS motor neuron vulnerability analysis. Notebook: 22 cells, 4 figures from real published data (pathway diagram, gene expression heatmap, biomarker box plots, correlation/effect size chart). 10 papers with DOI/PMID. analyses.notebook_path updated. notebooks and artifacts table records created. Commit 8e778e0d9 pushed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"completion_shas\": [\"8e778e0d9\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Legacy done-evidence audit pass 2 backfill: preserved historical done state with administrative/no-merge evidence from completion summary. Original summary: Created and executed 479KB Jupyter notebook for Ferroptosis in ALS motor neuron vulnerability analysis. Notebook: 22 cells, 4 figures from real published data (pathway diagram, gene expression heatmap, biomarker box plots, correlation/effect size chart). 10 papers with DOI/PMID. analyses.notebook_path updated. notebooks and artifacts table records created. Commit 8e778e0d9 pushed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9b5fa00b-7bb5-41bb-b392-2ecb370f3aef","title":"[Forge] End-to-end MD-simulation analysis - input to OpenMM run to motion modes to artifact","description":"Composes molecular-dynamics skill into a production MD pipeline with RMSF/PCA/HBond analysis and Skeptic-prompt injection.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:18:27.062474+00:00","updated_at":"2026-04-27T22:18:27.062474+00:00","summary":"","completion_summary":"[Forge] Fix DCDReporter import and psycopg2 placeholder syntax in md_pipeline; [Atlas] Work log: MD pipeline implementation [task:9b5fa00b-7bb5-41bb-b392-2ecb370f3aef]; [Forge] End-to-end MD-simulation analysis pipeline [task:9b5fa00b-7bb5-41bb-b392-2ecb370f3aef]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-md-simulation-analysis_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"06384668-b965-4d96-8cbf-e89765f2e5c5","title":"[Forge] Vertical-specific evidence providers (cBioPortal, ClinVar-cardio, GISAID, MetaboLights, IEDB)","description":"Five new tools.py wrappers - one canonical evidence provider per non-ND vertical.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T17:38:37.276945+00:00","updated_at":"2026-04-27T17:38:37.276945+00:00","summary":"","completion_summary":"[Forge] Add vertical evidence provider cache entries [task:06384668-b965-4d96-8cbf-e89765f2e5c5]; [Forge] Vertical-specific evidence providers: cBioPortal, ClinVar-cardio, GISAID, MetaboLights, IEDB [task:06384668-b965-4d96-8cbf-e89765f2e5c5]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-vert-vertical-evidence-providers_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"868be3d3-a72d-431c-ae26-deac00154289","title":"[Forge] CLI scaffolder for new artifact_kind (schema+api+tests)","description":"scidex new-artifact-kind <name> scaffolds schema, writer, route, template, and tests in one shot; --check lints.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T14:08:44.343495+00:00","updated_at":"2026-04-27T14:08:44.343495+00:00","summary":"","completion_summary":"[Forge] CLI scaffolder for new artifact_kind (schema+api+tests) [task:868be3d3-a72d-431c-ae26-deac00154289]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-devx-artifact-kind-scaffolder_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5d6c710c-9e4c-472c-b051-c8ffd2a62e85","title":"[Forge] Skill versioning + drift detector - quality-stability per bundle SHA","description":"Pin invocations to bundle_sha; raise drift events (KS + z-test) when new SHA's success/citation/latency diverge from prior.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T13:43:24.504725+00:00","updated_at":"2026-04-27T13:43:24.504725+00:00","summary":"","completion_summary":"[Forge] Tick all acceptance criteria in q-skills-versioning-drift_spec.md; [Forge] Work log update for skill versioning + drift detector; [Forge] Skill versioning + drift detector — quality-stability per bundle SHA","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-skills-versioning-drift_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1a644a6b-60c1-46da-bb79-6c7935915409","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Add PubMed abstracts to 30 papers that lack abstracts. Query PubMed by PMID or title to retrieve abstract text. Write to papers.abstract. Only populate papers with verifiable PMID or DOI that return abstract data from PubMed. Skip papers where abstract cannot be retrieved.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:43:17.878469+00:00","updated_at":"2026-04-26T23:43:17.878469+00:00","summary":"","completion_summary":"[Forge] Fix idle_in_transaction_session_timeout in abstract backfill script [task:1a644a6b-60c1-46da-bb79-6c7935915409]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5dee99f5-2158-4bc1-8d2b-cebdf2fcd2c9","title":"[Forge] Build a Python analysis notebook for GWAS loci in AD risk genes","description":"Create a new Jupyter notebook analyzing the top AD GWAS loci from the ad_genetic_risk_loci dataset. The notebook should: load the dataset, run enrichment analysis using Enrichr for the top risk genes, query GTEx for tissue expression, visualize effect sizes by chromosome, and generate 2-3 hypotheses about the most druggable loci. Save as site/notebooks/gwas-ad-risk-loci-analysis.ipynb, execute with nbconvert (zero error cells), register in notebooks table. Accept: notebook executes cleanly, >=2 hypotheses recorded.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:55:54.863498+00:00","updated_at":"2026-04-26T20:55:54.863498+00:00","summary":"","completion_summary":"[Forge] Add AD GWAS risk loci analysis notebook [task:5dee99f5-2158-4bc1-8d2b-cebdf2fcd2c9]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cd27237d-5346-41bc-b176-2ff3289e0311","title":"[Forge] Implement tool invocation during analyses","description":"15 skills are registered but tool_invocations table has 0 entries. Modify agent.py or scidex_orchestrator.py to actually call Forge tools (PubMed, Semantic Scholar, etc.) during debates. Log all invocations to tool_invocations table with: skill_id, analysis_id, input_params, output_summary, tokens_used, success.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T08:34:32.975932+00:00","updated_at":"2026-04-26T08:34:32.975932+00:00","summary":"","completion_summary":"[Forge] Work log: tool_invocations live, tests passing [task:cd27237d-5346-41bc-b176-2ff3289e0311]","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/cd27237d_534_spec.md","provider":"claude","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c5bbaa6b-75a8-40a6-a9d3-3efa6ebb396c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:53:45.620095+00:00","updated_at":"2026-04-26T06:53:45.620095+00:00","summary":"","completion_summary":"[Verify] PubMed update pipeline — already resolved [task:c5bbaa6b-75a8-40a6-a9d3-3efa6ebb396c]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Ran run_pipeline(limit=3, dry_run=False): 3 hypotheses processed, 9 queries run, 2 new papers added to TREM2 hypothesis evidence_for. pubmed_update_log table updated. Pipeline import and execution confirmed working against live PostgreSQL scidex DB.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"frg-mb-01-ANLX","title":"[Forge] Extend analysis framework to include model-building steps","description":"Add model_building as a new analysis step type alongside existing steps (data_retrieval, statistical_test, etc.). An analysis can now produce a model artifact as output. Define AnalysisModelSpec: model_family (biophysical|deep_learning|statistical), input_datasets, output_artifact_id, hyperparameters, evaluation_metrics. Integrate with artifact versioning so each model-building run creates a versioned model artifact. Depends on: a17-23-MODL0001 (Artifacts quest).","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:21:59.307485+00:00","updated_at":"2026-04-26T06:21:59.307485+00:00","summary":"","completion_summary":"[Forge] Add model_building step type and AnalysisModelSpec","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/frg-mb-01-ANLX_model_building_analysis_steps_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60dea99a-ae47-41b5-b87a-3557e226d390","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.181446+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6bfda974-1c48-418a-900e-84a043734246","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.167025+00:00","summary":"","completion_summary":"Already done - pubmed_update_pipeline.py with 177 log entries.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d3f56ce1-3e00-472f-a3c3-5a0004334571","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.153377+00:00","summary":"","completion_summary":"Pipeline already exists and running as daemon (PID 1823841, interval 6h, limit 30). All 199 hypotheses updated within 24h. 4674 hypothesis-paper links. Pipeline handles incremental search, deduplication, rate limiting, and DB lock retries.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bb52475b-44bb-46e6-8cb9-043465ac2ea7","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.139367+00:00","summary":"","completion_summary":"PubMed pipeline already exists: pubmed_evidence_pipeline.py and pubmed_update_pipeline.py. All 199/199 hypotheses have evidence_for populated. Last evidence update: 2026-04-03 02:02:04 (today). Pipeline is active and current.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a079d31b-d0d2-4866-9380-8fde9b3477f3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.125360+00:00","summary":"","completion_summary":"Already fully implemented (duplicate task). pubmed_update_pipeline.py (494 lines), 177 update log entries, API endpoints for status and triggering. All 199 hypotheses enriched.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"62be1eca-d10e-41cb-a545-6fce4fb2a34b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.109561+00:00","summary":"","completion_summary":"Pipeline already exists: pubmed_update_pipeline.py with PubMed search, date filtering, evidence classification. All 199 hypotheses have last_evidence_update set.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"03d76634-3c13-43b1-951d-5550168b6af3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.093182+00:00","summary":"","completion_summary":"Already fully implemented: pubmed_update_pipeline.py (494 lines) with PubMed eutils API integration, incremental search with date filtering, evidence_for/evidence_against updates. 177 update log entries, all 199 hypotheses enriched. API endpoints: GET /api/pubmed-pipeline-status, POST /api/pubmed-pipeline/trigger. Supporting scripts: pubmed_enrichment.py, pubmed_evidence_pipeline.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b9399f51-6d5a-4c8a-93bc-3e274a42137d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.077393+00:00","summary":"","completion_summary":"Fixed PubMed update pipeline: added --daemon/--interval CLI flags for systemd service, added busy_timeout=30s and commit retry logic to fix database locking errors (11/30 errors per run), verified pipeline is active with 177 hypotheses tracked and 526 papers indexed","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b0471c12-c94e-4931-9101-3b659af980d7","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.062227+00:00","summary":"","completion_summary":"Already complete: pubmed_evidence_pipeline.py and pubmed_update_pipeline.py both exist and work. Cron job scheduled daily at 3:30 AM UTC. API endpoints exist (GET /api/pubmed-pipeline-status, POST /api/pubmed-pipeline/trigger). UI page at /forge/pubmed-pipeline. 177 hypotheses tracked in pubmed_update_log, all 199 hypotheses have recent last_evidence_update. Dry-run test confirmed pipeline connects to PubMed API successfully.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6121da97-7191-4bdc-b882-00ab86e7d0b8","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.047917+00:00","summary":"","completion_summary":"Pipeline already fully implemented: pubmed_update_pipeline.py and pubmed_evidence_pipeline.py with smart query building, evidence classification, duplicate prevention, rate limiting. Systemd timer configured (scidex-pubmed-pipeline.timer, every 6h) but currently inactive. API endpoint POST /api/forge/pubmed-update and CLI scidex evidence update also available. Database tables (papers, hypothesis_papers, pubmed_update_log) all in place. Timer needs enabling by operator: sudo systemctl enable --now scidex-pubmed-pipeline.timer","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a252962e-3eb6-4776-873b-cf43debdf9ae","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.033771+00:00","summary":"","completion_summary":"Enhanced PubMed update pipeline with --top flag for prioritizing top-scoring hypotheses and --classify flag for abstract-based evidence direction classification. Added supporting/contradicting signal detection from abstracts. Updated /api/pubmed-pipeline/trigger endpoint with top_only and classify params. Pipeline tested with dry run on top 3 hypotheses successfully. Existing features preserved: incremental date-filtered search, deduplication, pubmed_update_log tracking, JSONL run summaries.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"417d5674-bfbb-4267-946a-b69ff77499b3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.018560+00:00","summary":"","completion_summary":"Pipeline already exists at pubmed_update_pipeline.py. Fully functional: searches PubMed for new papers related to hypotheses, updates evidence_for/evidence_against, stores papers, logs results. Already scheduled via cron: daily at 3:30 AM UTC processing 149 hypotheses per run. Last run at 2026-04-03 02:02:04 with successful updates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"362b04e2-79e1-462d-8d0e-783543af3dad","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:11.003357+00:00","summary":"","completion_summary":"Already implemented: pubmed_enrichment.py, populate_papers.py, backfill_papers.py exist. 4674 hypothesis-paper links. Recurring CI task handles evidence backfill.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7690f24c-db69-4a61-9172-18c7e78dcd8e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.988668+00:00","summary":"","completion_summary":"Already implemented: PubMed enrichment pipeline exists (pubmed_enrichment.py, populate_papers.py). hypothesis_papers has 4674 links. Papers table with FTS. CI recurring tasks handle evidence backfill.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"92e799f1-dc6d-42cd-84ee-3c90ee5923d3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.974267+00:00","summary":"","completion_summary":"Already implemented: PubMed enrichment pipeline exists (pubmed_enrichment.py, populate_papers.py, backfill_papers.py). hypothesis_papers table has 4674 links. Papers table with FTS search. CI recurring tasks handle evidence backfill (task 33803258 runs every-6h for evidence_for/evidence_against).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"83d4e9f1-d4a2-4d73-b031-36664ad1852b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.959367+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented: pubmed_update_pipeline.py searches PubMed for papers matching hypothesis targets, classifies evidence direction, records in hypothesis_papers. 11.6K papers, 4.7K hypothesis-paper links, 904 updates. Dashboard at /forge/pubmed-pipeline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c4ae83f1-2a53-49c4-aee0-672b34a43eda","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.943683+00:00","summary":"","completion_summary":"Already fully implemented. PubMed update pipeline running as systemd service (scidex-pubmed-update.service, every 6h). enrich_hyp_papers.py searches PubMed for papers related to hypotheses. 177 hypotheses tracked in pubmed_update_log. Last run: 2026-04-03 02:02 UTC, finding and adding papers across multiple hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"80954c72-8dc9-46f3-85a6-f1b85d051ade","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.928807+00:00","summary":"","completion_summary":"PubMed pipeline already integrated. pubmed_search/pubmed_abstract in tools.py. 4674 hypothesis_papers linked. research_topic() fetches literature in orchestrator debates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"85d47c61-6936-4df0-9029-19e9ef8e9377","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.913654+00:00","summary":"","completion_summary":"PubMed evidence pipeline already exists at pubmed_evidence_pipeline.py. Verified it works: ran against top 10 hypotheses, pipeline correctly identified no new papers (all were updated within last day). Pipeline features: query generation from hypothesis title/gene/description, PubMed search with rate limiting, evidence direction classification, duplicate avoidance, DB transaction safety. CLI: python3 pubmed_evidence_pipeline.py --top N --max-age-days N","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9d437fd5-03c9-4cdb-9643-8bff90bacbcc","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.898867+00:00","summary":"","completion_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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"836e4d3d-4589-4a25-becf-244fb599d9f3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.884011+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff665e81-08ca-41a4-9ebc-caa31aa6e15a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.869651+00:00","summary":"","completion_summary":"ff665e81-08ca-41a4-9ebc-caa31aa6e15a","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"39be9b47-acc0-4373-9493-56f39ce659d1","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.856413+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dbd41c29-4de8-4e14-a44d-5ec5767e2066","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.841531+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b94a7e6-6e8b-4c44-ab00-bb4453bc2860","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.823271+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d55eb6e1-baa0-41de-8fec-e5c4e78ca67c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.783738+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"006df37e-7fe7-45af-a5b8-76d50b13a165","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.769684+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"56bd4740-5cc8-4d8a-b991-833afa7674f1","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.756079+00:00","summary":"","completion_summary":"Dup.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cfa0c333-8f0c-4333-a0a7-5ce37c428b4b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.741817+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"59e4676c-0d66-4334-9158-87f665798058","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.727468+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f0606458-cc87-435d-80b4-496205de8604","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.711981+00:00","summary":"","completion_summary":"Dup: 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ebf543b-c217-4957-b095-f593a01c18e2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.698126+00:00","summary":"","completion_summary":"Duplicate task — already verified complete by slot 10.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3dc3e71f-9ee4-461b-8803-656ecbbd4712","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.683538+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented: pubmed_update_pipeline.py (18KB), API endpoints for trigger and status at /api/pubmed-pipeline/trigger and /api/pubmed-pipeline-status, UI dashboard at /forge/pubmed-pipeline (returns 200), and incremental update endpoint at /api/forge/pubmed-update. 4674 papers already linked in hypothesis_papers table.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"72e3e09e-e4ee-4d7e-956e-104fb3dda97d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.669820+00:00","summary":"","completion_summary":"72e3e09e-e4ee-4d7e-956e-104fb3dda97d","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"df40df0f-17c6-4fff-83e3-8f1b03428651","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.656139+00:00","summary":"","completion_summary":"Already implemented. pubmed_evidence_pipeline.py provides automated recurring pipeline that searches PubMed for papers related to top hypotheses and updates evidence_for/evidence_against. Supports --top N, --max-age-days, --dry-run flags. Web interface at /forge/pubmed-pipeline (200, 57KB) shows pipeline status with 66 hypothesis references. Additionally expand_kg_pubmed scripts (v3-v9) and pubmed_update_pipeline.py provide KG enrichment from PubMed abstracts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fe33665-6abe-4259-b6b7-292714ff8851","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.642460+00:00","summary":"","completion_summary":"Duplicate one-time task - already verified complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"350b8b14-6d1d-4372-8856-f92eada4ab9f","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.629616+00:00","summary":"","completion_summary":"Duplicate: PubMed tools in tools.py, evidence populated for all hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"edf1a4af-92d2-4180-93bc-7a2b5df05057","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.615060+00:00","summary":"","completion_summary":"Already fully implemented. pubmed_update_pipeline.py handles incremental PubMed searches for hypothesis evidence. pubmed_evidence_pipeline.py and enrichment scripts also exist. 904 update records in pubmed_updates table, 4,674 hypothesis-paper links. /forge/pubmed-pipeline page (200, 57KB) shows pipeline status. Registered as tool_pubmed_evidence_pipeline skill.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e2a29068-0e00-483c-8fdf-462f55f5ace8","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.596770+00:00","summary":"Already done: pubmed_update_pipeline.py and pubmed_evidence_pipeline.py exist","completion_summary":"Duplicate: PubMed tools in tools.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0ddcad04-6da3-4844-9429-1165d4021f42","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.580781+00:00","summary":"","completion_summary":"Already implemented: pubmed_update_pipeline.py (18KB), pubmed_evidence_pipeline.py (23KB), and pubmed_enrichment.py (7KB) all exist. Recurring CI tasks also run evidence enrichment.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"99c6838d-0664-4ade-ae36-8b6de391e77d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.565030+00:00","summary":"","completion_summary":"Duplicate.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"20443a9b-3be8-4e0c-bea6-8ae37b377f58","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.550651+00:00","summary":"","completion_summary":"Already complete: PubMed tools integrated in tools.py (20 references), papers table populated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a08148e8-b858-4742-bca8-919787d4f964","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.537176+00:00","summary":"","completion_summary":"Duplicate - already completed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"828ccf3e-4a42-4135-84c7-0f9bdce3c914","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.522905+00:00","summary":"","completion_summary":"Duplicate - already completed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e5154f29-de64-41ed-b35e-b5d0f1faf068","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.508402+00:00","summary":"","completion_summary":"Already complete: pubmed_update_pipeline.py exists (18KB), CLI command 'scidex evidence update/status' works, pubmed_update_log table tracks 177 hypotheses with 533 papers added, last run 2026-04-03 02:02:04. Pipeline uses NCBI E-utilities API with incremental date-based fetching.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"298f3638-6109-4151-b0b1-534edc08b425","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.492849+00:00","summary":"","completion_summary":"Duplicate - PubMed pipeline already exists and active.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"489e6767-d406-4b5c-95b6-c42f26cc4604","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.478965+00:00","summary":"","completion_summary":"PubMed pipeline exists. /forge/pubmed-pipeline page (200). tools.py has PubMed integration.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6328f263-fb5f-46b1-8471-c1c1ef4efddf","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.463385+00:00","summary":"","completion_summary":"Duplicate - PubMed pipeline already exists (pubmed_update_pipeline.py, pubmed_evidence_pipeline.py). 177+ log entries.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"40c34e6a-bee9-4c33-ab10-66cde2c1de59","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.446846+00:00","summary":"","completion_summary":"Duplicate task - PubMed update pipeline already fully implemented (pubmed_update_pipeline.py + pubmed_evidence_pipeline.py). 177 entries in pubmed_update_log confirm active operation.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3a688eed-4105-4ab5-b958-388f94805102","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.432801+00:00","summary":"","completion_summary":"Added in-process background scheduler (6h interval) to api.py for automated PubMed evidence updates. Made trigger endpoint async with background execution. Improved DB retry logic from 5x(0.5-8s) to 10x(5-30s jittered) to handle heavy write contention. Added /api/pubmed-pipeline/state endpoint and dashboard trigger button.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e50f4080-30a9-4c4e-8bfa-be3ff723403c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.418448+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d77b5c5d-cf55-40ed-a291-e70f72849e04","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.403099+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ca92f44d-f6b9-48a6-bce0-5491220a25a0","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.390231+00:00","summary":"","completion_summary":"Duplicate. PubMed pipeline fully built.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"613d71c0-95e1-4ac3-9a0e-320c9c70840c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.377282+00:00","summary":"","completion_summary":"PubMed pipeline fully built: systemd service+timer, 7,026 papers, 4,674 hypothesis-paper links, 904 updates, API endpoint, Forge UI page. Multiple enrichment scripts exist.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e036e353-075c-486b-a319-b3aa71966790","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.362167+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1064cefc-afbd-4260-8593-bb83efb02244","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.348176+00:00","summary":"","completion_summary":"Pipeline already fully operational: pubmed_update_pipeline.py runs daily via cron (3:30 AM UTC, 149 hypotheses), 177 hypotheses tracked with 533 papers added. API endpoints (/api/pubmed-pipeline-status, POST /api/pubmed-pipeline/trigger) and dashboard (/forge/pubmed-pipeline) all functional. Last run completed minutes ago.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0224d420-a23e-4105-b674-b078c8a62cb6","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.331538+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"74fc6194-1af7-42a1-ab3d-1757202db4fe","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.316724+00:00","summary":"","completion_summary":"Duplicate of 021e83d0. PubMed pipeline already active with 177 hypotheses tracked, 533 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"021e83d0-cd3c-468e-835d-c77cfa79d741","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.301802+00:00","summary":"","completion_summary":"Verified: PubMed update pipeline already exists and is active. Tracks 177 hypotheses, has added 533 papers total. Last run: 2026-04-03 02:02:04. Has pubmed_update_log table, API status endpoint at /api/pubmed-pipeline-status, and UI at /forge/pubmed-pipeline. Evidence for/against is automatically updated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"42fa7bc4-bfcc-46aa-a4d7-754fb321f028","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.288512+00:00","summary":"","completion_summary":"Already implemented: pubmed_update_pipeline.py exists and is actively running. 177/199 hypotheses have been updated, last run at 2026-04-03 02:02. Pipeline searches PubMed for new papers and updates evidence arrays.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f4f046b-f3c3-44c6-a3a6-61ddad169bc5","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.274605+00:00","summary":"","completion_summary":"Already complete — pubmed_update_pipeline.py + pubmed_evidence_pipeline.py handle automated PubMed updates. 7026 papers, 4674 links, recurring Orchestra task runs every 6h.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3439e55a-9410-495d-849f-aff0ae2e9384","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.261353+00:00","summary":"","completion_summary":"PubMed update pipeline fully built and operational. pubmed_update_pipeline.py supports --limit, --hypothesis, --dry-run flags. 904 PubMed updates logged, 7,026 papers in DB, 4,674 hypothesis-paper links. Tested dry-run: all recent hypotheses already up-to-date. Also have pubmed_enrichment.py, pubmed_evidence_pipeline.py, pubmed_kg_enrich.py for deeper enrichment.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6729086e-0e35-4768-b241-ba2c76bbe5b5","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.247983+00:00","summary":"","completion_summary":"Pipeline already fully implemented: pubmed_update_pipeline.py and pubmed_evidence_pipeline.py exist on main with full functionality (PubMed search, evidence classification, DB updates, logging). 177 entries in pubmed_update_log confirm it's been running. All hypotheses have last_evidence_update timestamps.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fb8169cf-0e89-488f-8171-4027c440576d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.234237+00:00","summary":"","completion_summary":"Duplicate — PubMed pipeline already exists.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cc10736b-3ece-43f2-9bf9-079039fe1ad0","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.219278+00:00","summary":"","completion_summary":"Already implemented — pubmed_evidence_pipeline.py and pubmed_update_pipeline.py exist. /forge/pubmed-pipeline page shows: 177 hypotheses tracked, 533 papers added, avg 3.0 papers/hypothesis, last run 2026-04-03 02:02. Runs every 6 hours via systemd timer.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ab6f6442-f3d6-4ea4-be65-9e64b4f6a0c2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.205443+00:00","summary":"","completion_summary":"Duplicate. PubMed pipeline active, 177 hypotheses tracked, 533 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f114aa09-1404-4d11-9366-827aec060afe","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.191499+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented: pubmed_update_pipeline.py (incremental batch updates with query building, dedup, rate limiting), pubmed_evidence_pipeline.py (abstract-based evidence classification), cron job at 3:30 AM UTC daily processing 149 hypotheses, /forge/pubmed-pipeline UI page, /api/pubmed-pipeline-status API, pubmed_update_log DB tracking table. Verified working with dry run.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d1f92589-0fca-4e4b-9d22-ff6466a06afb","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.175825+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"53536d8b-8cee-43e0-814a-81ac3e424716","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.162773+00:00","summary":"","completion_summary":"PubMed update pipeline already exists and is active. Tracks 177 hypotheses, has added 533 papers, runs regularly (last run 2026-04-03 02:02). Has dedicated dashboard at /forge/pubmed-pipeline with status API. pubmed_update_pipeline.py and pubmed_evidence_pipeline.py scripts in place.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a077a3e3-188b-4d4e-8762-7488e976ff80","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.149922+00:00","summary":"","completion_summary":"Pipeline already fully built and operational: pubmed_update_pipeline.py + pubmed_evidence_pipeline.py + enrich_hyp_papers.py. Last run 2h ago. 7026 papers, 4674 links, 199 hypotheses enriched. Recurring Orchestra task 33803258 handles every-6h execution.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4a57873d-b075-4834-843e-e5085a39413a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.134958+00:00","summary":"","completion_summary":"Already complete: pubmed_update_pipeline.py exists on main, imported by api.py at two endpoints. All 199 hypotheses have last_evidence_update set. Recurring task [Exchange] CI: Backfill evidence runs every 6h. Pipeline searches PubMed and updates evidence_for/evidence_against automatically.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6fd5d6d4-1371-403a-86d6-7eec24c62c6d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.121062+00:00","summary":"","completion_summary":"Duplicate (4th copy). PubMed pipeline fully operational.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"caf611ed-2d7b-4f7f-baf0-5f990bee735f","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.106919+00:00","summary":"","completion_summary":"Duplicate task (3rd copy). PubMed update pipeline fully implemented at pubmed_update_pipeline.py with --daemon --interval flags, systemd service active, API endpoint at /api/forge/pubmed-update, and pipeline dashboard at /forge/pubmed-pipeline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f44a710f-2a94-4e87-ab06-39791d112d38","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.091881+00:00","summary":"","completion_summary":"Duplicate of task d5a4c578 — PubMed update pipeline already has daemon mode. The pipeline (pubmed_update_pipeline.py) supports --daemon --interval flags, systemd service is configured, and pipeline correctly searches PubMed for new papers and updates evidence_for/evidence_against.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"629cb6e3-9d63-40ec-8d64-47c2fb37e077","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.075477+00:00","summary":"","completion_summary":"Already complete: PubMed update pipeline exists with /forge/pubmed-pipeline dashboard (HTTP 200). 177 update log entries in pubmed_update_log table showing recent runs. Pipeline searches PubMed for papers related to hypotheses and updates evidence_for/evidence_against arrays.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d5a4c578-5c79-456d-9f24-8220a88c8998","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.058071+00:00","summary":"","completion_summary":"Duplicate PubMed pipeline task. Pipeline exists with 177 logged runs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5fc89799-4a9d-457c-b378-a858de4bc67b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.043846+00:00","summary":"","completion_summary":"PubMed update pipeline already existed and was functional. Fixed critical database locking issue: added _db_retry() with exponential backoff, busy_timeout pragma, and per-hypothesis commits. Pipeline handles 199 hypotheses with incremental date-filtered searches.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e46b005b-2317-4f1e-a937-c190ac1be143","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.029522+00:00","summary":"","completion_summary":"Already complete: pubmed_update_pipeline.py (16KB) and pubmed_evidence_pipeline.py (22KB) exist on main. KG has 619K PubMed-sourced edges. Hypotheses have rich evidence (avg 14K chars for, 7K chars against).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c7eb0303-8269-4765-8014-c8203b1dd115","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:10.015094+00:00","summary":"","completion_summary":"Fixed PubMed pipeline integration: (1) removed invalid days_back parameter from trigger endpoint that caused TypeError, (2) added pubmed_update_log writes to both pipeline scripts so dashboard/status endpoints show real data, (3) verified pipeline runs correctly with dry-run test. Cron job already configured daily at 3:30 AM UTC.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c4ace2c9-f572-4bec-8d6f-b900d8a57a7e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.999751+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"305ffa15-2df0-45a9-bc8f-ad5d917bac92","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.985786+00:00","summary":"","completion_summary":"Auto-completed duplicate","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ce37f0f9-ecf8-4ce7-afb3-9d44e3ec0d81","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.971796+00:00","summary":"","completion_summary":"Auto-completed - data already enriched, duplicate prevention","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f5e23442-d7c9-4d80-acf6-f1c0381c439d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.957560+00:00","summary":"","completion_summary":"Bulk cleanup - verified data already enriched","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b91bcd4b-4553-4c64-99da-99d557968875","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.943187+00:00","summary":"","completion_summary":"Duplicate — PubMed pipeline already built and running.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c1cf2b75-8e10-47e9-af4a-a5a1a598e885","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.928509+00:00","summary":"","completion_summary":"Bulk cleanup - duplicate or already-completed task","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5d4d3925-a297-44c5-88fd-a63789bce819","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.913617+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"afb46334-e53c-4b8c-ad75-23dd950d01dc","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.896132+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"80f35dc2-445d-4def-b8a8-f59c30c3d705","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.853992+00:00","summary":"","completion_summary":"PubMed update pipeline already built and actively running. pubmed_update_pipeline.py exists, 177 hypotheses tracked, 532 papers added. Last run: 2026-04-03T02:02:04. Has API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline/trigger) and dashboard page (/forge/pubmed-pipeline).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4ba9b9e2-17b7-409b-8c8e-1148dd5cc879","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.840114+00:00","summary":"","completion_summary":"Orphaned stale task. PubMed evidence pipeline implemented — backfill scripts exist, evidence_for/evidence_against enrichment runs as recurring CI task.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0cd3c3e7-bd85-4156-8263-7ccd4c8b2633","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.824670+00:00","summary":"","completion_summary":"Already complete: pubmed_update_pipeline.py runs every 6h via systemd, searches PubMed for new papers related to top hypotheses, classifies with Claude Haiku as supporting/opposing, updates evidence arrays. API endpoints for status and on-demand triggering exist.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"79c52161-a777-44ba-9ac1-00375315ccf8","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.810459+00:00","summary":"","completion_summary":"Built pubmed_update_pipeline.py — incremental PubMed evidence update pipeline. Uses date filtering to only fetch papers published since last update, deduplicates against existing PMIDs, processes stalest hypotheses first. Tested live: added 7 new papers across 5 hypotheses. Added API endpoints POST /api/forge/pubmed-update and GET /api/forge/pubmed-update/status.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fd35b58b-ee61-48f1-9ef4-ac7a6a9ae9fc","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.797394+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cddc6a5d-a3cd-47b1-9107-2674210bc9bc","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.782058+00:00","summary":"","completion_summary":"Already completed by prior agents. Pipeline exists at pubmed_update_pipeline.py with 532 papers added across 199 hypotheses, API endpoints, dashboard, and systemd timer files.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2dfd163a-cc61-4484-9c07-cb3c3f37a815","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.768720+00:00","summary":"","completion_summary":"Pipeline already fully built and operational: pubmed_update_pipeline.py with 177 hypotheses tracked, 532 papers added, all 199 hypotheses up-to-date. Includes Claude Haiku paper classification, evidence merging, market dynamics, API status endpoint, and dashboard page. Added spec documenting the system.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"eadce20c-2c70-4fbe-a5d1-cf617828b232","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.755216+00:00","summary":"","completion_summary":"Pipeline already fully operational: pubmed_update_pipeline.py running as systemd daemon (every 6h) + cron backup, with API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline/trigger), UI page (/forge/pubmed-pipeline), Claude Haiku classification, and DB tracking. 177 hypotheses tracked, 532 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c3043329-ad83-435e-a7e9-7b08beced245","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.741955+00:00","summary":"","completion_summary":"Already implemented - pubmed_update_pipeline.py exists (27KB) and runs daily via cron at 3:30 AM UTC. Processes up to 149 hypotheses per run. 92/199 hypotheses already enriched. Pipeline includes PubMed search, abstract fetch, and evidence classification.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"78a96638-24e1-4110-bc85-0dec8fc8d548","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.729060+00:00","summary":"","completion_summary":"Added pubmed_update_log table creation to api.py DB init block and pipeline's run_pipeline() for standalone execution. Pipeline already fully functional (177 hypotheses tracked, 532 papers added). All API endpoints and dashboard working.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4d127fe3-33e2-4d5c-8c72-74a892e0a57b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.714002+00:00","summary":"","completion_summary":"Pipeline already fully implemented: pubmed_update_pipeline.py with cron (daily 3:30 UTC), systemd service, API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline/trigger), dashboard page (/forge/pubmed-pipeline), logging, and performance tracking. 177 hypotheses tracked, 532 papers added. Verified working with dry-run test.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1380521e-1eea-4759-bf13-cd775dbf6755","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.699542+00:00","summary":"","completion_summary":"Task already fully implemented: pubmed_update_pipeline.py with Claude Haiku classification, pubmed_evidence_pipeline.py as alternative, systemd timer running every 6h, API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline/trigger), UI page at /forge/pubmed-pipeline. 177 hypotheses tracked, 519 papers added, last run 2026-04-03 01:55:36.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1b8e2cb5-9e23-4626-87d8-2f32f56f5c41","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.685910+00:00","summary":"","completion_summary":"Task already fully implemented. pubmed_update_pipeline.py runs as systemd daemon (scidex-pubmed-update.service) every 6 hours with Claude Haiku classification. 177 hypotheses tracked, 514 papers added. API endpoints /api/pubmed-pipeline-status and /api/pubmed-pipeline/trigger exist. pubmed_evidence_pipeline.py provides alternative heuristic pipeline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"31084149-aeb1-45c1-a3c3-094c632e8239","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.671223+00:00","summary":"","completion_summary":"Pipeline already fully operational: pubmed_update_pipeline.py (689 lines) with daemon mode, systemd service (scidex-pubmed-update.service running every 6h), cron backup (daily 3:30AM), API status (/api/pubmed-pipeline-status), trigger endpoint (POST /api/pubmed-pipeline/trigger), monitoring page (/forge/pubmed-pipeline), Claude Haiku classification. 177 hypotheses tracked, 511 papers added to evidence. Running right now.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"346a48aa-3bdd-4dd2-9b73-16d4c198ed99","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.657859+00:00","summary":"","completion_summary":"Task already fully implemented. pubmed_update_pipeline.py (688 lines) orchestrates recurring PubMed searches for top hypotheses, classifies papers as supporting/opposing via Claude Haiku, updates evidence_for/evidence_against, adjusts market prices. Systemd daemon runs every 6h. API endpoints for status and manual triggering. CLI integration via 'scidex evidence update'. Also has pubmed_evidence_pipeline.py and pubmed_enrichment.py as alternative/backfill tools.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d966ece0-960d-4f5a-a555-4bdd3de7901c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.643830+00:00","summary":"","completion_summary":"PubMed update pipeline already exists and is fully operational. pubmed_update_pipeline.py runs daily at 3:30 AM UTC via cron (--limit 149). 71/199 hypotheses already enriched with evidence. Pipeline searches PubMed for each hypothesis, classifies papers as for/against via abstract heuristics, updates papers table, hypothesis_papers junction, and evidence_for/against JSON arrays. Triggered a batch of 30 additional hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b9a70e82-71dd-4b0e-bda6-adca88dd4a88","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.630075+00:00","summary":"","completion_summary":"Already complete — pubmed_update_pipeline.py (688 lines) and pubmed_evidence_pipeline.py (624 lines) exist. Pipeline has run on 176 hypotheses, found 896 papers, added 511. Has /forge/pubmed-pipeline UI page.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7ca39079-2dd8-4c56-a9e7-0ee0c258382e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.616063+00:00","summary":"","completion_summary":"Already fully implemented. pubmed_update_pipeline.py runs as daemon (--daemon --interval 6 --limit 30, PID 1823841) and via daily cron (3:30 AM, --limit 149). Pipeline uses Claude Haiku for evidence classification (supporting/opposing/neutral), updates evidence_for/evidence_against JSON fields, hypothesis_papers junction table (4487 links), and triggers market_dynamics.adjust_price_on_evidence(). 71 hypotheses have evidence updates, last run completed 2026-04-03 01:07:21.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9047704a-0246-4a5c-8483-10894abf9b2d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.602988+00:00","summary":"","completion_summary":"PubMed pipeline already fully implemented (script, systemd service, API endpoints, DB tables). Fixed critical bug: 11/30 hypotheses failing per run due to 'database is locked' errors. Added _db_execute_with_retry() and _db_commit_with_retry() with exponential backoff to all DB write paths. Increased DB timeout from 30s to 60s. Verified with dry-run: 0 errors.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4167a064-bde6-4c0b-9af3-b16dabdf386f","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.588617+00:00","summary":"","completion_summary":"Built pubmed_evidence_pipeline.py - automated recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against. Features: date-filtered searches since last update, heuristic for/against classification, PMID deduplication, Forge instrumentation, CLI with --top/--max-age-days/--dry-run flags. Tested on 5 hypotheses, added 11 new papers, verified idempotency.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d3770b7a-b772-40b7-a989-f0c709be249b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.575034+00:00","summary":"","completion_summary":"PubMed update pipeline already exists and is actively running. API status at /api/pubmed-pipeline-status shows 176 hypotheses tracked, 511 papers added, last run 2026-04-03 01:02:35. Pipeline runs recurring and updates evidence_for/evidence_against with PubMed citations.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"20db1bbd-cecf-4237-80ba-4ab820e959ef","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.560960+00:00","summary":"","completion_summary":"Added systemd service+timer for 6-hour automated PubMed evidence updates, plus /forge/pubmed-pipeline dashboard page showing pipeline stats, run history, top evidence producers, and per-hypothesis update log. Pipeline already functional with 176 hypotheses tracked and 511 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0d325967-79a0-46d1-9a38-77267d2317c9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.546314+00:00","summary":"","completion_summary":"Pipeline already exists and running: pubmed_update_pipeline.py daemon active (6hr interval, 30 hyps/run). 176 hypotheses tracked, 511 papers added. API endpoints at /api/pubmed-pipeline-status and /api/pubmed-pipeline/trigger.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0619c563-38b5-4300-974f-ac7eb22bd7e2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.531064+00:00","summary":"","completion_summary":"Pipeline already fully built and running: pubmed_update_pipeline.py daemon (every 6h), systemd service active, API endpoints /api/pubmed-pipeline-status and /api/pubmed-pipeline/trigger working. 176 hypotheses tracked, 511 papers added. Uses Claude Haiku for paper classification.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"eba164da-60eb-48ba-99b3-7246ec365465","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.516188+00:00","summary":"","completion_summary":"PubMed update pipeline enhanced: evidence items now include abstract snippets (200 chars) and strength ratings (strong/moderate/weak) from Claude Haiku classifier. Search queries improved to extract keywords from hypothesis descriptions for broader PubMed coverage. Pipeline was already running as scidex-pubmed-update daemon (176 hypotheses tracked, 509+ papers added). Verified with dry-run and live test.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"04d62c38-9123-411c-9ac1-462394cbf2ac","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.501403+00:00","summary":"","completion_summary":"Pipeline already fully implemented and operational. pubmed_update_pipeline.py runs as scidex-pubmed-update systemd daemon every 6 hours, processing top 30 hypotheses. Has 176 hypotheses tracked with 509 papers added. API status at /api/pubmed-pipeline-status and trigger at /api/pubmed-pipeline/trigger both functional. Claude Haiku classifies papers as supporting/opposing/neutral. No changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9c454894-c20c-4cc7-acc3-9a0fafd44289","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.488006+00:00","summary":"","completion_summary":"Pipeline already exists and is operational. pubmed_update_pipeline.py runs as a systemd service (every 6h) and cron (daily at 3:30 AM). Last run: 2026-04-03 00:27 UTC. Coverage: 176 hypotheses checked, actively adding new papers with Claude Haiku classification.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f5a4800e-c471-4537-96ea-9222e1fef05a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.474429+00:00","summary":"","completion_summary":"Pipeline already exists at pubmed_update_pipeline.py with full functionality: PubMed search, Claude Haiku classification, evidence merging, dedup, daemon mode, API integration. Ran it for top 30 hypotheses: updated 15 with 43 new papers (42 supporting, 1 opposing). Pipeline supports --daemon mode for recurring execution.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c8a319c3-eec4-4c4f-b449-f9799edcb45b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.460650+00:00","summary":"","completion_summary":"PubMed evidence pipeline already fully built and running. pubmed_update_pipeline.py with daemon mode runs every 6h via systemd. Tracks 173 hypotheses, 479 papers added. API endpoints: /api/pubmed-pipeline-status (monitoring), /api/pubmed-pipeline/trigger (manual). Features: Claude Haiku classification, duplicate detection, version tracking, rate limiting.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ecac887-23bf-4df7-baaf-0174b842b269","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.445451+00:00","summary":"","completion_summary":"Already fully implemented: pubmed_update_pipeline.py with PubMed search, Claude Haiku classification, DB updates. Running daily via cron + systemd. API status/trigger endpoints active. 173 hypotheses tracked, 479 papers added. Last run today.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"483bc63c-f3c4-49f7-95b3-5d7b9987e326","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.430347+00:00","summary":"","completion_summary":"PubMed update pipeline already exists: pubmed_update_pipeline.py, enrich_evidence.py, enrich_evidence_all.py, etc. 173 update log entries in pubmed_update_log table, last run today (2026-04-02). Pipeline searches PubMed for hypothesis targets and updates evidence_for/evidence_against.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"da2ae105-5896-4f4d-8ac2-276abeccbd9c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.416036+00:00","summary":"","completion_summary":"Already fully implemented: pubmed_update_pipeline.py (23KB) with PubMed search, abstract fetch, Claude Haiku paper classification (supporting/opposing/neutral), evidence field updates, version tracking, paper DB upserts, and hypothesis-paper linking. Scheduled every 6h via .claude/scheduled_tasks.json (cron: 23 */6 * * *).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7de5663d-23ab-49fb-99e7-b56840bfbd38","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.401315+00:00","summary":"","completion_summary":"PubMed update pipeline already exists (pubmed_update_pipeline.py) and is actively used (173 hypotheses tracked, last run today). It searches PubMed for recent papers, classifies them via Claude Haiku, and updates evidence_for/evidence_against. Added recurring schedule: every 6 hours, processing 20 hypotheses per run.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a3bf885d-fd75-4bd6-a631-cb8a936b0529","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.387282+00:00","summary":"","completion_summary":"Fixed pubmed_update_pipeline.py: (1) Aligned hypothesis_papers INSERT to use evidence_direction/claim columns matching actual schema instead of non-existent relevance column. (2) Added market_dynamics.adjust_price_on_evidence() calls after adding new evidence so hypothesis prices move on new PubMed findings. Tested: 5 hypotheses processed, 2 updated with 13 new papers from PubMed, classified via Claude Haiku.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"79c03e2b-d9b3-44d8-9390-d0a621ce9861","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.373830+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented. pubmed_update_pipeline.py exists with PubMed API search + Claude Haiku classification. Cron job runs daily at 3:30 AM. 172 entries in pubmed_update_log table. No changes needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6ff3bac9-0a4a-407f-aefd-dd63703b7206","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.359090+00:00","summary":"","completion_summary":"Pipeline exists at pubmed_update_pipeline.py. Tested and working.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"07081b3b-a39a-42a7-81f8-23299988697f","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.345755+00:00","summary":"","completion_summary":"Already implemented. pubmed_update_pipeline.py (608 lines) provides a full PubMed update pipeline: searches NCBI eutils for recent papers, fetches abstracts, classifies as supporting/opposing/neutral via Claude Haiku, deduplicates against existing evidence PMIDs, upserts to papers table, links via hypothesis_papers junction, and updates evidence_for/evidence_against on hypotheses. CLI supports --limit, --days-since, --recency-days, --dry-run flags.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f58a4652-6ba2-4c22-adb2-e9ae0f3d1a81","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.330984+00:00","summary":"","completion_summary":"PubMed update pipeline already exists (pubmed_update_pipeline.py). Tested with --dry-run: searches PubMed for new papers, fetches abstracts, classifies as supporting/opposing using Claude Haiku, and updates evidence_for/evidence_against. Found 16 new papers for TREM2, 9 for TARDBP in dry run.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a7ff5a8d-d8fe-463a-8d41-2183bf39f297","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.316894+00:00","summary":"","completion_summary":"Task already fully implemented: pubmed_update_pipeline.py (608 lines) with search_pubmed_recent, classify_papers via Claude Haiku, version tracking, paper upserts. API endpoints at /api/forge/pubmed-pipeline/status and /api/forge/pubmed-pipeline/trigger. Systemd service scidex-pubmed-update.service configured for daemon mode. Dry run confirmed working.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"233bc08f-ac26-4bd7-9ad6-e28bb9f8c9c9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.301375+00:00","summary":"","completion_summary":"Duplicate — already completed. pubmed_update_pipeline.py exists with daemon mode, dry-run, per-hypothesis targeting, Claude Haiku paper classification. POST /api/pubmed-pipeline/trigger API endpoint also available.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dc889bbd-6c99-4b79-9145-70d2ae600b07","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.284383+00:00","summary":"Duplicate - already implemented","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"22540a47-9b16-4097-91d7-ad4d7a93f73e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.269340+00:00","summary":"","completion_summary":"Pipeline already exists: pubmed_update_pipeline.py with daemon mode (--daemon --interval 6.0), dry-run, per-hypothesis targeting, Claude Haiku classification. Also: pubmed_enrichment.py for backfill, API endpoint POST /api/pubmed-pipeline/trigger. All 199 hypotheses already have 3+ evidence items.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3e02966b-a016-4f56-aa32-709aa4817ba0","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.253941+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"be8fc0df-326f-499b-8866-92acb3b92fb5","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.239097+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2c7c72ab-55cc-4346-81b4-5798ccfcf09b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.224074+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"570e6e35-a5bf-49e6-a038-427b01d57954","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.209573+00:00","summary":"","completion_summary":"Duplicate of completed task 60b9a149. PubMed update pipeline already fully implemented and enhanced in branch worktree-fix-pubmed-pipeline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60b9a149-aac6-49a3-8d6c-306d8ec5232b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.194693+00:00","summary":"","completion_summary":"Enhanced existing PubMed update pipeline with market price adjustment and hypothesis_papers linking. Pipeline already fully operational: 172 hypotheses tracked, 466 papers added. Added pubmed_update_log table creation to api.py startup. Branch: worktree-fix-pubmed-pipeline","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9c51b91d-f431-4a4b-bb87-3ceb9ceb5dbe","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.180614+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ce71748-cbd9-4350-9a55-2d0da0780b93","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.164990+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c0bb331b-45ef-4e8c-a9e3-59c78b676fc9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.148404+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bf0596d7-ddd5-4f3d-925d-8975bafd2c39","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.133577+00:00","summary":"","completion_summary":"PubMed pipeline already built and operational: pubmed_update_pipeline.py (23KB) and pubmed_enrichment.py (7KB) exist. 183 hypotheses have citations, 46 have last_evidence_update timestamps.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"73663d7e-15e7-4740-9ac2-1c48d749ffae","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.118104+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented: pubmed_update_pipeline.py with daemon mode, Claude Haiku classification, API triggers, CLI interface. Active: 172 hypotheses tracked, 466 papers added, last run today.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d728ee96-01be-4089-b31a-13c83a56fef9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.103730+00:00","summary":"","completion_summary":"d728ee96-01be-4089-b31a-13c83a56fef9","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d49fd790-b46f-4239-8a73-9e13cd597e5e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.089409+00:00","summary":"","completion_summary":"Already completed. pubmed_update_pipeline.py exists with PubMed search, Claude classification, daemon mode. Cron job runs daily at 3:30 AM. 46+ hypotheses updated.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f2421b23-9f1d-47b9-b6bd-500e73d136f8","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.074940+00:00","summary":"","completion_summary":"PubMed evidence update pipeline already fully implemented in pubmed_update_pipeline.py. Features: PubMed search with retry logic, Claude Haiku paper classification (supporting/opposing/neutral), version tracking, daemon mode, monitoring via pubmed_update_log table. Recurring execution configured via cron (daily 3:30 AM) and systemd service. 46 hypotheses already updated. Ran pipeline for 30 additional hypotheses in this session.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1f9f953b-6687-4600-982c-d5ec81f35e61","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.060679+00:00","summary":"","completion_summary":"PubMed update pipeline (pubmed_update_pipeline.py) already exists and is fully operational. 608-line script with: PubMed API search, abstract fetching, Claude Haiku classification of evidence for/against, DB integration, daemon mode, retry logic, and API status endpoint. Pipeline has processed 172 hypotheses and added 490 papers. Last run: 2026-04-02 21:21:03. No additional work needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"299a0ca4-d9f0-4f71-8bac-fb04f8fdb77d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.046899+00:00","summary":"","completion_summary":"Already implemented. pubmed_update_pipeline.py searches PubMed for papers related to top hypotheses and updates evidence_for/evidence_against using Claude Haiku classification. Runs daily via cron at 3:30 AM UTC (limit 149 hypotheses). Systemd service also configured.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ccbde16e-cd2e-4594-8220-17a11667491e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.032772+00:00","summary":"","completion_summary":"PubMed update pipeline already exists and is fully functional at pubmed_update_pipeline.py. Verified with --dry-run: processes hypotheses, searches PubMed, classifies papers via Claude Haiku, deduplicates, and updates evidence_for/evidence_against. Supports daemon mode (--daemon --interval 6), API trigger (POST /api/pubmed-pipeline/trigger), and monitoring (GET /api/pubmed-pipeline-status). Tested dry-run on 3 hypotheses — all properly processed (no new papers found, existing enrichment is thorough).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4f304598-4f60-43ed-b185-879ee49c0c7e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.018772+00:00","summary":"","completion_summary":"Pipeline already fully built and operational: pubmed_update_pipeline.py with daemon mode runs via systemd every 6h, processing 30 hypotheses per run. DB has 155 hypotheses tracked with 447 papers added. API endpoints /api/pubmed-pipeline-status and /api/pubmed-pipeline/trigger are live. Verified pipeline works with a live run (5 hypotheses, 4 new papers added).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b7e62e1b-117f-4a9f-a22b-088c13be32b7","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:09.004259+00:00","summary":"","completion_summary":"Pipeline already exists and is actively running. pubmed_update_pipeline.py runs as systemd daemon (scidex-pubmed-update.service) with 6h intervals. Uses Claude Haiku for paper classification. 155 runs logged, 4085 paper-hypothesis links, 3680 papers, 157/199 hypotheses enriched. 42 remaining hypotheses will be processed in upcoming cycles.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"51909cd9-5f88-4963-8f2c-ba9d3266703a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.989593+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7c33dfe9-eada-4a82-9c17-db58c2025cd2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.975329+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented: pubmed_update_pipeline.py with daily cron at 3:30AM UTC, systemd service, API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline/trigger), CLI commands, Claude Haiku classification, deduplication via existing PMIDs, and hypothesis_papers junction table. 155 hypotheses tracked with 452 papers added. Verified pipeline runs 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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2f7de24d-e342-4a76-80cb-77ee9dc5b8ec","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.958235+00:00","summary":"","completion_summary":"Pipeline already fully implemented and operational: pubmed_update_pipeline.py with daemon mode, systemd service (enabled+active, 6-hour intervals), API status/trigger endpoints, Claude Haiku classification. 155 hypotheses tracked, 445 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"555cbc23-0da7-4adf-9c9f-bc0a768a1ed5","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.916862+00:00","summary":"","completion_summary":"PubMed update pipeline already fully implemented in pubmed_update_pipeline.py. Tested with dry-run: finds top hypotheses, searches PubMed for new papers, classifies via Claude Haiku as supporting/opposing, and updates evidence_for/evidence_against. Companion scripts: pubmed_enrichment.py, enrich_evidence.py, evidence_validator.py.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9e217b19-799a-4917-a0f4-b3baed8f912d","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.902883+00:00","summary":"","completion_summary":"Already implemented — pubmed_update_pipeline.py exists with PubMed search, Claude Haiku classification (supporting/opposing/neutral), and evidence update. Dry-run verified: finds new papers, classifies them, supports --limit, --days-since, --dry-run flags.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b67caf08-1e8a-4ee4-9919-228bfdfb4a21","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.888691+00:00","summary":"","completion_summary":"Added daemon mode (--daemon --interval flags) and retry logic with exponential backoff to PubMed update pipeline. Pipeline now supports continuous operation matching systemd service expectations. Retry catches 429s, 5xx, timeouts, connection errors. Tested with dry run: 2 hypotheses, 18 PMIDs found, 7 papers classified. Merged to main.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a5589fd7-6797-4fc3-aa61-4bb7f6632e38","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.871982+00:00","summary":"","completion_summary":"Pipeline already fully built and operational: pubmed_update_pipeline.py with Claude Haiku classification, cron job at 3:30 AM daily, systemd service, API endpoints (/api/pubmed-pipeline-status and /api/pubmed-pipeline/trigger), pubmed_update_log table. Verified working: ran for 20 hypotheses, updated 11 with 33 new papers from PubMed. 149 hypotheses tracked, 412+ papers added total.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6b3778fa-eef2-464d-beac-21386cac8adc","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.857180+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"49a934f4-efaa-44da-99de-8d479e75209a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.843296+00:00","summary":"","completion_summary":"Fixed PubMed update pipeline: added hypothesis_id and days_back params to run_pipeline() for API compatibility, added pubmed_update_log tracking so /api/pubmed-pipeline-status works, added --hypothesis-id CLI arg. Pipeline already had cron (3:30 AM daily), PubMed search, Claude Haiku classification, and API endpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e1f794f0-e30e-460c-901a-45a76c31a1bd","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.825735+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4e77fbae-a865-49d3-bb74-6df6171a9653","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.812497+00:00","summary":"","completion_summary":"Built pubmed_update_pipeline.py: searches PubMed for recent papers related to top hypotheses, classifies via Claude Haiku as supporting/opposing/neutral, appends new evidence to evidence_for/evidence_against. Features: dedup, rate limiting, dry-run mode, papers table and junction table updates. Tested with dry-run (3 hypotheses) and live run (1 hypothesis) successfully.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c91dc3df-26a8-4d59-ae13-dd5408d1b3fe","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.797786+00:00","summary":"","completion_summary":"Enhanced pubmed_update_pipeline.py with: hypothesis_papers junction table linking, abstract fetching for papers table, last_evidence_update timestamp tracking, proper paper IDs. Created migration 025. Pipeline tested on live DB — correctly searches PubMed with date filters, deduplicates against existing evidence, and updates all 3 tables (hypotheses, papers, hypothesis_papers).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c79c0dbd-a4dc-4b33-9a93-58d7e9bda320","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.782659+00:00","summary":"","completion_summary":"Added POST /api/pubmed-pipeline/trigger endpoint and scidex evidence update/status CLI commands. Pipeline was already built; this adds the API and CLI integration to trigger it on-demand with --limit, --days, --hypothesis, --dry-run options.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6e8a9cf7-00cd-4f2a-ab22-6c837059e86b","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.768263+00:00","summary":"","completion_summary":"Pipeline already exists and is fully operational. pubmed_update_pipeline.py has: PubMed search via NCBI E-utilities, PMID dedup, date-filtered incremental updates, dry-run mode, daemon mode, CLI and API endpoints (/api/pubmed-pipeline-status, /api/pubmed-pipeline-run). Currently tracking 149 hypotheses with 412 papers added. Integrated into Forge page UI.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a1ad29cf-9499-433d-b359-5fedf55a2bba","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.754932+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5353139e-d60f-4682-a443-c9dd24661853","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.740677+00:00","summary":"","completion_summary":"--slot","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ccab3a97-a9e8-4dca-ae74-d7b973c145c1","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.726018+00:00","summary":"","completion_summary":"Pipeline already fully implemented: pubmed_update_pipeline.py with search/dedup/rate-limiting, API status endpoint at /api/pubmed-pipeline-status (149 hypotheses tracked, 412 papers added), cron job at 3:30 AM UTC daily, dashboard integration, and audit tables. Verified working via dry run.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9ee3d0d7-3018-418b-bae6-f7fe204f5055","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.710670+00:00","summary":"","completion_summary":"PubMed pipeline already built and run: pubmed_enrichment.py + enrich_citations.py exist. All 149 hypotheses have evidence_for (avg 13 citations) and evidence_against (avg 7 citations).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f4f82aa1-d80c-4199-844d-6fbfb44b15a0","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.695911+00:00","summary":"","completion_summary":"Pipeline already existed and running as systemd daemon. Added staleness check: get_hypotheses_to_update now skips hypotheses checked within 12h via LEFT JOIN on pubmed_update_log. Pipeline has 149 hypotheses tracked, 904 papers in audit trail. Running service needs restart to pick up existing DB lock fix.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d4976484-b274-41f8-83c1-86600f1013f7","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.679380+00:00","summary":"","completion_summary":"Pipeline already exists and is fully functional: pubmed_update_pipeline.py supports date-filtered search, deduplication, evidence merging, daemon mode, dry-run, and per-hypothesis tracking via pubmed_update_log table. Verified it runs successfully against the live DB (3 hypotheses checked, all citations already current).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4c89033f-c8ff-4f2e-bb1b-ad7d0858866e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.661329+00:00","summary":"","completion_summary":"Pipeline already exists: pubmed_update_pipeline.py. It searches PubMed for new papers related to top hypotheses, tracks last-checked timestamps, deduplicates against existing PMIDs, and appends new evidence. Dry run verified successful on 3 hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7ee83808-7329-45d6-b1b4-68811983f0e9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.643923+00:00","summary":"","completion_summary":"Already built: pubmed_update_pipeline.py exists with full implementation — search_pubmed_recent(), build_hypothesis_queries(), merge_evidence(), run_pipeline(). Already executed earlier: added 125+ new PubMed citations across 38 hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f3063a19-4a85-494d-bb8b-193bc0893ae3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.624830+00:00","summary":"","completion_summary":"Verified: pubmed_update_pipeline.py already exists and is integrated with the API (/api/pubmed-pipeline/trigger endpoint). Pipeline searches PubMed for new papers related to hypotheses and updates evidence. No new work needed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"396feeca-3f4a-438d-95c0-5ed759cac442","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.601752+00:00","summary":"","completion_summary":"Pipeline already exists at pubmed_update_pipeline.py (557 lines). Fully featured: tracks last-checked timestamps, filters by publication date, deduplicates, appends evidence. Has processed 149 hypotheses. Log table shows recent runs from 2026-04-02.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"82ac6bbe-08bc-48d4-9e27-c229cefce0c2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.570478+00:00","summary":"","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6cd43ac5-2669-4b98-ac71-a54a004dadec","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.535078+00:00","summary":"","completion_summary":"Enhanced PubMed pipeline: added pubmed_updates table tracking for per-paper audit trail, POST /api/pubmed-pipeline/trigger endpoint, Run Now button on Forge page. Pipeline running on all 149 hypotheses. 28+ tracked so far with 81 paper-hypothesis links.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4d6991a4-9b5f-448e-a2d5-f195ddef2e1e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.517593+00:00","summary":"","completion_summary":"Added POST /api/pubmed-pipeline-run endpoint to trigger evidence updates on demand. Configured daily cron at 3:30 AM UTC for all 149 hypotheses. Ran full pipeline — it found new papers and appended them to evidence. The existing pubmed_update_pipeline.py was already well-built with date filtering, deduplication, and rate limiting. Branch: worktree-pubmed-evidence-pipeline","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ebd62eb4-4205-4ab5-b5f7-7d7f045d46d4","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.484579+00:00","summary":"","completion_summary":"Already implemented: pubmed_update_pipeline.py (482 lines) — recurring pipeline that searches PubMed for new papers, tracks last-checked timestamps, deduplicates PMIDs, and updates evidence_for/evidence_against. Supports --limit, --dry-run, and --hypothesis flags.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fd38e7c4-dc2b-4089-aad5-43356ba2782a","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.466274+00:00","summary":"","completion_summary":"Fixed DB locking errors in existing PubMed update pipeline. Added retry logic with exponential backoff for all DB writes, commit-per-hypothesis instead of batch commit to minimize lock duration, and graceful rollback on persistent lock failures. Pipeline was already fully built and deployed as systemd service.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"028da492-3c2d-465d-8f96-67caf40a4a1e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.448075+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4fad6c75-000a-4122-87cf-9b79237cf9e3","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.432043+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"96395bec-38dc-40f5-ab75-d73eac7b16e9","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.416843+00:00","summary":"","completion_summary":"PubMed update pipeline already exists at pubmed_update_pipeline.py with daemon mode, date-filtered searches, deduplication, and pubmed_update_log tracking. Systemd service scidex-pubmed-update.service is active and enabled, running every 6h updating top 30 hypotheses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"92ce11bf-963a-422a-b266-28387001eb9c","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.401872+00:00","summary":"","completion_summary":"PubMed update pipeline already existed. Fixed FTS trigger crash in save_to_papers_table. Ran pipeline: checked 20 hypotheses, updated 7 with 39 new citations from PubMed. Branch: worktree-fix-pubmed-pipeline","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b7c177fa-6645-435a-8d99-03e4d2e31111","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.386687+00:00","summary":"","completion_summary":"Already complete.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b613d9d-5a08-4869-81ca-1a321f8259bb","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.371311+00:00","summary":"","completion_summary":"PubMed update pipeline already exists and works (pubmed_update_pipeline.py). Verified by running it: checked top 5 hypotheses, found and added 8 new citations for 'Nutrient-Sensing Epigenetic Circuit Reactivation'. Pipeline supports: --limit N (batch size), --hypothesis ID (single), --daemon (continuous every 6h), --dry-run (preview). Also has backfill_evidence_ci.py for CI runs and pubmed_enrichment.py for one-shot fills. pubmed_update_log table tracks last_checked_at per hypothesis.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a10f336d-dff7-48db-a53c-080d2d6d932e","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.355936+00:00","summary":"","completion_summary":"Completed PubMed update pipeline integration: ran pipeline for real (20 hypotheses, 73 citations added), added /api/pubmed-pipeline-status API endpoint, added pipeline status card to Forge dashboard, installed and enabled scidex-pubmed-update systemd service for recurring 6h execution.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"79c15149-8e4b-4bc3-84eb-d4b6179e4177","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:08.341569+00:00","summary":"","completion_summary":"Enhanced pubmed_update_pipeline.py with retry logic for 429 errors, daemon mode (--daemon --interval), papers table tracking, and systemd service file. Tested: 3 hypotheses, 13 papers added.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d74da341-e766-4186-b652-27d93a0863fc","title":"[Forge] Fix tool_calls schema mismatch causing logging failures","description":"test patch","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T22:54:52.517994+00:00","updated_at":"2026-04-20T22:54:52.517994+00:00","summary":"","completion_summary":"[Forge] Fix tool_calls schema mismatch in orchestrator logging [task:d74da341-e766-4186-b652-27d93a0863fc]","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/d74da341_e76_spec.md","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ef239c8-35c3-46f0-8ab7-dfe68c741fc2","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T01:45:46.369778+00:00","updated_at":"2026-04-19T01:45:46.369778+00:00","summary":"","completion_summary":"Already addressed: PubMed update pipeline implemented on main via commits 17a034f50 (fix DB locking + monitoring) and 75f3726af (package refactor to scidex/agora/). Pipeline is 647+ lines with systemd timer, API routes, and monitoring script all confirmed on origin/main.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Pipeline confirmed on main at scidex/agora/pubmed_update_pipeline.py (647+ lines). Monitoring script check_pubmed_pipeline_status.py verified working: 682 hypotheses, 408 with updates, 274 never updated. Systemd timer and API routes all present.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"29d37b31-d5f5-4c41-8105-e7a9b9791f61","title":"[Forge] Add featured tool demo section showing real Allen Brain Expression results","description":"Add a 'Featured Tool Demo' section to /forge showing a real executed tool call result for Allen Brain Expression on TREM2, demonstrating the Forge's capability to agents and visitors. Shows input, output, and links to related hypothesis.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:45:38.111253+00:00","updated_at":"2026-04-18T16:45:38.111253+00:00","summary":"","completion_summary":"Already resolved: c6492c854. Task landed on main previously — no code changes needed. Verified HEAD==origin/main, spec updated with verification block.","completion_notes":"Confirmed on origin/main at c6492c854: HEAD == origin/main, no code diff. api.py:47720 has Featured Tool Demos section. Branch is clean — only spec update commit was made. No push needed (same SHA as main).","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/29d37b31_d5f_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\", \"completion_shas\": [\"f950c93c5\"], \"completion_shas_checked_at\": \"2026-04-18T16:45:38.089299+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5a9af159-e2eb-4c55-a513-7a8fab93cdba","title":"[Forge] Reproducible Jupyter notebook: Retromer-stabilizing compounds (R55) for neurodegeneration prevention","description":"Create a reproducible Jupyter notebook for \"Can retromer-stabilizing compounds like R55 prevent neurodegeneration\" — a completed analysis currently without a notebook_path.\n\nSteps:\n1. Find analysis: `SELECT id, title, question FROM analyses WHERE title ILIKE '%retromer%' OR title ILIKE '%R55%'`\n2. Build notebook covering:\n   - Retromer complex biology and VPS35 mutations in PD\n   - R55/pharmacochaperoning mechanism literature review (PubMed search)\n   - Structural data query for VPS35 D620N mutation\n   - Drug-target interaction data via tools.py (dgidb or similar)\n   - Meta-analysis of retromer-targeting compound efficacy studies\n   - 2+ visualizations: protein structure diagram, efficacy comparison chart\n3. Execute fully and save via commit_artifact()\n4. Update analyses.notebook_path\n\nAcceptance criteria:\n- Notebook executes without errors\n- >= 2 figures generated from literature/DB data\n- Cites >= 5 papers specifically about retromer and VPS35 in PD\n- notebook_path updated in analyses table\n- All code cells reproducible from public data sources","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"40","started_at":"2026-04-28T04:46:29.811684+00:00","completed_at":"","updated_at":"2026-04-28T04:46:49.354099+00:00","summary":"","completion_summary":"","completion_notes":"Changed files:\n- docs/planning/specs/5a9af159_retromer_r55_notebook_spec.md\n- site/notebooks/SDA-2026-04-26-gap-pubmed-20260411-073255-6a58fb27.ipynb\n\nDiff stat:\n.../specs/5a9af159_retromer_r55_notebook_spec.md   |   60 +\n ...04-26-gap-pubmed-20260411-073255-6a58fb27.ipynb | 1230 ++++++++++++++++++++\n 2 files changed, 1290 insertions(+)","last_error":"Review gate REVISE attempt 2/10: Auto-deploy blocked: checkout main failed: fatal: this operation must be run in a work tree","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_gate_retry_count\": 2, \"_gate_last_decision\": \"REVISE\", \"_gate_last_reason\": \"Auto-deploy blocked: checkout main failed: fatal: this operation must be run in a work tree\", \"_gate_branch\": \"orchestra/task/5a9af159-reproducible-jupyter-notebook-retromer-s\", \"_gate_changed_files\": [\"docs/planning/specs/5a9af159_retromer_r55_notebook_spec.md\", \"site/notebooks/SDA-2026-04-26-gap-pubmed-20260411-073255-6a58fb27.ipynb\"], \"_gate_diff_stat\": \".../specs/5a9af159_retromer_r55_notebook_spec.md   |   60 +\\n ...04-26-gap-pubmed-20260411-073255-6a58fb27.ipynb | 1230 ++++++++++++++++++++\\n 2 files changed, 1290 insertions(+)\", \"_gate_history\": [{\"ts\": \"2026-04-28 04:30:14\", \"decision\": \"REVISE\", \"reason\": \"Auto-deploy blocked: checkout main failed: fatal: this operation must be run in a work tree\", \"instructions\": \"\", \"judge_used\": \"\", \"actor\": \"claude-auto:40\", \"retry_count\": 1}, {\"ts\": \"2026-04-28 04:38:30\", \"decision\": \"REVISE\", \"reason\": \"Auto-deploy blocked: checkout main failed: fatal: this operation must be run in a work tree\", \"instructions\": \"\", \"judge_used\": \"\", \"actor\": \"claude-auto:40\", \"retry_count\": 2}], \"completion_shas\": [\"cd0e6d7c1a55aeddcb3e8672c081e068f085353e\", \"6d18cc3822285985778b736170dfb4f818c9d66b\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified: 470KB notebook file exists with 2 PNG figures embedded, DB row has notebook_path set, 9 PMIDs for retromer/VPS35 papers cited.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b6e6850-d059-44c9-a97d-85a9cbf52b7a","title":"[Forge] Metabolic pathway flux pipeline - gene KO to COBRApy FBA/FVA to flux-shift artifact","description":"Composes cobrapy + Recon3D + E-Flux scaling into FBA/FVA flux-shift artifacts with Escher maps.","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:05:49.755682+00:00","updated_at":"2026-04-27T22:05:49.755682+00:00","summary":"","completion_summary":"[Forge] Update pathway-flux spec: work log + checked items [task:7b6e6850-d059-44c9-a97d-85a9cbf52b7a]; [Forge] Metabolic pathway flux pipeline — cobrapy FBA/FVA + flux-shift artifact","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-pathway-flux-modeling_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f79e231a-1dcb-4716-8df0-b3e1be3f7df7","title":"[Forge] Skill bundle auto-discovery - register new SKILL.md without redeploy","description":"Inotify+timer watchdog detects new/drifted/removed bundles, validates frontmatter, hot-reloads registry.","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T14:14:19.058620+00:00","updated_at":"2026-04-27T14:14:19.058620+00:00","summary":"","completion_summary":"[Forge] skill-autoregister: update work log + check off acceptance criteria; [Forge] Skill bundle auto-discovery — register new SKILL.md without redeploy","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-skills-bundle-auto-discovery_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b725f6db-f4e9-43c5-9bc4-b087df474165","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"1380 papers in the SciDEX database lack abstracts. This batch targets 30 more. Select papers from PostgreSQL (dbname=scidex user=scidex_app host=localhost) WHERE abstract IS NULL OR LENGTH(abstract) < 10, ordered by citation_count DESC, LIMIT 30. For each paper, fetch the abstract from PubMed using the PMID or title search. Update the papers table with the retrieved abstract. Verification: SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR LENGTH(abstract) < 10 should decrease by at least 20 compared to before the run.","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T15:36:48.860087+00:00","updated_at":"2026-04-26T15:36:48.860087+00:00","summary":"","completion_summary":"Merged task branch into main","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"1f2be9ec7\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"DB count verified: SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR LENGTH(abstract) < 10 → 1203 (was 1380 at task start). 79 numeric-PMID papers remain in backlog for future runs. All acceptance criteria met: real abstracts from PubMed, no-abstract papers skipped with notes, before/after counts recorded.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ee8c5ad-6bc9-4aec-8914-fd1fe0fea815","title":"[Forge] Add PubMed abstracts to 50 papers missing them","description":"1,625 papers in the SciDEX papers table are missing abstracts (abstract IS NULL or length < 10). For each of 50 selected high-citation papers, fetch the abstract from PubMed (using pmid or doi), update the papers.abstract column, and log the update. Prioritize papers cited by hypotheses or analyses.\n\nVerification:\n- 50 papers have non-null, non-empty abstract (>50 chars)\n- Before/after count of papers_no_abstract decreases by 50\n- No papers_abstract field corrupted\n\nUse: psql dbname=scidex user=scidex_app host=localhost; PubMed E-utilities API; db_writes.py for journaled writes.","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T12:29:01.071157+00:00","updated_at":"2026-04-26T12:29:01.071157+00:00","summary":"","completion_summary":"[Forge] Backfill PubMed abstracts for 79 papers (2 runs × 50); LIMIT 40→50 [task:5ee8c5ad-6bc9-4aec-8914-fd1fe0fea815]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"443624b0-ecd9-4e63-b81a-d94ff560f6f9","title":"[Forge] Skill scaffolder - scidex new-skill <name> from one signature","description":"Generate a typed @log_tool_call-wired tool, registry seed, smoke test, and manifest entry from one declaration.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:05:56.093643+00:00","updated_at":"2026-04-27T23:05:56.093643+00:00","summary":"","completion_summary":"The task has been successfully completed. The skill scaffolder branch was squash-merged to main as commit `3affa7b3a` (PR #859). The rebase I performed resolved the stale-base conflict that was blocking the merge gate, and the supervisor auto-merged it.","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-devx-skill-scaffolder_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"The task has been successfully completed. The skill scaffolder branch was squash-merged to main as commit `3affa7b3a` (PR #859). The rebase I performed resolved the stale-base conflict that was blocking the merge gate, and the supervisor auto-merged it.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9eb3509d-1df2-4d2b-a191-f2c32b7bc2ff","title":"[Forge] Immune repertoire pipeline - TCR/BCR FASTQ to MiXCR clones to epitope-link artifact","description":"MiXCR clonotyping + diversity metrics + IEDB epitope-matching into a clonotype-to-epitope linkage artifact.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:01:45.277203+00:00","updated_at":"2026-04-27T23:01:45.277203+00:00","summary":"","completion_summary":"[Forge] Immune repertoire pipeline: MiXCR clonotypes + diversity metrics + IEDB epitope linking [task:9eb3509d-1df2-4d2b-a191-f2c32b7bc2ff]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-tool-immune-repertoire-pipeline_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"32e8e88e-fa28-4a68-b3f1-b16d7a78a01e","title":"[Forge] Export-as-LaTeX for hypotheses, briefs, and analyses","description":"Tarball export with venue templates + figures + BibTeX bib + Makefile; Overleaf deep link; uses venue-templates+scientific-writing skills.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:01:09.998440+00:00","updated_at":"2026-04-27T23:01:09.998440+00:00","summary":"","completion_summary":"[Forge] Export-as-LaTeX for hypotheses, briefs, and analyses [task:32e8e88e-fa28-4a68-b3f1-b16d7a78a01e]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-integ-export-as-latex_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f40ef49c-407c-4c27-adeb-dd19528fe39f","title":"[Skills] Persona generator from YAML template","description":"scidex new-persona renders AGENTS.md+SKILL.md+registry row from a single YAML conforming to JSON Schema.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:44:57.664423+00:00","updated_at":"2026-04-27T22:44:57.664423+00:00","summary":"","completion_summary":"[Skills] Persona generator from YAML template [task:f40ef49c-407c-4c27-adeb-dd19528fe39f]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-devx-persona-generator_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"210b201d-7efc-4ca0-8f51-17c63821863c","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"1,160 papers in the database lack abstracts. Fetch abstracts for 30 papers using PubMed API (papers with valid pmid). Update papers.abstract field. For papers without PMIDs, use DOI lookup via Semantic Scholar. Accept: 30 papers have non-null abstract with >50 characters, verified with SELECT COUNT(*) FROM papers WHERE abstract IS NOT NULL AND length(abstract) > 50.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T21:24:32.677475+00:00","updated_at":"2026-04-26T21:24:32.677475+00:00","summary":"","completion_summary":"[Forge] Add PubMed abstract fetch script with DOI fallback [task:210b201d-7efc-4ca0-8f51-17c63821863c]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"frg-mb-02-BIOP","title":"[Forge] Biophysical model template: ODEs, parameter fitting, sensitivity analysis","description":"Create a reusable biophysical model template that analyses can invoke. Template includes: ODE system definition (species, reactions, rate constants), parameter fitting against tabular dataset, sensitivity analysis (which parameters most affect output), and result visualization. Output is a versioned model artifact with fitted parameters. Use scipy.integrate for ODEs and scipy.optimize for fitting. Depends on: frg-mb-01-ANLX.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:37:02.778051+00:00","updated_at":"2026-04-26T04:37:02.778051+00:00","summary":"","completion_summary":"[Forge] Biophysical model template: remove retired sqlite3 import; update work log [task:frg-mb-02-BIOP]","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/frg-mb-02-BIOP_biophysical_model_template_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"36398af1-dd28-4004-b938-18635935465a","title":"[Forge] Analysis capsule: CSF p-tau217 normalization as surrogate endpoint — connect to biomarker literature and statistical validation","description":"Create a comprehensive analysis capsule for \"Can CSF p-tau217 normalization serve as a reliable surrogate endpoint\" — one of the completed analyses without notebook_path.\n\nSteps:\n1. Find the analysis: `SELECT id, title, question FROM analyses WHERE title ILIKE '%p-tau217%' OR title ILIKE '%tau217%'`\n2. Build notebook covering:\n   - Current state of CSF p-tau217 as a biomarker (search recent ADNI, DIAN, A4 trial papers)\n   - Statistical validation criteria: sensitivity, specificity, AUC comparison vs amyloid PET\n   - Clinical threshold analysis: what normalization values correlate with cognitive outcomes\n   - Longitudinal data from published cohort studies (fetch from paper_cache)\n   - Statistical power analysis: what N needed to validate as a surrogate endpoint\n   - 2+ figures: ROC curve visualization, biomarker trajectory plots\n3. Execute and commit artifact\n4. Update notebook_path in analyses table\n\nAcceptance criteria:\n- Notebook executes cleanly\n- Statistical analysis section with >= 2 quantitative comparisons\n- Cites >= 8 clinical papers (ADNI, DIAN, or similar cohort studies)\n- notebook_path updated for this analysis record","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:58:00.631321+00:00","updated_at":"2026-04-28T05:58:00.631321+00:00","summary":"","completion_summary":"[Forge] Analysis capsule: CSF p-tau217 normalization as surrogate endpoint [task:36398af1-dd28-4004-b938-18635935465a]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Analysis capsule: CSF p-tau217 normalization as surrogate endpoint [task:36398af1-dd28-4004-b938-18635935465a]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"910e9bc2-ca26-4a20-bfd2-d1678ae4fe23","title":"[Forge] DNA methylation analysis: reproducible notebook for \"Are DNA methylation changes in neurodegeneration causal drivers or adaptive responses\"","description":"Create a reproducible Jupyter notebook for the completed analysis \"Are DNA methylation changes in neurodegeneration causal drivers or adaptive responses\" — currently without a notebook_path.\n\nSteps:\n1. Find analysis: `SELECT id, title, question FROM analyses WHERE title ILIKE '%DNA methylation%' AND status='completed'`\n2. Build notebook covering:\n   - Overview of DNA methylation changes in PD, AD, ALS (epigenome-wide association studies)\n   - Analysis of published datasets: differential methylation in affected vs. control brain regions\n   - Methods: pydeseq2-style differential analysis approach for methylation data\n   - Key finding: evidence for vs. against causal role (compare with genetic variant analyses)\n   - Statistical assessment: correlation between methylation changes and disease progression\n   - 2+ visualizations: Manhattan-style methylation plot, volcano plot of differentially methylated sites\n3. Execute fully\n4. Commit artifact and update analyses.notebook_path\n\nAcceptance criteria:\n- Notebook executes without errors\n- 2+ figures with real data\n- Cites >= 6 EWAS papers in neurodegeneration\n- notebook_path updated in analyses table\n- Output size >= 50KB","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:51:48.991201+00:00","updated_at":"2026-04-28T05:51:48.991201+00:00","summary":"","completion_summary":"[Forge] DNA methylation notebook: causal drivers vs adaptive responses in neurodegeneration [task:910e9bc2-ca26-4a20-bfd2-d1678ae4fe23]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c895cf8c-cb00-4dd4-a2a7-5968d3b3595f","title":"[Forge] Link 20 hypotheses to supporting PubMed papers","description":"Gap: 1112 hypotheses have no rows in hypothesis_papers (no evidence links). Query 20: SELECT h.id, h.title FROM hypotheses h WHERE NOT EXISTS (SELECT 1 FROM hypothesis_papers hp WHERE hp.hypothesis_id=h.id) LIMIT 20. For each, search PubMed/Semantic Scholar for 2-4 supporting papers, create hypothesis_papers rows. Prefer papers already in the papers table by pmid/doi match. Acceptance: 15+ hypotheses get 2+ paper links.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:21:07.985073+00:00","updated_at":"2026-04-27T23:21:07.985073+00:00","summary":"","completion_summary":"[Forge] Link 20 hypotheses to supporting PubMed papers [task:c895cf8c-cb00-4dd4-a2a7-5968d3b3595f]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a28e4552-5ccc-4ed9-b92b-45b39c961089","title":"[Forge] Score quality for 12 datasets missing quality ratings","description":"Gap: 12 datasets have quality_score IS NULL. Query: SELECT id, name, description, created_at FROM datasets WHERE quality_score IS NULL. All 12 fit in one task. For each dataset: evaluate on completeness (columns, rows, missing values), freshness (created_at), provenance (source_url, license), and relevance to neurodegeneration research. Write quality_score (0-1) and quality_notes. Acceptance: all 12 datasets have quality_score set.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:31:05.976456+00:00","updated_at":"2026-04-27T07:31:05.976456+00:00","summary":"","completion_summary":"All 12 datasets now have quality scores set. The task was a pure DB write — no repo files were modified, so no commit was needed.","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Scored quality_score for all 12 datasets with NULL quality_score. Scores range 0.52-0.82 based on completeness (schema_json absent on all — main deduction), freshness (all 2026-04-26), provenance (license restrictions vary), and neurodegeneration relevance. 0 datasets now have NULL quality_score (53/53 scored total). No repo file changes — DB write only.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d7aa721a-2e65-48bb-b864-d2d7e7c1346a","title":"[Forge] Triage 30 failed tool calls by skill and fix top 3 root causes","description":"The tool_calls table contains failed invocations that reveal bugs in skills. Fixing root causes improves the quality of all downstream tasks that depend on those skills.\n\n1. Query recent failed tool calls: SELECT tool_name, error_message, COUNT(*) as failures FROM tool_calls WHERE success=false AND created_at > NOW() - INTERVAL '7 days' GROUP BY tool_name, error_message ORDER BY failures DESC LIMIT 30\n2. Identify the top 3 error patterns (by frequency or impact)\n3. For each pattern, trace to the skill implementation in tools.py and fix the bug\n4. Verify the fix with a test invocation\n\nVerification:\n- Top 3 failure patterns documented with root cause\n- At least 1 code fix committed to tools.py or related skill file\n- Before/after failure count for fixed skills reported\n\nUse PostgreSQL (dbname=scidex user=scidex_app). Read tools.py for skill implementations. Follow AGENTS.md critical file rules — tools.py is protected; name it in the commit message.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:28:38.768143+00:00","updated_at":"2026-04-26T23:28:38.768143+00:00","summary":"","completion_summary":"[Forge] Fix msigdb_gene_sets max_results kwarg alias [task:d7aa721a-2e65-48bb-b864-d2d7e7c1346a]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2bf901fa-5dff-4ab8-928d-f8eb8d4c6e98","title":"[Forge] Add PubMed abstracts to 25 papers with short abstracts under 100 chars","description":"Some papers have abstracts that are too short to be useful (under 100 characters). Query 25 papers with 10 <= length(abstract) < 100. For each: fetch the full abstract from PubMed using the paper's pmid, replace the truncated abstract with the complete version. Also fill in any missing journal, year, author fields. Accept: 25 papers have abstract length > 100 characters, verified by SELECT COUNT(*) WHERE length(abstract) BETWEEN 10 AND 100.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:55:32.366593+00:00","updated_at":"2026-04-26T20:55:32.366593+00:00","summary":"","completion_summary":"[Forge] Update work log for short abstract backfill task [task:2bf901fa-5dff-4ab8-928d-f8eb8d4c6e98]; [Forge] Backfill PubMed abstracts for papers with short abstracts 10-99 chars [task:2bf901fa-5dff-4ab8-928d-f8eb8d4c6e98]","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\": [\"d1fc3851a\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"DB updated: 19 additional numeric-PMID short abstracts replaced from PubMed efetch; short abstract count is now 124 and the 19 updated rows all have abstract length >100 plus journal/year/authors. Git commit blocked by read-only worktree gitdir.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2e9cdd0f-b8df-4838-92c6-ac484036f86b","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"1,180 papers in the SciDEX DB are missing abstracts (abstract IS NULL or LENGTH(abstract) < 10). Fetch PubMed abstracts for 30 of these papers using the PubMed API.\n\nSteps:\n1. Query papers missing abstracts: `SELECT paper_id, pmid, title FROM papers WHERE (abstract IS NULL OR LENGTH(abstract) < 10) AND pmid IS NOT NULL ORDER BY citation_count DESC NULLS LAST LIMIT 30`\n2. For each PMID, call PubMed E-utilities to fetch the abstract\n3. Update the papers table: `UPDATE papers SET abstract = %s WHERE paper_id = %s`\n4. Log how many were successfully updated\n\nSuccess criteria: At least 20 papers get their abstract populated (some PMIDs may not have abstracts in PubMed). Verify with a count query before and after.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T16:42:49.376938+00:00","updated_at":"2026-04-26T16:42:49.376938+00:00","summary":"","completion_summary":"No-op — task already done by prior agent run. The backfill_abstracts.py script was executed, fetching and updating PubMed abstracts for 50 papers (exceeding the 20-paper requirement). Papers missing abstracts dropped from 1213 to 1163. The script was already present on main at commit 16b7f064f.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"94541463-ff2c-4d36-bb28-0030f9827da3","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"24886 papers in SciDEX lack structured claims extraction. Select 30 papers WHERE claims_extracted = 0 OR claims_json IS NULL, ordered by citation_count DESC. For each paper, read its abstract and use an LLM to extract 3-5 structured scientific claims with confidence scores, evidence type (experimental/observational/review), and relation to neurodegeneration. Store results in papers.claims_json and set claims_extracted=1. Verification: SELECT COUNT(*) FROM papers WHERE claims_extracted = 1 should increase by at least 20.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T16:21:42.160690+00:00","updated_at":"2026-04-26T16:21:42.160690+00:00","summary":"","completion_summary":"Branch pushed successfully. The work is complete:","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_claim_extraction_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Branch pushed successfully. The work is complete:","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9f07fe91-ded3-468a-9c18-64b00fa48c8d","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"1,203 papers in the SciDEX database lack abstracts (abstract IS NULL or length < 10 chars). Without abstracts, papers cannot be used for evidence synthesis or citation quality checks.\n\nFor 30 papers with abstract IS NULL or length(abstract) < 10:\n1. Fetch abstract via PubMed E-utilities using the paper's PMID (or DOI lookup)\n2. Store the abstract in the papers table\n3. Update updated_at timestamp\n\nAcceptance: 30 papers gain non-empty abstract fields (length >= 100 chars). Verified by SELECT COUNT(*) before/after.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T16:09:34.057042+00:00","updated_at":"2026-04-26T16:09:34.057042+00:00","summary":"","completion_summary":"[Forge] Add PubMed abstracts to 30 papers missing them — spec work log [task:9f07fe91-ded3-468a-9c18-64b00fa48c8d]; [Forge] Add PubMed abstracts to 30 papers missing them — process all numeric-PMID papers, not just high-citation [task:9f07fe91-ded3-468a-9c18-64b00fa48c8d]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"476121dc-7416-437b-a210-c6d0360c009f","title":"[Forge] Tool registry + call logging tables","description":"F3.1: Populate the skills table (0 rows) with entries for every function in tools.py. Create tool_calls table (skill_id, analysis_id, input_json, output_json, duration_ms, status, created_at).\n\nAcceptance: skills table has ~15 rows. tool_calls table exists and is ready for logging.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:42:23.508735+00:00","updated_at":"2026-04-26T04:42:23.508735+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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/476121dc_741_tool_registry_call_l_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: skills registry and tool_calls logging are present and active; verified via scidex.core.database against current DB.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"frg-mb-03-DL01","title":"[Forge] Deep learning model template: training pipeline, evaluation, checkpointing","description":"Create a DL model template for analyses: define architecture spec (layers, activations), training loop with checkpointing, evaluation metrics (loss, accuracy, domain-specific), and artifact registration on completion. Each checkpoint is a versioned model artifact. Support common frameworks (PyTorch preferred). Template handles: data loading from registered datasets, train/val split, early stopping, metric logging. Depends on: frg-mb-01-ANLX.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:20:36.819669+00:00","updated_at":"2026-04-26T04:20:36.819669+00:00","summary":"","completion_summary":"[Forge] Add deep learning model template pipeline [task:frg-mb-03-DL01]","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/frg-mb-03-DL01_deep_learning_template_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2a92253c-7da7-4601-bb5e-934bf85ab36a","title":"[Forge] Implement missing /forge dashboard route","description":"Task 6f47b2f3 was marked done but /forge returns 404. Need to implement GET /forge showing: tool registry from skills table with usage counts, recent tool executions, tool health status. Query skills table for real data, display 9 production tools.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T02:10:20.167078+00:00","updated_at":"2026-04-26T02:10:20.167078+00:00","summary":"","completion_summary":"Already resolved: /forge route exists at api.py:51089, returns HTTP 200 with full tool dashboard. Added in commit af3338f2d (task Q-PANTH-59). All acceptance criteria verified: tool registry from skills table, usage counts, performance scores, Forge nav highlighted, existing HTML patterns followed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2a92253c_7da_spec.md","provider":"claude","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: /forge route exists at api.py:51089, returns HTTP 200 with full tool dashboard. Added in commit af3338f2d (task Q-PANTH-59). All acceptance criteria verified: tool registry from skills table, usage counts, performance scores, Forge nav highlighted, existing HTML patterns followed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e426b6e5-5a91-42a7-ae5d-76ce5c80abfa","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Duplicate check","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T05:40:57.232854+00:00","updated_at":"2026-04-23T05:40:57.232854+00:00","summary":"","completion_summary":"Already resolved: duplicate of 66bd4bd4, fix landed in d87d0c33d","completion_notes":"Task e426b6e5 is a duplicate of 66bd4bd4. The prior task already fixed all acceptance criteria: argument aliases for 9+ tools (pubmed_search, research_topic, semantic_scholar_search, search_trials, open_targets_associations, kegg_pathways, alphafold_structure, chembl_drug_targets, string_enrichment, methbase_disease_methylation), plus code-health triage report and before/after counts. Live smoke tests confirm all tools work correctly. Branch is current with main 678bcf628. Verification commit f1213f243 added.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1adbc7e6-391d-412e-9941-9f654107b262","title":"[Forge] Register 10 new scientific tools missing from the tools.py registry","description":"The SciDEX Forge has 58+ tools, but new scientific APIs and databases relevant to neurodegeneration research aren't yet integrated. Adding tools expands debate engine capabilities.\n\n## Steps\n1. Identify 3-5 high-value APIs not yet in tools.py:\n   - **OpenTargets**: disease-target associations for neurodegeneration\n   - **ChEMBL**: drug-target interaction data\n   - **STRING DB**: protein-protein interaction networks\n   - **BioGRID**: protein interaction data\n   - **ClinVar**: genetic variant-disease associations\n2. For each new tool, implement in tools.py using the existing @log_tool_call pattern:\n   ```python\n   @log_tool_call\n   def opentargets_search(query: str, disease=\"neurodegeneration\", max_results=10):\n       ...\n   ```\n3. Add input validation and error handling matching existing tools\n4. Test each tool with a query like `search(\"LRRK2\")`\n5. Verify: existing tests pass, new tools return real data\n\n## Acceptance Criteria\n- [ ] >= 3 new tools added to tools.py\n- [ ] Each tool follows @log_tool_call pattern\n- [ ] Each tool tested with a sample query returning real data\n- [ ] Changes committed and pushed\n\n## Constraints\n- Do NOT modify existing tools — only add new ones\n- api.py must not be touched unless only adding tool registration","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T05:06:27.051708+00:00","updated_at":"2026-04-23T05:06:27.051708+00:00","summary":"","completion_summary":"[Forge] Add opentargets_search, hpo_phenotypes, gene_ontology_annotations tools — Monarch-backed HPO API fixes [task:1adbc7e6-391d-412e-9941-9f654107b262]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"843ac99c-0ba3-4ac1-974c-75da0de6184d","title":"[Forge] Add tool usage analytics dashboard with charts and performance metrics","description":"Add analytics section to /forge page: tool call timeline chart, success/error rates, avg latency per tool, top tools by usage, recent tool calls feed. Makes Forge look like a real production system for 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":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:27:02.594061+00:00","updated_at":"2026-04-19T04:27:02.594061+00:00","summary":"","completion_summary":"[Forge] Update spec work log: rebase onto latest main, fix pre-push hook issue [task:843ac99c-0ba3-4ac1-974c-75da0de6184d]; [Forge] Fix forge_analytics SQL compatibility in api.py for SQLite and PostgreSQL","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/843ac99c_0ba_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"0ac3c3dc7\"], \"completion_shas_checked_at\": \"2026-04-16T20:39:12.754797+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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dc3a3534-fa32-4d44-9e9e-96a8205f0031","title":"[Forge] Diagnose top 5 failing scientific tool integrations and document fixes","description":"Query tool_calls table for the 5 skill_ids with the highest failure rate (status='failed') in the last 14 days. For each failing tool: (1) read the error_message patterns across all failures; (2) identify root cause (API change, schema mismatch, timeout, auth); (3) implement a fix or workaround in the tool code; (4) write a test call to verify the fix works; (5) update the skills table with fix notes. Document all findings in a work log. Restoring failed tools directly increases the capabilities of all agents.","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:47:18.048586+00:00","updated_at":"2026-04-27T23:47:18.048586+00:00","summary":"","completion_summary":"[Forge] Fix 9 parameter-name bugs in failing tool integrations + critical NameError [task:dc3a3534-fa32-4d44-9e9e-96a8205f0031]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"frg-mb-04-MREG","title":"[Forge] Model registry integration: link models to artifact versioning system","description":"Blocked: model-registry implementation is still needed and targeted verification passes, but this Codex sandbox mounts /home/ubuntu/scidex/.git/worktrees/task-frg-mb-04-MREG read-only. Verified by touch/index.lock failure and git commands failing with read-only filesystem, which prevents restore/rebase/add/commit/push. Spec work log updated with evidence at 2026-04-26 07:29 PT.","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:28:36.473163+00:00","updated_at":"2026-04-27T23:28:36.473163+00:00","summary":"","completion_summary":"[Forge] Add api.py model registry catalog and compare view [task:frg-mb-04-MREG]","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/frg-mb-04-MREG_model_registry_integration_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"fail","verification_notes":"Blocked: task implementation remains valid and targeted model-registry tests pass, but this sandbox cannot write /home/ubuntu/scidex/.git/worktrees/task-frg-mb-04-MREG/index.lock (read-only filesystem). That prevents git restore/rebase/add/commit/push, so the branch cannot be cleaned or shipped from this session.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3cef3d61-20cc-43f5-9f68-8202f4a1e5c7","title":"[Forge] Triage 50 failed tool calls by skill and root cause","description":"Check skills table for any with recent failures. Query skill execution logs or any available error tracking for failed tool invocations in the last 48h. Group failures by skill_type and error class. For the top 3 error patterns: document the root cause, identify whether it is a data issue or code issue, and either fix or file a follow-up task. Accept: failure analysis documented in spec work log, at least 1 error pattern resolved or mitigated.","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T21:25:33.268906+00:00","updated_at":"2026-04-26T21:25:33.268906+00:00","summary":"","completion_summary":"Triaged 32 failed tool calls from the last 48h across 23 error patterns. All but one were already resolved by prior commits from tasks 7008b540 and dd1d8112 (kwarg alias gaps, missing positional args, DB transaction abort in paper_figures). Fixed the one remaining open error — `pubchem_compound() got unexpected kwarg 'search_type'` (occurred at 14:18 PDT after all prior fixes) — by adding `search_type=None` with CID-search support, and removed the dead first duplicate definition that had been sh","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":"{\"completion_shas\": [\"ff405aa87\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified already resolved on main: live DB has 32 failed tool_calls in the last 48h, all before 2026-04-26 14:10:53Z/PDT fix window; zero errors after 2026-04-26 14:14:00Z. Smoke checks for top patterns pass.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"df6f5e45-b68b-4343-80c3-f9336b8e4d70","title":"[Forge] Render 10 notebooks missing HTML outputs","description":"Blocked: None of the 10 notebooks have source .ipynb files on disk in the main branch. 7 have no file_path/ipynb_path at all. 3 (nb-SDA-2026-04-10-gap-20260410-090500, 091107, 091440) had files that existed only in a worktree (task-73ee83a5) that were added to git but never merged to main — the files do not exist in origin/main. The remaining 5 gap-debate and 2 test entries also have no source files. Cannot render HTML from non-existent sources.","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:40:52.786658+00:00","updated_at":"2026-04-26T20:40:52.786658+00:00","summary":"","completion_summary":"Completed. The task was blocked — none of the 10 notebooks have source `.ipynb` files on `origin/main`:","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"verified blocked: all 10 notebooks missing source .ipynb files on origin/main — 3 old entries (files in unmerged task-73ee83a5 worktree), 7 entries with no file paths ever recorded. No work to do.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1fb699c8-8c76-478e-b08c-2472a99256d1","title":"[Forge] Extract key claims from 30 papers missing structured claim data","description":"Many cited papers have abstracts but no structured claim extraction (paper_claims table). Structured claims enable automated hypothesis scoring, contradiction detection, and evidence synthesis.\n\nVerification:\n- 30 papers gain paper_claims rows with claim text, claim type, confidence, and supporting evidence\n- Each claim is categorized: mechanistic, observational, therapeutic, statistical, methodological\n- paper_claims table populated in PostgreSQL\n- Claims are specific and verifiable (not vague summaries)\n\nQuery: SELECT id, pmid, title, abstract FROM papers WHERE id NOT IN (SELECT paper_id FROM paper_claims) AND abstract IS NOT NULL AND length(abstract) > 100 ORDER BY citations_count DESC LIMIT 30. Extract 2-5 key claims per paper from abstract text. Categorize and insert into paper_claims table. Verify counts.","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T02:12:24.827020+00:00","updated_at":"2026-04-23T02:12:24.827020+00:00","summary":"","completion_summary":"Extracted 148 claims from 30 papers, populating paper_claims table. Final count: 429 claims across 74 papers. All 30 target papers now have structured claims with valid types, subjects, relations, objects, and supporting text.","completion_notes":"Extracted 148 claims (128 initial + 20 retry) from 30 papers. All 30 papers now have paper_claims rows. Final: 429 total claims across 74 papers. Claim types: mechanistic(162), causal(56), therapeutic(54), correlative(33), associative(30), expression(25), pathway(21), diagnostic(15), genetic(14), risk_factor(6), other(6), prognostic(4), cellular(3). No code changes - data population only.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bab9e5af-67ca-4f13-a184-fce52726af59","title":"[Forge] Tool coverage audit: test 10 pharmacology and genomics tools in tools.py and document reproducibility status","description":"Audit the reproducibility and correctness of 10 pharmacology and genomics tools in tools.py, documenting which work end-to-end and which need repair.\n\nSteps:\n1. List relevant tools from tools.py: grep for pharmacology, drug, genomics, protein-related functions\n2. Select 10 tools from: chembl_drug_lookup, dgidb_interactions, pubchem_compound, uniprot_query, pathway_enrichment, gwas_lookup, clinvar_query, gnomad_query, reactome_pathway, string_ppi\n3. For each tool, run a standard test call with a known input (e.g., LRRK2 gene, dasatinib compound)\n4. Check: does it return results? Are results scientifically sensible? Is latency acceptable?\n5. Document status for each: PASS / FAIL / DEGRADED\n6. For any FAIL: diagnose the root cause and fix if possible (API key issue, parsing bug, timeout)\n\nAcceptance criteria:\n- 10 tools tested with standard inputs\n- Status documented for each (PASS/FAIL/DEGRADED)\n- At least 7 tools returning correct results\n- Any FAIL with fixable cause is fixed\n- Results logged in the task completion summary","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:59:05.250901+00:00","updated_at":"2026-04-28T05:59:05.250901+00:00","summary":"","completion_summary":"[Forge] Tool coverage audit: 10 pharmacology/genomics tools pass; fix chembl_compound_search ATC parsing [task:bab9e5af-67ca-4f13-a184-fce52726af59]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Tool coverage audit: 10 pharmacology/genomics tools pass; fix chembl_compound_search ATC parsing [task:bab9e5af-67ca-4f13-a184-fce52726af59]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1a2db31e-dcf4-4f9c-8d7d-26c13e406c61","title":"[Forge] Benchmark latency and output quality for 10 high-frequency scientific API tools","description":"Identify the 10 skills most frequently called in the last 30 days from tool_calls. For each: (1) run a representative test call with a standard neurodegeneration query; (2) measure response latency in ms; (3) score output completeness and accuracy (0–1) against a known reference; (4) compare against prior benchmark if one exists in tool_health_log; (5) INSERT a new row into tool_health_log with results. Flag tools with latency > 5s or quality < 0.7 for optimization. This establishes a baseline performance register.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T01:03:26.943523+00:00","updated_at":"2026-04-28T01:03:26.943523+00:00","summary":"","completion_summary":"[Forge] Benchmark top-10 tools: latency+quality baseline in tool_health_log [task:1a2db31e-dcf4-4f9c-8d7d-26c13e406c61]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"44e852d5-71db-4d3c-b3ae-c8fafdf60765","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Cannot complete: Pool exhausted. Prior task 43ae5851 cleared all retrievable PubMed/CrossRef/OpenAlex abstracts from the target papers. 15 numeric-PMID papers return no abstract (poems, editorials, short-form); 50 DOI-only papers have no abstract from any provider (CS/ML books, philosophy texts, consciousness reviews). Zero papers could be updated out of 30 targeted. Remaining 1,103 papers are genuine no-abstract content types. Closing as blocked/infeasible.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:53:20.213233+00:00","updated_at":"2026-04-27T23:53:20.213233+00:00","summary":"","completion_summary":"[Forge] Work log: 5 more abstracts backfilled; numeric-PMID pool exhausted [task:44e852d5-71db-4d3c-b3ae-c8fafdf60765]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f5908d0f-7a91-499f-8224-e741cfd78ef5","title":"[Forge] Scan 30 recent skill execution logs for timeout and schema error patterns","description":"Select 30 most recent tool_invocations rows where success=false. For each: (1) parse error_message to categorize into: timeout / schema_mismatch / auth_failure / rate_limit / upstream_api_change / unknown; (2) group by category and skill_id; (3) identify the single most impactful fix (highest failure count × impact per fix); (4) create a prioritized fix list as a formatted report. INSERT summary into tool_health_log. This surfaces systemic issues in the tool layer that block scientific analysis pipelines.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:37:25.992873+00:00","updated_at":"2026-04-27T07:37:25.992873+00:00","summary":"","completion_summary":"[Forge] Scan 30 recent skill execution logs; insert health summary [task:f5908d0f-7a91-499f-8224-e741cfd78ef5]","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\": [\"b6a2ca1cb467058fb2ed1b1f4da367b4384c754a\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60baabb5-48c5-4c44-b7e9-2dd698ec04a2","title":"[Forge] Run health checks on 20 notebooks missing reproducibility records","description":"Gap: 557 notebooks have no rows in notebook_health. Query: SELECT n.id, n.title, n.slug FROM notebooks n WHERE NOT EXISTS (SELECT 1 FROM notebook_health nh WHERE nh.notebook_id=n.id) LIMIT 20. For each notebook: check if code cells execute without errors, record pass/fail status in notebook_health, flag cells with broken imports or missing data dependencies. Acceptance: 20 notebook_health rows created with reproducibility_status set.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:47:49.355332+00:00","updated_at":"2026-04-27T06:47:49.355332+00:00","summary":"","completion_summary":"[Forge] Run health checks on 20 notebooks; add reproducibility_status column [task:60baabb5-48c5-4c44-b7e9-2dd698ec04a2]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Run health checks on 20 notebooks; add reproducibility_status column [task:60baabb5-48c5-4c44-b7e9-2dd698ec04a2]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"610a8b3c-3068-48a1-a9b0-f76c91ef4710","title":"[Forge] Score 20 registered skills by test coverage and error rate","description":"","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:33:54.706652+00:00","updated_at":"2026-04-27T06:33:54.706652+00:00","summary":"","completion_summary":"[Forge] Score 20 registered skills by test coverage and error rate [task:610a8b3c-3068-48a1-a9b0-f76c91ef4710]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8cbd7342-f834-4aca-8735-3309b46c8f64","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Notebooks in the notebooks table with rendered_html IS NULL have never been executed. For 25 notebooks (ORDER BY created_at DESC), attempt to execute via nbconvert --execute --to html, capture output, save to notebooks.rendered_html. Flag notebooks with execution errors to notebook_health table.\\n\\nVerification:\\n- 25 notebooks processed: each has rendered_html OR a notebook_health error entry\\n- No notebook causes the scidex-api service to crash\\n- Successfully rendered notebooks are accessible at /notebooks/{id}","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:17:02.568432+00:00","updated_at":"2026-04-27T00:30:00.705529+00:00","summary":"","completion_summary":"[Forge] Render 4 notebooks with .ipynb source files, flag 21 missing sources","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b920da18-c9f5-417b-9b53-7af82961e073","title":"[Forge] Process 20 high-priority papers: extract claims and enrich wiki","description":"High-priority papers linked to active hypotheses or top knowledge gaps should feed into the wiki enrichment pipeline — but many have not been processed for claims or wiki linkage.\n\nFor 20 papers linked to hypothesis_papers or knowledge_edges but missing paper_claims:\n1. Select papers p WHERE EXISTS (SELECT 1 FROM hypothesis_papers hp WHERE hp.pmid = p.pmid) AND NOT EXISTS (SELECT 1 FROM paper_claims pc WHERE pc.pmid = p.pmid) ORDER BY citation_count DESC LIMIT 25\n2. For each paper, fetch abstract + any available fulltext via paper_cache\n3. Extract 3-5 claims with claim_text, evidence_type, and target_entity\n4. For claims about entities with wiki pages, add inline citations to those pages\n5. Insert paper_claims and update wiki page refs_json\n\nVerification:\n- 20 papers have new paper_claims entries (2+ claims each)\n- At least 10 wiki pages receive new inline citations from these papers\n- No fabricated PMIDs or claims\n\nUse PostgreSQL (dbname=scidex user=scidex_app).","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:30:39.756308+00:00","updated_at":"2026-04-26T23:30:39.756308+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Processed 20 hypothesis-linked high-priority papers in PostgreSQL: inserted 92 paper_claims with valid provenance and added retained inline citations plus refs_json entries on 25 wiki pages. Git commit blocked because the worktree gitdir is mounted read-only in this sandbox.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b858dd64-bf0b-4001-b3fc-43ee7bebaae8","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"422 tool call records have status='error' or exit_code != 0. For 50 most recent failures: group by skill_name and error_type, identify the top 3 failure modes, diagnose root causes (network timeout, schema mismatch, rate limit, missing parameter), and for each root cause either file a targeted fix task or document as expected failure.\n\nStart with: SELECT skill_name, error_message, COUNT(*) FROM tool_calls WHERE status='error' GROUP BY skill_name, error_message ORDER BY COUNT(*) DESC LIMIT 50.\n\nVerification:\n- 50 failures triaged with root_cause label (timeout/schema/rate_limit/param_error/expected)\n- Top 3 failure modes documented with fix proposals or expected-failure rationale\n- At least 1 concrete fix task filed for actionable root causes","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:19:55.597178+00:00","updated_at":"2026-04-26T23:19:55.597178+00:00","summary":"","completion_summary":"[Forge] Triage 50 failed tool calls: 3 failure modes, 1 fix task filed [task:b858dd64-bf0b-4001-b3fc-43ee7bebaae8]","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\": [\"df3dc88f9\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Triage of 50 failed tool calls complete. Identified 3 failure modes: (1) param_unexpected 196 errors — skill wrappers pass wrong param names (MSigDB max_results, PubMed term, etc.), (2) param_missing 254 errors — empty kwargs {} from agent extraction failures, (3) type_error 19 errors — Paper Corpus Ingest receives string instead of list. Fix task filed: 7e7831ea (MSigDB max_results alias). Spec committed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cb46de47-ff23-4409-a3c2-c0743d0f7288","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Triage tool_calls recorded with error status. Group failures by skill_id and error_message pattern. Select top recurring failure modes for inspection. Inspect the corresponding skill/tool implementation and recent successful calls. Fix small deterministic issues or create targeted follow-up tasks for larger failures.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T19:48:44.346863+00:00","updated_at":"2026-04-26T19:48:44.346863+00:00","summary":"","completion_summary":"[Verify] Tool call triage fixes verified — all patterns resolved [task:cb46de47-ff23-4409-a3c2-c0743d0f7288]","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/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0bf59735-4784-4e85-8399-955b35714167","title":"[Forge] Run paper processing pipeline on 20 high-priority papers queued for enrichment","description":"The paper processing pipeline processes papers through multiple enrichment stages. Run it on 20 high-priority papers that need full processing.\n\nSteps:\n1. Find papers needing processing:\n   `SELECT p.paper_id, p.pmid, p.pmc_id, p.title, p.abstract FROM papers p WHERE p.citation_count >= 5 AND (p.abstract IS NOT NULL AND LENGTH(p.abstract) > 50) AND NOT EXISTS (SELECT 1 FROM paper_claims pc WHERE pc.paper_id = p.paper_id) ORDER BY p.citation_count DESC LIMIT 20`\n\n2. For each paper:\n   a. If has pmc_id: try to fetch full text from PMC\n   b. Extract structured claims from abstract/full text using LLM\n   c. Extract figures if pmc_id available (using paper_processing_pipeline.py)\n   d. Link to related wiki pages via citation matching\n\n3. Use the paper_processing_pipeline.py script if available:\n   `python3 paper_processing_pipeline.py --paper-ids {id1},{id2},...`\n   \n   OR process manually using extract_paper_claims.py\n\n4. Update paper_processing_queue entries as processed.\n\nSuccess criteria: At least 15 papers processed. Each processed paper should have: claims in paper_claims, figures in paper_figures (if PMC available), and links to related wiki pages.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T17:25:04.656813+00:00","updated_at":"2026-04-26T17:25:04.656813+00:00","summary":"","completion_summary":"Task complete. Ran the paper processing pipeline on 20 high-priority papers (citation_count ≥ 5, abstract present, no prior claims). Results:","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Task complete. Ran the paper processing pipeline on 20 high-priority papers (citation_count ≥ 5, abstract present, no prior claims). Results:","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"26ae0f2d-0c39-4b52-ac23-83a5fcceef94","title":"[Forge] Extract structured claims from 30 papers without any claims","description":"24,533 papers in the DB have no entries in paper_claims. Structured claims are specific scientific assertions extracted from paper text (e.g., \"Treatment X reduced biomarker Y by Z% in N patients\"). Extract claims from 30 papers.\n\nSteps:\n1. Find papers with abstracts but no claims:\n   `SELECT p.paper_id, p.title, p.abstract, p.pmid FROM papers p WHERE NOT EXISTS (SELECT 1 FROM paper_claims pc WHERE pc.paper_id = p.paper_id) AND p.abstract IS NOT NULL AND LENGTH(p.abstract) > 100 ORDER BY p.citation_count DESC NULLS LAST LIMIT 30`\n\n2. For each paper, extract 3-8 structured claims from the abstract:\n   - Subject (what is being studied)\n   - Predicate (the finding/relationship)\n   - Object (the outcome/comparison)\n   - Quantitative result if available\n   - Study type (RCT, cohort, mouse model, etc.)\n\n3. Insert into paper_claims table. Check schema first: `SELECT column_name FROM information_schema.columns WHERE table_name = 'paper_claims'`\n\n4. Use extract_paper_claims.py script if available, otherwise do it with LLM directly.\n\nSuccess criteria: At least 20 papers get >= 3 claims each. Claims must be specific (not \"protein X is important\" but \"protein X knockout reduced tau by 40% in 3xTg mice\").","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T17:16:45.219745+00:00","updated_at":"2026-04-26T17:16:45.219745+00:00","summary":"","completion_summary":"[Forge] Extract structured claims from 30 papers via LLM [task:26ae0f2d-0c39-4b52-ac23-83a5fcceef94]","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/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bec30a01-e196-4d26-a051-e9e808b95146","title":"[Forge] Benchmark 25 registered skills by performance and accuracy","description":"26 registered skills in the skills table have NULL or zero performance_score. For each skill, run a benchmark test (invoke the skill with representative inputs, verify outputs, time the execution), then update performance_score and add benchmark notes. Focus on scientific tool skills and analysis skills.\n\nVerification:\n- 25 skills updated with performance_score > 0\n- Benchmark results logged to skill audit metadata\n- Before/after count of unscored skills decreases\n\nUse: psql dbname=scidex user=scidex_app host=localhost; skills table; tools.py for skill invocation.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T12:26:41.152284+00:00","updated_at":"2026-04-26T12:26:41.152284+00:00","summary":"","completion_summary":"[Forge] Benchmark 25 registered skills by performance and accuracy [task:bec30a01-e196-4d26-a051-e9e808b95146]","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/quest_engine_skill_performance_scoring_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c60e1218-7472-49d9-b966-a39fa80ec70e","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Many tool_calls are recorded with error status. Grouped failure triage keeps the Forge tool library reliable for debates and analyses.\n\nVerification:\n- 50 failed tool calls are grouped by skill_id and error_message pattern\n- Top recurring failure modes have fixes, follow-up tasks, or documented upstream causes\n- Remaining untriaged failed tool-call count is reduced\n\nStart by reading this task's spec. Query recent failed tool_calls from PostgreSQL (dbname=scidex user=scidex_app) grouped by skill_id and normalized error_message. Inspect the corresponding skill/tool implementation and recent successful calls. Fix small deterministic issues or create targeted follow-up tasks for larger failures.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T01:21:14.715053+00:00","updated_at":"2026-04-23T01:21:14.715053+00:00","summary":"","completion_summary":"All spec acceptance criteria already [x] from tasks 66bd4bd4 and 0cacff47. This run added empty-input guards (if not arg: return empty) to 10 remaining \"upstream cause\" functions that lacked them: pubmed_abstract, get_gene_info, enrichr_analyze, string_protein_interactions, uniprot_protein_info, pubchem_compound (x3 defs), monarch_disease_genes, pathway_commons_search, proteomicsdb_expression, opengwas_phewas. Files modified in worktree but uncommitted — Bash tool blocked by EROFS on session-env dir /home/ubuntu/Orchestra/data/claude_creds/pro_allen/session-env/42659a68-3c96-4cb8-af12-41054ba45de4. Operator should commit worktree changes: git -C /home/ubuntu/scidex/.orchestra-worktrees/task-c60e1218-triage-50-failed-tool-calls-by-skill-and add scidex/forge/tools.py docs/code_health/tool_call_failure_triage_2026-04-21.md docs/planning/specs/quest_engine_tool_call_failure_triage_spec.md && git commit -m '[Forge] Add empty-input guards to 10 probe-failure tools [task:c60e1218-7472-49d9-b966-a39fa80ec70e]' && git push origin HEAD","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Infrastructure failure (EROFS read-only session-env) blocked Bash tool in this session. Cannot run psql, py_compile, git, or any shell commands. All 10 guards verified present in tools.py via Grep/Read. Triage addendum written to docs/code_health/tool_call_failure_triage_2026-04-21.md and work log entry written to spec. Prior task 0cacff47 (merged d640d3eca) satisfies all acceptance criteria. This run adds fixes for the 10 remaining documented \"upstream cause\" tools. Baseline error count: 395 (from prior addendum); post-fix count not retrievable due to EROFS.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0cacff47-e30a-460b-a4e1-8327113e5682","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Tool calls are recorded with error status. Grouped failure triage keeps the Forge tool library reliable for debates and analyses.\n\nVerification:\n- 50 failed tool calls are grouped by skill_id and error_message pattern\n- Top recurring failure modes have fixes, follow-up tasks, or documented upstream causes\n- Remaining untriaged failed tool-call count is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T23:28:07.011017+00:00","updated_at":"2026-04-22T23:28:07.011017+00:00","summary":"","completion_summary":"[Forge] Fix gene_symbol alias gaps in chembl/string_enrichment/methbase tools [task:0cacff47-e30a-460b-a4e1-8327113e5682]","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/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"coding\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"109e0a35-d485-456c-86df-afc2c9f1f8f4","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"27568 papers have no extracted claims. Claim extraction improves evidence linking, hypothesis support, and search.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 30 papers have claims_extracted marked after real claim extraction\n- Extracted claims include citation provenance and no placeholder claims\n- Remaining papers without extracted claims is <= 27538\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T19:27:49.046953+00:00","updated_at":"2026-04-28T19:27:49.046953+00:00","summary":"","completion_summary":"[Forge] Extract 23 paper claims iteration 3; 125 claims added [task:109e0a35-d485-456c-86df-afc2c9f1f8f4]; [Forge] Extract 26 paper claims iteration 2; 149 claims added [task:109e0a35-d485-456c-86df-afc2c9f1f8f4]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_claim_extraction_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: 997f1e15","task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"9d5e984b-c82a-44c1-8523-ac088c7a5c87","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"1101 papers lack abstracts. Abstracts improve search, hypothesis evidence linking, and agent context.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 30 papers gain non-empty abstracts\n- Each update comes from paper_cache, PubMed, or another cited provider\n- Remaining missing-abstract count is <= 1071\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T08:59:48.682058+00:00","updated_at":"2026-04-28T08:59:48.682058+00:00","summary":"","completion_summary":"[Forge] Add PubMed abstracts to 35 papers via title search [task:9d5e984b-c82a-44c1-8523-ac088c7a5c87]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 5}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"31105c0c-7e9c-40e3-a9fe-87067a56c639","title":"[Forge] Cache full text for 30 cited papers missing local fulltext","description":"28885 papers have not been full-text cached. Full text makes downstream claim extraction, figure extraction, and wiki enrichment more reliable.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 30 papers have fulltext_cached = 1 or are skipped with a provider-specific reason\n- Each successful cache records local_path, pmc_id, DOI, URL, or equivalent provenance\n- Remaining uncached paper count is <= 28855\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T08:36:09.182841+00:00","updated_at":"2026-04-28T08:36:09.182841+00:00","summary":"","completion_summary":"[Forge] Cache full text for 34 more papers via PMC efetch [task:31105c0c-7e9c-40e3-a9fe-87067a56c639]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_fulltext_cache_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 5}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"3109a508-3d66-4080-80f7-b7503328ade9","title":"[Forge] Cache full text for 30 cited papers missing local fulltext","description":"28915 papers have not been full-text cached. Full text makes downstream claim extraction, figure extraction, and wiki enrichment more reliable.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 30 papers have fulltext_cached = 1 or are skipped with a provider-specific reason\n- Each successful cache records local_path, pmc_id, DOI, URL, or equivalent provenance\n- Remaining uncached paper count is <= 28885\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T08:27:47.223201+00:00","updated_at":"2026-04-28T08:27:47.223201+00:00","summary":"","completion_summary":"[Forge] Work log: cache 30 more papers, uncached 28885 [task:3109a508-3d66-4080-80f7-b7503328ade9]; [Forge] Cache full text for 30 cited papers missing local fulltext [task:3109a508-3d66-4080-80f7-b7503328ade9]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_fulltext_cache_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 5}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"15982468-7b0e-4328-89da-517b707ed4c5","title":"[Forge] Cache full text for 30 cited papers missing local fulltext","description":"29204 papers have not been full-text cached. Full text makes downstream claim extraction, figure extraction, and wiki enrichment more reliable.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 30 papers have fulltext_cached = 1 or are skipped with a provider-specific reason\n- Each successful cache records local_path, pmc_id, DOI, URL, or equivalent provenance\n- Remaining uncached paper count is <= 29174\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T07:55:29.377289+00:00","updated_at":"2026-04-28T07:55:29.377289+00:00","summary":"","completion_summary":"[Atlas] Work log: 30 papers cached, 28945→28915 [task:15982468-7b0e-4328-89da-517b707ed4c5]; [Forge] Cache full text for 30 cited papers missing local fulltext [task:15982468-7b0e-4328-89da-517b707ed4c5]; [Forge] Work log: 28 papers cached, 28970→28945 [task:15982468-7b0e-4328-89da-517b707ed4c5]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_fulltext_cache_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 5}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"ed11b1ae-04c1-4815-a9a7-14c5e71ea91f","title":"[Forge] Score performance for 3 unscored registered skills","description":"3 registered skills have missing or zero performance_score. Skill scores guide routing, playground exposure, and tool-library maintenance.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 3 skills have calibrated performance_score values or documented insufficient-data status\n- Scores are based on tool call success, latency, usage, and code-path health\n- Remaining unscored skill count is <= 0\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":82,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T07:22:16.056947+00:00","updated_at":"2026-04-28T07:22:16.056947+00:00","summary":"","completion_summary":"[Forge] Score 3 unscored synthetic skills at 0.15 insufficient-data baseline [task:ed11b1ae-04c1-4815-a9a7-14c5e71ea91f]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_skill_performance_scoring_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 6, \"reasoning\": 6}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"f4632d03-c177-4477-9412-ab4cb37c54f5","title":"[Forge] AI tools landscape: curate 5 new protein structure and pathway analysis tools with wiki pages and tier classification","description":"Add 5 new AI-for-science tools to the SciDEX tools landscape, focusing on protein structure prediction and pathway analysis tools relevant to neurodegeneration research.\n\nTarget tools to evaluate and add:\n1. ESM-2/ESMFold (protein language model for structure prediction)\n2. AlphaFold3 (multi-molecular structure prediction)\n3. Reactome Pathway Browser (pathway analysis)\n4. STRING network (protein interaction analysis)\n5. ProteinMPNN or RFdiffusion (protein design)\n\nFor each tool:\n1. Create or update wiki page with: tool description, capabilities, scientific use cases in neurodegeneration, limitations\n2. Assign tier classification (1=essential, 2=useful, 3=experimental) based on adoption and accuracy\n3. Add 5+ citations to the wiki page refs_json (papers using the tool)\n4. Link to existing SciDEX analyses or hypotheses that used or could use the tool\n5. Add a brief tutorial or usage example relevant to neurodegeneration research\n\nAcceptance criteria:\n- 5 tool wiki pages created or substantially updated\n- Each has tier classification and >= 5 citations\n- Each linked to >= 1 existing SciDEX analysis or hypothesis\n- All wiki pages render correctly","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T06:10:34.714284+00:00","updated_at":"2026-04-28T06:10:34.714284+00:00","summary":"","completion_summary":"[Forge] AI tools landscape: 5 protein structure/pathway tools with wiki pages and tier classification [task:f4632d03-c177-4477-9412-ab4cb37c54f5]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0dd2cdaa-1172-4f39-8c73-f4d1dbcba08f","title":"[Forge] Extract and index key scientific findings from 20 high-citation papers into KG edges","description":"Select 20 papers from the papers table with the highest citations_count that currently have no outgoing kg_edges. For each paper: (1) extract 3–5 key empirical claims using LLM; (2) identify relevant entities (genes, pathways, diseases) in canonical_entities; (3) create kg_edges linking the paper's findings to these entities. Use edge_type values like 'supports', 'identifies', 'demonstrates'. This enriches the knowledge graph with structured evidence from high-impact literature.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T01:41:54.344626+00:00","updated_at":"2026-04-28T01:41:54.344626+00:00","summary":"","completion_summary":"[Forge] Extract and index key scientific findings from 20 high-citation papers into KG edges [task:0dd2cdaa-1172-4f39-8c73-f4d1dbcba08f]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b0d7aa22-ec32-4f91-9335-0562072478ec","title":"[Forge] Cache full text for 30 cited papers missing local fulltext","description":"Many papers have not been full-text cached. Full text makes downstream claim extraction, figure extraction, and wiki enrichment more reliable.\n\nVerification:\n- 30 papers have fulltext_cached = 1 or are skipped with a provider-specific reason\n- Each successful cache records local_path, pmc_id, DOI, URL, or equivalent provenance\n- Remaining uncached paper count is reduced\n\nStart by reading this task's spec. Select cited papers from PostgreSQL (dbname=scidex user=scidex_app) with fulltext_cached = 0, prioritizing PMID/PMCID/DOI availability. Use existing paper_cache and provider utilities; do not add ad hoc scraping paths. Persist only real retrieved full text or explicit skip metadata, then verify counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T00:48:22.501294+00:00","updated_at":"2026-04-28T00:48:22.501294+00:00","summary":"","completion_summary":"[Forge] Cache full text for 30 more cited papers [task:b0d7aa22-ec32-4f91-9335-0562072478ec]; [Forge] Work log: spec update with 89-paper cache result [task:b0d7aa22-ec32-4f91-9335-0562072478ec]; [Forge] Cache full text for 89 cited papers; fix local_path metadata issue","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/quest_engine_paper_fulltext_cache_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"70de385f-9471-45e6-a177-5235ddb7bdae","title":"[Forge] Write end-to-end validation tests for 5 core scientific tool chains","description":"Select 5 tool_chain_executions that were most recently run successfully. For each tool chain: (1) extract the input/output schema from execution logs; (2) write a Python test that replays a standard input and verifies the output schema matches expected structure; (3) run the test against the live tool implementation; (4) save test file to tests/tool_chains/; (5) commit with [Forge] prefix. Tool chain tests prevent silent regressions when upstream APIs change and give agents confidence their calls will succeed.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:37:36.762337+00:00","updated_at":"2026-04-27T07:37:36.762337+00:00","summary":"","completion_summary":"[Forge] Add end-to-end validation tests for 5 core scientific tool chains [task:70de385f-9471-45e6-a177-5235ddb7bdae]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Add end-to-end validation tests for 5 core scientific tool chains [task:70de385f-9471-45e6-a177-5235ddb7bdae]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f74be924-7de8-4183-80a2-48ea7b670309","title":"[Forge] Run health checks on 30 notebooks without existing health records","description":"Query 30 notebooks from the notebooks table that have no corresponding rows in notebook_health. For each notebook: (1) check if the notebook file exists and is parseable; (2) count total cells vs. code cells vs. output cells; (3) verify any artifact links are still valid; (4) compute a health score (0–1). Insert rows into notebook_health with these metrics. Flag notebooks with health_score < 0.5 for follow-up repair. 540 notebooks currently lack health records.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:35:17.957817+00:00","updated_at":"2026-04-27T07:35:17.957817+00:00","summary":"","completion_summary":"[Forge] Run health checks on 30 notebooks; fix nb- path resolution [task:f74be924-7de8-4183-80a2-48ea7b670309]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Run health checks on 30 notebooks; fix nb- path resolution [task:f74be924-7de8-4183-80a2-48ea7b670309]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ddf55956-e1c9-4cb4-96cb-a85222283b38","title":"[Forge] Score performance for 25 unscored registered skills","description":"Many registered skills have missing or zero performance_score. Skill scores guide routing, playground exposure, and tool-library maintenance.\n\nVerification:\n- 25 skills have calibrated performance_score values or documented insufficient-data status\n- Scores are based on tool call success, latency, usage, and code-path health\n- Remaining unscored skill count is reduced\n\nStart by reading this task's spec. Select skills from PostgreSQL (dbname=scidex user=scidex_app) with missing or zero performance_score ordered by times_used and category. Evaluate recent tool_calls/tool_invocations, latency, errors, and code_path availability. Persist scores or insufficient-data rationale and verify before/after counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:41:27.731852+00:00","updated_at":"2026-04-27T06:41:27.731852+00:00","summary":"","completion_summary":"Task closed via Path B. Live PostgreSQL verification confirmed 682 skills with 0 unscored (min=0.15, max=1.0, avg=0.9657) — all acceptance criteria already satisfied by prior tasks. Verification note appended to the spec.","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/quest_engine_skill_performance_scoring_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 682 skills, 0 unscored (performance_score IS NULL OR = 0). Score stats: min=0.15, max=1.0, avg=0.9657. Tool calls telemetry: 50,218 total, 49,725 successes, 492 errors, 1,410ms avg latency. All acceptance criteria satisfied by prior tasks bec30a01, 610a8b3c, and c82d378b. Verification note appended to spec.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"00c80a0a-ed1e-4a1f-a51e-1c7da31480e0","title":"[Forge] Add PubMed abstracts to 20 papers citing neurodegeneration targets","description":"Papers on neurodegeneration targets that lack abstracts reduce the quality of hypothesis evidence linking and debate context.\n\nVerification:\n- 20 papers on AD, PD, ALS, or HD targets gain real PubMed abstracts\n- Each abstract is fetched via paper_cache.get_paper or direct PubMed fetch\n- No generated or placeholder abstracts are stored\n\nStart by selecting papers from PostgreSQL (dbname=scidex user=scidex_app) where abstract IS NULL or length(abstract) < 50 and the paper appears in evidence_for/evidence_against of active hypotheses. Use paper_cache to fetch abstracts by PMID, DOI, or title. Update only rows with real abstracts found and verify before/after counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:31:27.916039+00:00","updated_at":"2026-04-27T06:31:27.916039+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on current PostgreSQL state: active hypothesis evidence has 118 distinct PMID/DOI identifiers matching 211 papers rows; 211 have abstracts length >= 50 and 0 remain missing/short. No unrelated backlog papers updated.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"87c519db-04bf-437b-b80f-6a85f0d0bddb","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"For 30 papers missing abstracts (abstract IS NULL or < 10 chars), use PubMed API to fetch abstracts. Query by PMID or title matching. Focus on neurodegeneration and dementia related papers. Store the fetched abstract in the papers.abstract field. Verify: check that abstract length > 50 chars for at least 25 of the 30 papers.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T16:31:45.824586+00:00","updated_at":"2026-04-27T00:30:00.705529+00:00","summary":"","completion_summary":"worker on slot 52 exited (exit_code=0) without calling orchestra complete","completion_notes":"","last_error":"worker_exit_unclean exit_code=0","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_watchdog_repair_task_id\": \"58cc37bc-dd79-4341-879f-51bee46bf62d\", \"_watchdog_repair_created_at\": \"2026-04-23T16:33:52.630607+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fafcca49-f5fd-470b-9ada-0b1bbeda58db","title":"[Forge] Add pathway diagrams to 15 hypotheses missing mechanism maps","description":"15 active hypotheses have no pathway_diagram field populated. Mechanism maps improve hypothesis quality scores and help agents understand causal chains in neurodegeneration.\\n\\nVerification:\\n- 15 hypotheses gain valid mermaid pathway_diagram entries\\n- Each diagram shows key molecular actors, directional relationships, and disease outcome\\n- Diagrams pass mermaid validation (no syntax errors)\\n\\nSelect hypotheses from PostgreSQL (dbname=scidex user=scidex_app) with pathway_diagram IS NULL or empty, ordering by composite_score DESC. For each hypothesis, read the description and evidence_for to generate a mermaid flowchart TD diagram showing the mechanism. Validate with validate_mermaid.py. Update via hypothesis UPDATE query. Verify before/after counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:44:52.098169+00:00","updated_at":"2026-04-26T23:44:52.098169+00:00","summary":"","completion_summary":"[Forge] Add pathway diagram generator script; populate 13 hypotheses [task:fafcca49-f5fd-470b-9ada-0b1bbeda58db]","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/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5e79b197-b2fa-4c97-a3c2-5372cfff00e6","title":"[Forge] Extract structured claims from 30 high-citation papers","description":"23755 papers in the papers table have zero rows in paper_claims. Structured claims are the atomic units that link papers to hypotheses, knowledge gaps, and wiki pages.\n\nFor 30 papers with highest citation counts and non-null abstracts (no existing paper_claims):\n1. Select papers ORDER BY citation_count DESC WHERE NOT EXISTS (SELECT 1 FROM paper_claims pc WHERE pc.pmid = papers.pmid)\n2. For each paper, read title + abstract (+ full text if cached)\n3. Extract 3-5 structured claims: each with claim_text, evidence_type (mechanism/association/RCT/etc), target_entity, confidence\n4. Insert into paper_claims table\n\nVerification:\n- 30 papers have at least 2 rows in paper_claims\n- Claims reference specific entities (genes, pathways, diseases)\n- No generic claims like \"more research needed\"\n\nUse PostgreSQL (dbname=scidex user=scidex_app). Use paper_cache.get_paper() for full text where available.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:18:06.791903+00:00","updated_at":"2026-04-26T23:18:06.791903+00:00","summary":"","completion_summary":"[Forge] Log high-citation paper claim extraction [task:5e79b197-b2fa-4c97-a3c2-5372cfff00e6]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bc26f5a4-c830-4e3d-b6d2-34860790458b","title":"[Forge] Score 20 registered skills by test coverage and error rate","description":"Many registered skills lack systematic quality metrics. For 20 skills with missing or zero skill_quality_score: analyze test coverage (do tests exist in tests/ for this skill?), recent 7-day error rate from tool_calls logs, documentation completeness (docstring, parameters documented), and code health (no hardcoded values, proper error handling). Write skill_quality_score (0-1) and quality_notes.\n\nSelect: SELECT name, code_path, times_used FROM skills WHERE skill_quality_score IS NULL OR skill_quality_score = 0 ORDER BY times_used DESC LIMIT 20.\n\nVerification:\n- 20 skills have non-null skill_quality_score and quality_notes\n- Scores span a realistic distribution reflecting actual quality differences\n- error_rate_7d populated where tool_call data exists\n- No generic identical notes (each skill evaluated individually)","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:27:46.338049+00:00","updated_at":"2026-04-26T22:27:46.338049+00:00","summary":"","completion_summary":"Both background searches confirm `skill_quality_score` and `quality_notes` have never existed in the codebase — only a single unrelated commit references `quality_notes` (spotlight notebooks). The task is correctly blocked due to missing schema columns.","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1393a648-6e96-4c50-b7e8-2e6995943e4f","title":"[Forge] Add PubMed abstracts to 50 papers missing them (continuation of 00c80a0a)","description":"Many papers in the corpus lack PubMed abstracts. Existing task 00c80a0a covers 20 papers. There are ~1173 remaining papers with no abstract. Search PubMed for each paper's abstract using the PMID, fetch the abstract, and update the papers table.\n\nVerification:\n- 50 papers gain non-null abstract field\n- Each abstract is at least 100 characters\n- papers.metadata enriched with pubmed_fetched_at timestamp","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:17:03.996135+00:00","updated_at":"2026-04-26T22:17:03.996135+00:00","summary":"","completion_summary":"Task completed. Here's the 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":"{\"completion_shas\": [\"4754683ee\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"42 papers enriched with PubMed abstracts >= 100 chars; backlog 1,151 → 1,097; 24,229 papers now have real abstracts. Enhanced multi-strategy script at scripts/backfill_pubmed_abstracts_task.py.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"43ae5851-c3d2-446e-b9c9-c2fff144d0dd","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Quest-engine dry run found papers with missing or thin abstracts while the open one-shot queue was below 50.\n\nAcceptance criteria:\n- 30 papers gain non-empty abstracts.\n- Each update comes from paper_cache, PubMed, or another cited provider.\n- Remaining missing-abstract count is re-queried and reduced; failed fetches are logged without placeholder abstracts.\n\nApproach:\n1. Query papers where abstract is NULL or too short.\n2. Fetch metadata through paper_cache.get_paper using PMID, DOI, or title.\n3. Update only rows where a real abstract is found and verify counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T21:55:59.464130+00:00","updated_at":"2026-04-26T21:55:59.464130+00:00","summary":"","completion_summary":"[Forge] Backfill abstracts for 54 DOI-only papers via CrossRef/OpenAlex/S2; update spec [task:43ae5851-c3d2-446e-b9c9-c2fff144d0dd]; [Forge] Add Semantic Scholar batch API to abstract backfill; update 50 papers [task:43ae5851-c3d2-446e-b9c9-c2fff144d0dd]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2c28f30f-35e0-46fa-82b0-f0bd390bba6a","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"Extract structured scientific claims from papers that lack claims_extracted. Select papers with abstracts or full text but claims_extracted = 0. Use existing paper tooling to extract concise claims with PMID/DOI provenance. Only persist real claim extraction outputs. Verify before/after counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:40:55.748771+00:00","updated_at":"2026-04-26T20:40:55.748771+00:00","summary":"","completion_summary":"[Forge] Update work log for claim extraction task completed by prior run [task:2c28f30f-35e0-46fa-82b0-f0bd390bba6a]","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/quest_engine_paper_claim_extraction_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"11775b2e-252c-41d2-b256-1869719408c4","title":"[Forge] Score performance for 20 registered skills missing quality ratings","description":"Check skills table for entries without performance_score. For each of up to 20 skills: evaluate based on available usage data (times_used, success rate from recent invocations), scientific utility for neurodegeneration research, and data quality. Assign a performance_score (0-1) and update the skills record. Accept: 20 skills (or all unscored skills) have performance_score set, scores reflect actual usage patterns.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:29:22.007058+00:00","updated_at":"2026-04-26T20:29:22.007058+00:00","summary":"","completion_summary":"**Task complete.** All 682 skills in the database already have `performance_score` populated (range 0.15–1.0, avg 0.96). The task acceptance criteria were already satisfied — no unscored skills existed to assign.","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Queried skills table: SELECT COUNT(*) WHERE performance_score IS NULL returned 0. All 682 skills have scores. Min=0.15, max=1.0, avg=0.96.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c4352167-1965-4591-b4f3-eed68b0e9830","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Fetch and add PubMed abstracts to papers that lack them. Query papers where abstract is NULL or too short, fetch metadata through paper_cache using PMID/DOI/title, and update only rows where a real abstract is found. Do not insert placeholder abstracts. Verify before/after counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T19:48:53.599720+00:00","updated_at":"2026-04-26T19:48:53.599720+00:00","summary":"","completion_summary":"Pool exhausted: 0 papers updated from 35 processed. 15 remaining numeric-PMID papers all return \"1. \" only from PubMed (empty/retracted records); 20 DOI-only papers are book chapters with no available abstracts. Abstract coverage at 95.4% (24,121/25,281 papers). Backfill script on main is working correctly; no code changes needed. Spec updated with work log entry 5ceab5aa7.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dd1d8112-aa06-4718-aeaa-85885ff9be96","title":"[Forge] Triage 30 failed tool calls by skill and error mode","description":"Review failed tool calls in the SciDEX system to identify error patterns and fix recurring failures. Query the tool_call_logs or skill_logs table for recent failures: SELECT skill_name, error_type, error_message, COUNT(*) as fail_count FROM tool_call_logs WHERE status='failed' GROUP BY skill_name, error_type, error_message ORDER BY fail_count DESC LIMIT 30. For each error pattern: identify root cause (rate limiting, schema change, API unavailability, config error), document the fix or workaround, and update the skill's error handling. Verification: Document findings in spec work log; at least 5 error patterns identified with concrete fixes proposed.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T14:14:22.616836+00:00","updated_at":"2026-04-26T14:14:22.616836+00:00","summary":"","completion_summary":"[Forge] Fix allen_brain_expression gene= alias + allen_cell_types query= alias [task:dd1d8112-aa06-4718-aeaa-85885ff9be96]","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/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3ef88d85-c90c-418d-8729-9cc7675b5b4f","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"Extract structured scientific claims from papers that lack claim extraction. Query papers table for rows with no structured claims (claims_json IS NULL or empty), use LLM or rule-based extraction to identify mechanism, target, outcome triplets, and store them in claims_json. Verify count of papers with claims before/after.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T13:30:12.037183+00:00","updated_at":"2026-04-26T13:30:12.037183+00:00","summary":"","completion_summary":"Merged task branch into main","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_stall_skip_providers\": [\"glm\"], \"completion_shas\": [\"30702f78050345f4c22b3cbe64687421f04943ef\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"API Error: Request rejected (429) · Weekly/Monthly Limit Exhausted. Your limit will reset at 2026-04-30 13:52:33","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d236dc7d-12c8-4d58-a0e4-dd1d5d76f532","title":"[Forge] Add abstracts to 30 papers missing them","description":"Find 30 papers in the papers table where abstract is NULL or <10 chars. Use PubMed E-utilities (efetch) or CrossRef API to fetch the abstract. Store the abstract in the papers.abstract column. Prioritize papers that are cited by hypotheses or analyses first.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T13:21:38.788391+00:00","updated_at":"2026-04-26T13:21:38.788391+00:00","summary":"","completion_summary":"Task completed successfully.","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"5dd920c3a\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":"5dd920c3a","merge_verified_at":"2026-04-26T13:21:24.986528+00:00","verification_result":"pass","verification_notes":"Task completed successfully.","task_type":"one_shot","pr_links":[],"commit_links":[{"sha":"5dd920c3a","role":"merge_commit"}]},{"id":"711fdf7d-cbb1-4e1d-a362-902e572d9139","title":"[Forge] Add PubMed abstracts to 30 papers missing abstracts","description":"## Goal\nFetch and store PubMed abstracts for 30 papers in the `papers` table that currently have NULL or very short (< 10 chars) abstracts. These papers are cited by hypotheses and analyses but lack searchable full-text context.\n\n## Steps\n1. Query: `SELECT id, pmid, doi, title FROM papers WHERE (abstract IS NULL OR length(abstract) < 10) AND pmid IS NOT NULL LIMIT 30`\n2. For each paper, fetch abstract from PubMed using `from tools import pubmed_search` or `from paper_cache import get_paper`\n3. Update `papers` table: `UPDATE papers SET abstract = %s, updated_at = NOW() WHERE id = %s`\n4. Call `db.commit()` after each batch of 5 updates\n5. Report: papers updated, papers skipped (no PubMed record), failures\n\n## Acceptance Criteria\n- [ ] >= 25 papers updated with non-empty abstracts\n- [ ] `SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR length(abstract) < 10` decreases by >= 25\n- [ ] All DB writes use `get_db()` from `api_shared.db` with explicit `commit()`\n- [ ] Changes committed and pushed\n\n## Constraints\n- Only update papers that have a valid PMID (skip DOI-only papers if PubMed lookup fails)\n- Use `paper_cache.get_paper()` as primary lookup — avoids redundant API calls\n- Rate-limit PubMed calls: 3 requests/second max","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T05:35:16.807926+00:00","updated_at":"2026-04-23T05:35:16.807926+00:00","summary":"","completion_summary":"[Forge] Backfill PubMed abstracts for 30 papers missing abstracts [task:711fdf7d-cbb1-4e1d-a362-902e572d9139]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"24fcc1ce-3b6e-48b5-8bec-f3dd3afdb25f","title":"[Forge] Validate scientific API tool connections and log health status","description":"SciDEX has 58+ scientific tools (PubMed, Semantic Scholar, OpenAlex, etc.) but no continuous health check. Failed API connections can block debate rounds and paper searches silently.\n\n## Steps\n1. Read `tools.py` to identify all external API endpoints\n2. For each tool, make a minimal test query (e.g., search for \"LRRK2\" or fetch a known PMID like \"31883511\")\n3. Log results to `tool_health_log` table: `(tool_name, endpoint, status, response_time_ms, tested_at, error_msg)`\n4. Create `tool_health_log` table if it doesn't exist\n5. Identify tools with error status and document root cause\n\n## Acceptance Criteria\n- [ ] All major scientific tools tested (PubMed, Semantic Scholar, OpenAlex, CrossRef minimum)\n- [ ] tool_health_log has records for each tested tool\n- [ ] Failed tools are identified with error messages\n- [ ] Changes committed and pushed\n\n## Constraints\n- Use actual API calls, not mock responses\n- Rate-limit test queries (1 per 2 seconds per tool) to avoid triggering API rate limits\n- Log to DB only; do not modify tools.py","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T04:07:20.911108+00:00","updated_at":"2026-04-23T04:07:20.911108+00:00","summary":"","completion_summary":"[Forge] Add tool health checker and validate 38 scientific API endpoints [task:24fcc1ce-3b6e-48b5-8bec-f3dd3afdb25f]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Forge] Add tool health checker and validate 38 scientific API endpoints [task:24fcc1ce-3b6e-48b5-8bec-f3dd3afdb25f]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cb8b9956-4084-4763-8e1e-3f906f103145","title":"[Forge] Create structured reviews for 30 papers missing paper_reviews","description":"Papers do not have paper_reviews rows. Structured reviews link papers to entities, hypotheses, gaps, and novel findings.\n\nVerification:\n- 30 papers gain substantive paper_reviews rows or documented skip reasons\n- Each review includes extracted_entities, related hypotheses/gaps, or novel_findings where supported\n- Remaining papers without reviews is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T02:37:13.972126+00:00","updated_at":"2026-04-23T02:37:13.972126+00:00","summary":"","completion_summary":"[Atlas] Update spec work log for task cb8b9956 [task:cb8b9956-4084-4763-8e1e-3f906f103145]; [Forge] Backfill paper review workflow for 30 papers [task:cb8b9956-4084-4763-8e1e-3f906f103145]","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/quest_engine_paper_review_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d54851fc-d500-4487-b6d4-8a46d0406003","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Query `SELECT id, pmid, doi, title FROM papers WHERE (abstract IS NULL OR LENGTH(abstract) < 10) AND pmid IS NOT NULL ORDER BY created_at DESC LIMIT 30`. For each paper with a PMID, fetch the abstract via PubMed E-utilities (efetch API with rettype=abstract). Update the abstract column. For papers without a PMID but with a DOI, try Semantic Scholar API. Verify each update with SELECT. Success: 30 papers have non-empty abstracts (>50 chars) committed to the papers table.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T01:51:37.743367+00:00","updated_at":"2026-04-23T01:51:37.743367+00:00","summary":"","completion_summary":"[Forge] Add Slot 72 work log entry for abstract backfill [task:d54851fc-d500-4487-b6d4-8a46d0406003]; [Forge] Backfill PubMed abstracts — 29 papers updated [task:d54851fc-d500-4487-b6d4-8a46d0406003]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"71e1300a-a839-47d6-be10-a4df1159ce07","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"Many papers have no extracted claims. Claim extraction improves evidence linking, hypothesis support, and search.\n\nVerification:\n- 30 papers have claims_extracted marked after real claim extraction\n- Extracted claims include citation provenance and no placeholder claims\n- Remaining papers without extracted claims is reduced\n\nStart by reading this task's spec. Select papers from PostgreSQL (dbname=scidex user=scidex_app) with abstracts/full text but claims_extracted = 0. Extract concise scientific claims with PMID/DOI provenance using existing paper tooling. Persist only real claim extraction outputs and verify counts.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T01:38:08.121016+00:00","updated_at":"2026-04-23T01:38:08.121016+00:00","summary":"","completion_summary":"[Forge] Extract structured claims from 30 papers + fix comparative claim type [task:71e1300a-a839-47d6-be10-a4df1159ce07]","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/quest_engine_paper_claim_extraction_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff601c3f-63ca-4821-b005-89255c68bfec","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Papers without abstracts have near-zero utility for hypothesis grounding, evidence linking, and semantic search. For 30 papers where abstract IS NULL or LENGTH(abstract) < 10 (SELECT id, pmid, doi, title FROM papers WHERE abstract IS NULL OR LENGTH(abstract) < 10 LIMIT 30): (1) fetch abstract from PubMed by PMID (use pubmed_fetch tool or paper_cache.get_paper(pmid)); (2) if no PMID, try DOI lookup via CrossRef; (3) UPDATE papers SET abstract=<text> WHERE id=<id>. Log failures for papers with no retrievable abstract. Verification: 30 papers updated; SELECT COUNT(*) FROM papers WHERE abstract IS NULL or LENGTH(abstract)<10 decreases by ~30.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T00:34:28.898870+00:00","updated_at":"2026-04-23T00:34:28.898870+00:00","summary":"","completion_summary":"[Forge] Backfill PubMed abstracts — 2 papers updated, 81 failures logged [task:ff601c3f-63ca-4821-b005-89255c68bfec]; [Forge] Fix PG placeholder syntax in backfill_abstracts.py; backfill 8 paper abstracts via PubMed title search [task:ff601c3f-63ca-4821-b005-89255c68bfec]","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already addressed by cd78cd5c5: 2 papers updated, 81 failures logged (synthetic PMIDs / no abstracts). This agent confirmed same finding; also fixed PG placeholder syntax bug in backfill_abstracts.py and added 8 more via title-search.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d8635679-3b25-425b-b798-b2aa2b411fba","title":"[Forge] Cache full text for 30 cited papers missing local fulltext","description":"Papers have not been full-text cached. Full text makes downstream claim extraction, figure extraction, and wiki enrichment more reliable.\n\nVerification:\n- 30 papers have fulltext_cached = 1 or are skipped with a provider-specific reason\n- Each successful cache records local_path, pmc_id, DOI, URL, or equivalent provenance\n- Remaining uncached paper count is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T23:27:28.859026+00:00","updated_at":"2026-04-22T23:27:28.859026+00:00","summary":"","completion_summary":"[Forge] Work log: local_path fix for 30 paper JSON files [task:d8635679-3b25-425b-b798-b2aa2b411fba]; [Forge] Remove local_path from 30 paper JSON files [task:d8635679-3b25-425b-b798-b2aa2b411fba]; [Forge] Cache full text for 30 cited papers missing local fulltext [task:d8635679-3b25-425b-b798-b2aa2b411fba]","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/quest_engine_paper_fulltext_cache_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"coding\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fe0d28e-2eb9-4a20-a360-08050b5961d5","title":"[Forge] Create structured reviews for 30 papers missing paper_reviews","description":"Papers do not have paper_reviews rows. Structured reviews link papers to entities, hypotheses, gaps, and novel findings.\n\nVerification:\n- 30 papers gain substantive paper_reviews rows or documented skip reasons\n- Each review includes extracted_entities, related hypotheses/gaps, or novel_findings where supported\n- Remaining papers without reviews is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T23:12:12.589346+00:00","updated_at":"2026-04-22T23:12:12.589346+00:00","summary":"","completion_summary":"Auto-completed by abandonment watchdog: 1 commit(s) on orchestra/task/7fe0d28e-create-structured-reviews-for-30-papers","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_review_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0d17fbe5-ebf7-4850-b35c-a29d8fe2c6ec","title":"[Forge] Score performance for 25 unscored registered skills","description":"Registered skills have missing or zero performance_score. Skill scores guide routing, playground exposure, and tool-library maintenance.\n\nVerification:\n- 25 skills have calibrated performance_score values or documented insufficient-data status\n- Scores are based on tool call success, latency, usage, and code-path health\n- Remaining unscored skill count is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T23:11:31.880143+00:00","updated_at":"2026-04-22T23:11:31.880143+00:00","summary":"","completion_summary":"Already addressed: 282 skills, 0 unscored. Live PostgreSQL verification confirmed all acceptance criteria met by prior work (commits eb7917ecf/70fbe70a2). Task is stale.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_skill_performance_scoring_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"coding\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already addressed: 282 skills, 0 unscored. Live PostgreSQL verification confirmed all acceptance criteria met by prior work (commits eb7917ecf/70fbe70a2). Task is stale.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e68b7c5c-01ca-4170-9585-0c23aab7a5cf","title":"[Forge] Create structured reviews for 30 papers missing paper_reviews","description":"Many papers do not have paper_reviews rows. Structured reviews link papers to entities, hypotheses, gaps, and novel findings.\n\nVerification:\n- 30 papers gain substantive paper_reviews rows or documented skip reasons\n- Each review includes extracted_entities, related hypotheses/gaps, or novel_findings where supported\n- Remaining papers without reviews is recorded before and after\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T21:52:53.369101+00:00","updated_at":"2026-04-21T21:52:53.369101+00:00","summary":"","completion_summary":"[Forge] Fix PostgreSQL placeholders in paper_review_workflow; backfill 31 paper reviews [task:e68b7c5c-01ca-4170-9585-0c23aab7a5cf]","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/quest_engine_paper_review_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3122bd63-50d5-43fc-a593-55048879db37","title":"[Forge] Score performance for 25 unscored registered skills","description":"Many registered skills have missing or zero performance_score. Skill scores guide routing, playground exposure, and tool-library maintenance.\n\nVerification:\n- 25 skills have calibrated performance_score values or documented insufficient-data status\n- Scores are based on tool call success, latency, usage, and code-path health\n- Remaining unscored skill count is recorded before and after\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T20:07:11.206741+00:00","updated_at":"2026-04-21T20:07:11.206741+00:00","summary":"","completion_summary":"Already resolved by eb7917ecf: 25 skills calibrated (0.15-0.30), 1 documented insufficient-data (tool_cellxgene_gene_expression=0.0). Unscored count reduced from 26 to 1.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_skill_performance_scoring_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved by eb7917ecf: 25 skills calibrated (0.15-0.30), 1 documented insufficient-data (tool_cellxgene_gene_expression=0.0). Unscored count reduced from 26 to 1.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dd728994-43a2-473c-a2c6-3ef5efc56314","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"~149 papers in the papers table lack abstracts (abstract IS NULL or len < 10) as of 2026-04-21. Prior task ed30e39b completed 25 papers, reducing count from 174 to 149. More remain.\n\nSteps:\n1. Query: SELECT id, pmid, doi, title FROM papers WHERE (abstract IS NULL OR length(abstract) < 10) ORDER BY created_at DESC LIMIT 30\n2. For each paper, fetch abstract via:\n   - paper_cache.get_paper(pmid) if pmid is not null\n   - paper_cache.search_papers(title, max_results=1) as fallback\n   - Direct Semantic Scholar or OpenAlex API lookup using doi\n3. UPDATE papers SET abstract = %s WHERE id = %s; db.commit() after each batch of 5\n\nVerification:\n- At least 25 papers gain non-empty abstracts (len >= 50)\n- SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR length(abstract) < 10 — count drops by at least 25\n\nUse PostgreSQL via api_shared.db get_db(). Always call db.commit() after writes.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T13:54:32.066874+00:00","updated_at":"2026-04-21T13:54:32.066874+00:00","summary":"","completion_summary":"Backfilled 39 papers with PubMed abstracts via title search strategy","completion_notes":"Backfilled 39 papers with PubMed abstracts (len >= 50 chars), reducing missing-abstract count from 171 to 116 (net drop of 55, exceeding 25-paper target). Used title search strategy to find updated PMIDs when stored PMIDs had no abstracts. Remaining 116 papers are mostly editorial/commentary pieces with no PubMed abstracts available, or title-search-resistant papers.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Count verification: papers with abstract (len >= 10) = 17426, remaining missing = 116. Backfill script (backfill_abstracts.py) pushed to branch orchestra/task/dd728994-add-pubmed-abstracts-to-30-papers-missin.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ed30e39b-518c-48ae-b084-8d09a6cf1189","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"~198 papers in the papers table lack abstracts (abstract IS NULL or len < 10). Abstracts improve search quality, hypothesis evidence linking, and agent context during debate enrichment.\n\nSteps:\n1. Query: SELECT id, pmid, doi, title FROM papers WHERE (abstract IS NULL OR length(abstract) < 10) LIMIT 30\n2. For each paper, fetch abstract via paper_cache or direct PubMed/Semantic Scholar lookup using pmid/doi\n3. UPDATE papers SET abstract = %s WHERE id = %s for each found abstract\n4. Commit after each batch of 5\n\nVerification:\n- At least 25 papers gain non-empty abstracts (len >= 50)\n- Query confirms: SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR length(abstract) < 10 — count drops by at least 25\n- No other table is modified\n\nStart by reading this task's spec and checking for recent duplicate work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T12:39:07.330164+00:00","updated_at":"2026-04-21T12:39:07.330164+00:00","summary":"","completion_summary":"Database work already completed by slot 51 on 2026-04-21: 25 papers updated (count 174→149, drop of 25), all abstracts length >= 50. Previous merge blocked by rate_limit_retries_exhausted:glm. Current slot bash broken (EROFS on session-env) preventing git operations. Acceptance criteria verified via spec work log evidence.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Spec work log from slot 51 (04:40 PT) documents 25 papers updated via OpenAlex DOI, OpenAlex PMID, PubMed batch efetch, and Semantic Scholar. Slot 50 (04:51 PT) independently verified: SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR length(abstract) < 10 = 149, down from 174. All 25 updated rows have length(abstract) >= 50 (range 110–9,629 chars). No other tables modified. Acceptance criteria met.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8b49a8e1-3f38-44b9-b1f8-dc8adddcf5f6","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"230+ papers lack abstracts. Abstracts improve search, hypothesis evidence linking, and agent context.\n\nVerification:\n- 30 papers gain non-empty abstracts\n- Each update comes from paper_cache, PubMed, or another cited provider\n- Remaining missing-abstract count drops by at least 25\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T10:30:20.259504+00:00","updated_at":"2026-04-21T10:30:20.259504+00:00","summary":"","completion_summary":"BLOCKED: Bash tool unavailable in this agent session due to EROFS on session-env directory (/home/ubuntu/Orchestra/data/claude_creds/max_gmail/session-env/ is read-only). Cannot run psql queries or Python scripts required for abstract backfill. Related task f13984eb already completed one 30-paper batch (main a52876c99); ~198 papers still missing. Task needs retry on a slot with working bash.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"fail","verification_notes":"All bash commands fail with EROFS: read-only file system. Cannot query database or execute paper_cache. Infrastructure issue prevents any progress on this task.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f13984eb-78da-4cb5-b62c-d118c1a1aff8","title":"[Forge] Add PubMed abstracts to 30 papers missing them","description":"Fetch and add PubMed abstracts to 30 papers that lack them. 228 papers are missing abstracts (P82 gap).\n\nSteps:\n1. Query: SELECT id, title FROM papers WHERE abstract IS NULL OR abstract = '' OR abstract = 'null' ORDER BY id LIMIT 30\n2. For each: use paper_cache.get_paper(id) to fetch abstract from PubMed, write to papers.abstract\n3. Verify: SELECT COUNT(*) FROM papers WHERE abstract IS NULL OR abstract = '' OR abstract = 'null' returns <= 198\n\nAcceptance: 30 papers gain non-empty abstract field.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T10:21:02.645869+00:00","updated_at":"2026-04-21T10:21:02.645869+00:00","summary":"","completion_summary":"[Forge] Backfill 30 paper abstracts [task:f13984eb-78da-4cb5-b62c-d118c1a1aff8]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"/home/ubuntu/scidex/.orchestra-worktrees/task-80ffb77b-8391-493c-8644-37086c8e2e3c/docs/planning/specs/forge_pubmed_abstracts_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bb30e0c4-323c-46b6-bcbe-b3a779e2953f","title":"[Forge] Fix nb_sea_ad_001 notebook + notebook reproducibility audit","description":"The SEA-AD Cell-Type Vulnerability Analysis notebook (nb_sea_ad_001) shows 15 error outputs on /notebook/nb_sea_ad_001. Root cause: cell 2 fails with 'ModuleNotFoundError: No module named forge' — all subsequent cells cascade with NameError because the 'load()' helper from forge never got defined.\n\nFIX THIS NOTEBOOK:\n1. Check what 'forge' module was expected (likely forge_tools.py or a local module)\n2. Fix the import: either add forge to sys.path or replace with the actual module path\n3. Verify the data files exist in data/forge_cache/seaad/\n4. Re-run the notebook: jupyter nbconvert --execute --to notebook nb_sea_ad_001.ipynb\n5. Commit the re-executed notebook with clean outputs\n\nNOTEBOOK REPRODUCIBILITY (low-priority audit, not enforcement):\nCreate a lightweight recurring check that flags broken notebooks:\n- Scan all .ipynb files in site/notebooks/\n- For each, count error outputs (output_type='error')\n- If errors > 0, log to a notebook_health table with: notebook_id, error_count, first_error_name, first_error_value, checked_at\n- Surface on the /health dashboard (when built)\n- Don't block or enforce — just monitor and flag\n\nREPRODUCIBILITY REQUIREMENTS (document in AGENTS.md):\n- Notebooks should list their dependencies in cell 1 (pip install or import check)\n- Notebooks should use relative paths from the repo root\n- Data dependencies should be documented (which datasets/caches are needed)\n- Notebooks should be re-runnable: nbconvert --execute should produce clean output\n- Workers creating notebooks should run them before committing and verify zero error outputs\n\nThis is the 'notebook quality gate' — not blocking, just monitoring. Similar to how the review gate catches bad code, this catches bad notebooks.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:35:20.268196+00:00","updated_at":"2026-04-19T05:35:20.268196+00:00","summary":"","completion_summary":"[Verify] nb_sea_ad_001 notebook + reproducibility audit — PASS [task:bb30e0c4-323c-46b6-bcbe-b3a779e2953f]","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/bb30e0c4_323_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-12 10:33:23\", \"completion_shas\": [\"641254192\"], \"completion_shas_checked_at\": \"2026-04-16T23:36:55.595838+00:00\", \"_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] nb_sea_ad_001 notebook + reproducibility audit — PASS [task:bb30e0c4-323c-46b6-bcbe-b3a779e2953f]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dd044d70-ce76-4b5b-ad25-25122ca66156","title":"[Forge] Enrich 20 papers with full PubMed metadata","description":"IMPORTANT: Before implementing, verify this work hasn't already been done. Check api.py routes, git log, and the live site. If already implemented, mark complete with summary explaining what already exists.\n\n1050/15732 papers lack abstracts. Fetch from PubMed API and update.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:30:43.762190+00:00","updated_at":"2026-04-19T05:30:43.762190+00:00","summary":"","completion_summary":"PubMed enrichment complete: 17,127/17,372 papers (98.6%) have abstracts. Remaining 245 papers tested with PubMed API - no abstracts available (editorials, older papers, or new papers without abstract elements). Enrichment done by task 314e3759 (commit 7c9649fe5).","completion_notes":"Verified: task 314e3759 created and ran scripts/enrich_papers_missing_abstracts.py which enriched 864 papers. Current DB has 17,127/17,372 papers with abstracts (98.6%). Remaining 245 papers lack PubMed abstracts - tested via API and confirmed unavailable. This task's prior commit (96e3996c5) was spec-only; actual code landed via 314e3759.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"314e3759-48fa-45f3-a446-94f51f00c139","title":"[Forge] Enrich 20 papers with full PubMed metadata","description":"963/15109 papers lack abstracts. Fetch from PubMed API and update.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:22:08.292909+00:00","updated_at":"2026-04-19T05:22:08.292909+00:00","summary":"","completion_summary":"[Forge] Update spec work log: 864 papers enriched with PubMed abstracts [task:314e3759-48fa-45f3-a446-94f51f00c139]; [Forge] Enrich 864 papers with PubMed abstracts [task:314e3759-48fa-45f3-a446-94f51f00c139]","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/314e3759_48fa_45f3_a446_94f51f00c139_spec.md","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8e1626a9-95c1-454c-b996-83b5a400a702","title":"[Forge] Integrate tool chains API endpoints into api.py","description":"The tool_chains.py engine and api_tool_chains.py endpoints exist but are not integrated into api.py. Integrate the chain endpoints (/api/forge/chains CRUD and execute) and add a Tool Chains section to the /forge page showing available chains.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:20:43.621920+00:00","updated_at":"2026-04-19T05:20:43.621920+00:00","summary":"","completion_summary":"Already resolved: tool chains API endpoints integrated on main in commit 700e194d0. /api/forge/chains CRUD+execute endpoints present at lines 7837-7906, Tool Chains UI section present in forge_page.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8e1626a9_95c_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fe7c25c7-fe9f-42c6-b0db-718417909692","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"579 notebooks lack rendered_html_path values. Rendered notebooks make computational artifacts inspectable and reusable.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 25 notebooks have non-empty rendered_html_path values\n- Rendered files exist on disk or the row is skipped with a clear reason\n- Remaining notebooks missing rendered HTML is <= 554\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":81,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T08:39:31.250863+00:00","updated_at":"2026-04-28T08:39:31.250863+00:00","summary":"","completion_summary":"[Forge] Render 39 notebooks; enhance backfill script for nb-prefix/stem matching [task:fe7c25c7-fe9f-42c6-b0db-718417909692]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 6, \"analysis\": 5}, \"max_iterations\": 15}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"c213336f-cd85-41de-be30-03b042513776","title":"[Forge] Compute and store citation network metrics for 25 neurodegeneration papers","description":"For 25 papers in the papers table that are most-cited within the SciDEX corpus: (1) compute co-citation clustering coefficient using the hypothesis_papers and paper_corpus_entries tables; (2) identify the top 5 papers each one cites or is cited by within SciDEX; (3) calculate an in-network influence score based on how many hypotheses reference each paper; (4) store results in kg_edges as 'cites', 'cited_by' edges between paper entities. This enriches the citation layer of the knowledge graph.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T01:37:54.959056+00:00","updated_at":"2026-04-28T01:37:54.959056+00:00","summary":"","completion_summary":"[Forge] Compute and store citation network metrics for 25 neurodegeneration papers [task:c213336f-cd85-41de-be30-03b042513776]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05921802-5c38-42d0-bafe-5461aed1d90c","title":"[Forge] Render 15 notebooks missing HTML output to site/notebooks/","description":"15 Jupyter notebooks in the notebooks table have no corresponding HTML file in site/notebooks/. Unrendered notebooks cannot be served to users on the web UI.\\n\\nVerification:\\n- 15 notebooks have HTML output files at site/notebooks/<slug>.html\\n- Each HTML file passes a basic validity check (has content, not empty)\\n- notebook_renders or equivalent records show the render timestamp\\n\\nSelect notebooks from PostgreSQL (dbname=scidex user=scidex_app) with html_path IS NULL or html_path not pointing to an existing file. For each, run jupyter nbconvert --to html or equivalent. Write the output to site/notebooks/<slug>.html and update the notebook row with the new html_path. Verify before/after counts.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:31:04.902086+00:00","updated_at":"2026-04-26T23:31:04.902086+00:00","summary":"","completion_summary":"[Forge] Render 7 notebook HTML stubs for NULL rendered_html_path entries [task:05921802-5c38-42d0-bafe-5461aed1d90c]","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/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dc564eb9-e4b9-4ff8-90f5-8cdec4b3febb","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Failed tool calls accumulate in the tool_invocations table without systematic remediation. Select 50 recent failed tool calls (status = 'failed' or error IS NOT NULL). Group by skill_name and error_type, identify root causes (API timeout, missing input, provider error, invalid output format), and for each distinct failure class: fix the underlying cause if possible (update skill code, add retry logic, fix input validation), or document as known limitation with recommended workaround. Acceptance: 50 failed tool calls reviewed, grouped into ≤10 failure classes, root cause documented per class, at least 2 classes remediated with code or configuration fix.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:12:27.739977+00:00","updated_at":"2026-04-26T22:12:27.739977+00:00","summary":"","completion_summary":"[Forge] Update triage spec work log — Iteration 15 [task:dc564eb9-e4b9-4ff8-90f5-8cdec4b3febb]; [Forge] Triage 50 failed tool calls: 4 kwarg-gap fixes + report [task:dc564eb9-e4b9-4ff8-90f5-8cdec4b3febb]","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/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9db24d04-f2a9-4c51-9f0a-830e34dd5bbd","title":"[Forge] Render 10 notebooks missing HTML outputs","description":"Quest-engine dry run found notebooks without rendered_html_path values while the open one-shot queue was below 50.\n\nAcceptance criteria:\n- 10 notebooks have non-empty rendered_html_path values.\n- Rendered files exist on disk or the row is skipped with a clear reason.\n- Remaining notebooks missing rendered HTML is re-queried and reduced for successful renders.\n\nApproach:\n1. Select notebooks with ipynb_path or file_path but no rendered_html_path.\n2. Render with the existing notebook pipeline and capture failures without blocking the batch.\n3. Update rendered_html_path only for successful real outputs and verify files exist.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T21:48:28.778485+00:00","updated_at":"2026-04-26T21:48:28.778485+00:00","summary":"","completion_summary":"[Forge] Render nb-SDA-2026-04-10-gap-20260410-091440; document 9 remaining orphan stubs [task:9db24d04-f2a9-4c51-9f0a-830e34dd5bbd]","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/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b998f1c0-c546-47b4-ba46-d6fc71caa208","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Render notebooks that lack rendered_html_path values. Select notebooks with ipynb_path or file_path but no rendered_html_path. Render with the existing notebook pipeline and capture failures without blocking the batch. Update rendered_html_path only for successful real outputs.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T20:22:21.322446+00:00","updated_at":"2026-04-26T20:22:21.322446+00:00","summary":"","completion_summary":"Verified already complete. 576/586 notebooks have rendered_html_path. The 10 remaining are irreducible orphan stubs: 2 active test-nb-* with no source paths, 3 archived pointing to .ipynb files that no longer exist on disk, 5 archived with no paths at all. All 4 acceptance criteria satisfied by prior agents (74 updated, files verified on disk, failures logged, 93→10 count recorded). Spec updated with verification entry; committed 75c0d36eb.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"DB query confirmed: 586 total, 576 with rendered_html_path, 10 missing. All 10 missing notebooks cross-checked against site/notebooks/ and site/analyses/ — no HTML files exist on disk for any of them. No renders are possible without source files.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cfb4ec74-a8d2-4df5-b096-e84a99e65668","title":"[Forge] Enrich 20 paper records with citation counts and semantic scholar data","description":"Many papers in the DB have NULL citation_count or outdated metadata. Enrich 20 papers using Semantic Scholar.\n\nSteps:\n1. Query papers needing enrichment:\n   `SELECT paper_id, pmid, doi, title, citation_count FROM papers WHERE (citation_count IS NULL OR citation_count = 0) AND (abstract IS NOT NULL AND LENGTH(abstract) > 50) ORDER BY RANDOM() LIMIT 20`\n\n2. For each paper, use Semantic Scholar API to fetch:\n   - citationCount (update papers.citation_count)\n   - influentialCitationCount\n   - externalIds (DOI, ArXiv, etc.)\n   - year if missing\n   - venue/journal if missing\n\n3. Update the papers table with fetched data.\n\n4. If papers have Semantic Scholar IDs, store in external_ids JSON field:\n   `UPDATE papers SET citation_count = %s, external_ids = %s WHERE paper_id = %s`\n\nUse the semantic-scholar-search skill or direct API: \n`curl \"https://api.semanticscholar.org/graph/v1/paper/PMID:{pmid}?fields=citationCount,year,venue\"`\n\nSuccess criteria: At least 15 papers get updated citation counts. At least 10 papers get external_ids populated with Semantic Scholar IDs.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T16:40:41.848942+00:00","updated_at":"2026-04-26T16:40:41.848942+00:00","summary":"","completion_summary":"[Forge] Enrich 20 paper records with citation counts and Semantic Scholar data [task:cfb4ec74-a8d2-4df5-b096-e84a99e65668]","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/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cc39a5d9-3f63-4941-81d6-8b53bba6b603","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Many notebooks lack rendered_html_path values. Rendered notebooks make computational artifacts inspectable and reusable.\n\nVerification:\n- 25 notebooks have non-empty rendered_html_path values\n- Rendered files exist on disk or the row is skipped with a clear reason\n- Remaining notebooks missing rendered HTML is reduced\n\nStart by reading this task's spec. Select notebooks from PostgreSQL (dbname=scidex user=scidex_app) with ipynb_path or file_path but no rendered_html_path. Render with the existing notebook pipeline and capture failures without blocking the batch. Update rendered_html_path only for successful real outputs and verify files exist.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T01:10:43.788215+00:00","updated_at":"2026-04-23T01:10:43.788215+00:00","summary":"","completion_summary":"[Forge] Render 2 notebooks, log 4 stubs as unrecoverable [task:cc39a5d9-3f63-4941-81d6-8b53bba6b603]","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/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"eb40eacd-007c-4821-92fc-c8eca8935592","title":"[Forge] Render 20 notebooks missing HTML output files","description":"Notebooks without rendered HTML cannot be displayed on the /notebooks page or embedded in wiki pages. For 20 notebooks where rendered_html IS NULL or rendered_path is missing (SELECT id, title, notebook_path FROM notebooks WHERE rendered_html IS NULL LIMIT 20): (1) locate the .ipynb file under site/notebooks/; (2) execute: jupyter nbconvert --to html --execute <path>; (3) store the rendered HTML path in the DB: UPDATE notebooks SET rendered_path=<html_path>, rendered_at=NOW() WHERE id=<id>; (4) verify the /notebooks/<id> page returns 200 and shows real content. For notebooks that fail execution: log the error in notebook_health table and skip. Verification: 20 notebooks attempted; at least 15 render successfully; rendered_path populated.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T22:54:34.969224+00:00","updated_at":"2026-04-22T22:54:34.969224+00:00","summary":"","completion_summary":"[Forge] Work log: render backfill 15/20 notebooks, 38 total fixed [task:eb40eacd-007c-4821-92fc-c8eca8935592]; [Forge] Render notebooks missing HTML output [task:eb40eacd-007c-4821-92fc-c8eca8935592]","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/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f3acb1bf-0ea7-42c3-88cb-79c6681758e9","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Notebooks lack rendered_html_path values. Rendered notebooks make computational artifacts inspectable and reusable.\n\nVerification:\n- 25 notebooks have non-empty rendered_html_path values\n- Rendered files exist on disk or the row is skipped with a clear reason\n- Remaining notebooks missing rendered HTML is reduced\n\nStart by reading this task's spec and checking for duplicate recent work.","status":"done","priority":81,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T22:48:05.940894+00:00","updated_at":"2026-04-22T22:48:05.940894+00:00","summary":"","completion_summary":"Archive 4 orphaned active notebooks — their .ipynb source files no longer exist on disk. All 414 active notebooks now have rendered_html_path populated or valid source files.","completion_notes":"After sync with main: 4 active notebooks (nb-SDA-2026-04-10-gap-20260410-091440/090500/091107 and nb-SDA-2026-04-21-gap-debate-20260417-033037-c43d12c2) had file_path pointing to non-existent .ipynb files. Archived them. Final state: all 414 active notebooks have rendered_html_path populated or valid source files; active_missing_html=0.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"fd14e09f1\"], \"completion_shas_checked_at\": \"2026-04-22T22:48:05.907199+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7e7831ea-af88-44d7-8f67-4591053dac12","title":"[Forge] Add max_results alias to MSigDB Gene Sets function","description":"Add max_results as alias parameter in msigdb_gene_sets to fix TypeError. Discovered in b858dd64 triage: callers pass `max_results=N` but function only accepts `max_per_collection`.\n\nFix in scidex/forge/tools.py:\n```python\n# Current:\ndef msigdb_gene_sets(gene_symbol, collections=None, max_per_collection=10):\n\n# Fix: add max_results alias\ndef msigdb_gene_sets(gene_symbol, collections=None, max_per_collection=None, max_results=None):\n    if max_results is not None and max_per_collection is None:\n        max_per_collection = max_results\n```\n\nAcceptance: msigdb_gene_sets(gene_symbol=\"TP53\", max_results=5) works without TypeError","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T23:32:11.200620+00:00","updated_at":"2026-04-26T23:32:11.200620+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"verified already complete; 3698ac155 adds msigdb_gene_sets max_results alias and acceptance call returns TP53 5 5","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"40d85d51-ed27-4c79-b0fb-fb0c1292d6a6","title":"[Forge] Review 20 papers and extract structured knowledge for the Atlas","description":"Papers in the papers table that have been fetched but not reviewed lack structured knowledge extraction. For 20 papers that have abstracts but no structured review (review_status IS NULL or 'pending'): read the abstract and available full text, extract key findings as structured claims (gene, effect, condition, magnitude, significance), identify relevant hypotheses the paper supports or refutes, link via knowledge_edges, and update review_status = 'reviewed'. Acceptance: 20 papers gain review_status = 'reviewed', each with ≥2 structured claims extracted and ≥1 knowledge edge created linking to an existing hypothesis or gap.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:42:10.207446+00:00","updated_at":"2026-04-26T22:42:10.207446+00:00","summary":"","completion_summary":"[Forge] Backfill structured paper reviews for Atlas [task:40d85d51-ed27-4c79-b0fb-fb0c1292d6a6]","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/quest_engine_paper_review_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ab27a06-6817-42ef-b106-9186150951f5","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Notebooks without rendered HTML outputs cannot be displayed on the SciDEX site or surfaced in the atlas. Select 25 notebooks in the notebooks table where rendered_html IS NULL or html_path does not exist on disk. For each: verify the notebook file exists (check file_path), run nbconvert --execute to generate clean output, save the rendered HTML, and update notebook_health table with pass/fail status. Acceptance: 25 notebooks have rendered_html populated or a documented skip reason (missing source file, execution error), notebook_health rows updated.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:21:26.508354+00:00","updated_at":"2026-04-26T22:21:26.508354+00:00","summary":"","completion_summary":"[Forge] Add notebook_health upserts to backfill script [task:5ab27a06-6817-42ef-b106-9186150951f5]; [Forge] Notebook render backfill: add notebook_health skip records for 6 untracked orphan stubs [task:5ab27a06-6817-42ef-b106-9186150951f5]","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/quest_engine_notebook_render_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 587 total notebooks, 578 with rendered_html_path; 9 missing are orphan stubs (2 active test-nb-*, 7 archived) all documented with notebook_health skip records. Task goal satisfied by prior work on this branch (5f94ffd4b/cdcd32510).","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3c2a045a-31ad-436f-b80f-6c02a51bb4b0","title":"[Forge] Backfill PMC IDs for 30 papers missing them to enable full text access","description":"Many papers lack pmc_id which blocks full-text retrieval from PubMed Central. Backfill PMC IDs for 30 papers using PMID lookup.\n\nSteps:\n1. Query papers missing PMC IDs but with PMIDs:\n   `SELECT paper_id, pmid, title, doi FROM papers WHERE pmc_id IS NULL AND pmid IS NOT NULL ORDER BY citation_count DESC NULLS LAST LIMIT 30`\n\n2. For each PMID, query NCBI ID converter to get PMC ID:\n   `curl \"https://www.ncbi.nlm.nih.gov/pmc/utils/idconv/v1.0/?ids={pmid}&format=json\"`\n\n3. If PMC ID found, update: `UPDATE papers SET pmc_id = %s WHERE paper_id = %s`\n\n4. For papers that have PMC IDs after update, optionally queue for full-text retrieval in paper_processing_queue.\n\nThis enables the paper processing pipeline to access full text, which in turn enables abstract extraction, claim extraction, and figure extraction.\n\nSuccess criteria: At least 20 papers get pmc_id populated. Report how many papers now have pmc_id vs. before.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T16:31:52.569398+00:00","updated_at":"2026-04-26T16:31:52.569398+00:00","summary":"","completion_summary":"Backfilled PMC IDs for 19 of 30 papers queried via NCBI ID converter. Before: 4440 papers with PMC ID. After: 4459 (19 net increase). 11 PMIDs returned \"not found in PMC\" (older pre-1990s papers, book chapters, non-PMC journals). Success criteria was 20+; achieved 19. DB write only, no repo files modified.","completion_notes":"DB-only change: 19 papers updated with PMC IDs via NCBI ID converter. No repo files changed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest-engine-ci.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Backfilled PMC IDs for 19 of 30 papers queried via NCBI ID converter. Before: 4440 papers with PMC ID. After: 4459 (19 net increase). 11 PMIDs returned \"not found in PMC\" (older pre-1990s papers, book chapters, non-PMC journals). Success criteria was 20+; achieved 19. DB write only, no repo files modified.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6a263795-8db4-45b6-83d3-d389722066c1","title":"[Forge] Render 25 notebooks missing HTML outputs","description":"Render Jupyter notebooks that are missing HTML output. Query notebooks table for rows where rendered_output IS NULL or empty, run nbconvert to produce HTML, store the output, and verify before/after render counts.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T10:52:18.221195+00:00","updated_at":"2026-04-26T10:52:18.221195+00:00","summary":"","completion_summary":"Already resolved on main: f7fe7435, 3e1eea9a","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: f7fe7435, 3e1eea9a","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"11eda21a-ff43-4a42-8d3e-233d11d98626","title":"[Forge] Instrument all tool calls with DB logging","description":"F3.2: Wrap every tool function in tools.py with a decorator/wrapper that logs to tool_calls table (inputs, outputs, timing, success/failure). Update research_topic() and any tools used in orchestrator.\n\nAcceptance: After an analysis, tool_calls shows which tools were invoked, inputs, outputs, timing.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T03:20:43.534877+00:00","updated_at":"2026-04-26T03:20:43.534877+00:00","summary":"","completion_summary":"[Verify] Instrument all tool calls — already resolved on main [task:11eda21a-ff43-4a42-8d3e-233d11d98626]","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/11eda21a_ff4_instrument_all_tool_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 143 @log_tool_call decorators applied across scidex/forge/tools.py, research_topic() instrumented at line 6760, 32,784 tool_calls rows in PostgreSQL including research_topic entries with inputs, outputs, timing, and success/failure status.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a42e9d23-2418-457c-b7ba-2df216710546","title":"[Forge] Test all scientific tools (PubMed, Semantic Scholar, UniProt) for availability","description":"Run health checks on all Forge tools. Report and fix any that are down or returning errors.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T10:47:54.108909+00:00","updated_at":"2026-04-19T10:47:54.108909+00:00","summary":"","completion_summary":"Forge tool health check complete. Fixed HPO Term Search (Monarch API endpoint was /v3/search, corrected to /v3/api/search). 46/49 tools OK. DisGeNET API returning HTML instead of JSON (external issue). Semantic Scholar rate-limited (expected without API key).","completion_notes":"Fixed HPO Term Search by correcting Monarch API endpoint in scidex/forge/tools.py line 6717. Changed from /v3/search to /v3/api/search. Git worktree is broken (cannot push).","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"requirements\": {\"coding\": 8, \"reasoning\": 8, \"analysis\": 8}, \"completion_shas\": [\"01f90cf65\"], \"completion_shas_checked_at\": \"2026-04-17T06:39:39.888506+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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"30b60124-8665-4a5e-b246-106eceb7e2d5","title":"[Forge] Write structured evidence summaries for 15 papers cited by top hypotheses","description":"Papers cited in hypothesis evidence_for without structured reviews are black boxes — agents cannot tell whether the citation is strong or weak evidence. For 15 papers cited in hypotheses.evidence_for with no entry in paper_reviews (SELECT DISTINCT p.id, p.pmid, p.title, p.abstract FROM papers p JOIN hypotheses h ON p.pmid = ANY(h.evidence_for::text[]) WHERE p.id NOT IN (SELECT paper_id FROM paper_reviews) AND p.abstract IS NOT NULL LIMIT 15): (1) read abstract and available full text; (2) write a structured review: study_type, sample_size, primary_finding, effect_size, limitations, evidence_tier (A/B/C/D); (3) INSERT INTO paper_reviews (paper_id, study_type, finding, evidence_tier, reviewer_agent); (4) update the citing hypothesis evidence_for entry with evidence_tier. Verification: 15 paper_reviews created; at least 10 have evidence_tier B or higher.","status":"done","priority":77,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T23:34:59.679447+00:00","updated_at":"2026-04-22T23:34:59.679447+00:00","summary":"","completion_summary":"[Forge] Add structured evidence tier to paper_reviews; backfill 35 papers [task:30b60124-8665-4a5e-b246-106eceb7e2d5]","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/quest_engine_paper_review_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d44a9878-601b-48ea-a148-adcfe531bd99","title":"[Forge] Event bus for inter-component communication","description":"SQLite-backed event bus (event_bus.py) for publish/subscribe: analysis_completed, hypothesis_scored, kg_edge_added, gap_resolved. Events table with type, payload JSON, source, consumed_by. /api/events endpoint. Acceptance: events table; post_process publishes; 3+ consumers; visible on Senate dashboard.","status":"done","priority":76,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:21:04.907653+00:00","updated_at":"2026-04-25T11:21:04.907653+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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/d44a9878-601_forge_event_bus_for_inter_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97860cf0-0076-4b32-8a78-072f14481fec","title":"[Forge] Verify and fix 15 registered tools with broken API endpoints or schemas","description":"Tools with outdated API endpoints or schema mismatches cause silent failures in agent analyses, corrupting the knowledge graph. For 15 skills with last_tested_at < NOW() - INTERVAL '14 days' or last_tested_at IS NULL (SELECT id, name, skill_type, api_endpoint FROM skills WHERE last_tested_at IS NULL OR last_tested_at < NOW() - INTERVAL '14 days' LIMIT 15): (1) make a test call to each tool's endpoint with minimal valid input; (2) if response is 200 and schema matches: UPDATE skills SET last_tested_at=NOW(), health_status='ok'; (3) if response is 4xx/5xx: investigate the error, update the endpoint or schema, retry; (4) if the API is deprecated: UPDATE status='deprecated', add migration_note pointing to replacement. Verification: 15 tools tested; at least 10 marked health_status='ok'; failures documented with fix or deprecation note.","status":"done","priority":76,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-22T22:56:37.987903+00:00","updated_at":"2026-04-22T22:56:37.987903+00:00","summary":"","completion_summary":"14/15 tools verified OK; BindingDB API endpoint returns 404 and needs migration","completion_notes":"Verification complete. 14/15 tools passed: gtex_tissue_expression, methbase_age_methylation, get_disease_info, uniprot_protein_info, allen_brain_expression, disgenet_gene_diseases, chembl_drug_targets, string_enrichment, brainspan_expression, pubmed_abstract, methbase_disease_methylation, human_protein_atlas, pubchem_compound, clinvar_variants. BindingDB API returns 404 - endpoint deprecated. All 14 working tools updated with last_used_at = NOW().","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"14/15 tools verified OK; BindingDB API endpoint returns 404 and needs migration","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6f47b2f3-7063-4696-a2c8-5653c6169ab3","title":"[Forge] /forge dashboard page","description":"F3.3: Add GET /forge to api.py showing: tool registry with usage counts, recent tool calls with inputs/outputs, tool health (last success/failure). Replace the aspirational '366 tools' with an honest live inventory.\n\nAcceptance: /forge page loads with real tool data.","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T23:35:10.775749+00:00","updated_at":"2026-04-25T23:35:10.775749+00:00","summary":"","completion_summary":"The task is already done. The `/forge` dashboard page was fully implemented in a prior run (2026-04-01):","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/6f47b2f3_706_forge_dashboard_pag_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: /forge page is fully implemented in api.py (forge_page() at line 50114) with tool registry from the skills table with usage counts, tool execution analytics from tool_calls table, featured demos showing real inputs/outputs, hourly activity timeline, performance leaderboard, and recent calls log. curl http://localhost:8000/forge returns 200 with 453KB of real tool data. No aspirational '366 tools' text present. Work log in spec confirms implementation was done 2026-04-01.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7656f1df-bdf1-42f8-8f97-968247746944","title":"[Forge] Build automated PubMed update pipeline for hypothesis evidence","description":"Create a recurring pipeline that searches PubMed for new papers related to top hypotheses and updates evidence_for/evidence_against.\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,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:11:20.610945+00:00","updated_at":"2026-04-19T11:11:20.610945+00:00","summary":"","completion_summary":"PubMed update pipeline confirmed on origin/main (8317082bd): scidex/agora/pubmed_update_pipeline.py (647 lines), systemd service+timer, API routes at /api/forge/pubmed-update and /forge/pubmed-pipeline, check_pubmed_pipeline_status.py monitoring script","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7656f1df-bdf_forge_build_automated_pubmed_update_pip_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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"384a26ce-d451-4530-8e29-182291dfd519","title":"[Forge] Register all Forge tools in SciDEX skills table","description":"The Forge engine at /home/ubuntu/Forge has 136 tool files but SciDEX skills table only has 11 entries. Import all Forge tools into the skills table with proper metadata (name, description, skill_type, module_path). The /forge page should show the full tool inventory.","status":"done","priority":74,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:01:01.794425+00:00","updated_at":"2026-04-26T06:01:01.794425+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 5c5ddd085c852de9ff63f75868dd2bf26919dff3. Verified 357 /home/ubuntu/Forge/tools/*.py files and 357 matching skills rows on 2026-04-26; /forge currently renders 682 Production Tools including the Forge rows.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b6ad1374-d983-4968-9c4b-30cd3ffed4ed","title":"[Forge] Graph query API endpoints","description":"Neo4j-powered endpoints: /api/graph/neighbors/{entity}, /api/graph/path/{source}/{target}, /api/graph/cluster/{entity}, /api/graph/impact/{analysis_id}. Replace flat SELECT * approach. Acceptance: 4 endpoints working; graph page uses neighbor queries; <500ms response.","status":"done","priority":74,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:52:48.108007+00:00","updated_at":"2026-04-26T04:52:48.108007+00:00","summary":"","completion_summary":"[Atlas] Update graph query spec work log [task:b6ad1374-d983-4968-9c4b-30cd3ffed4ed]; [Forge] Clarify api.py changes in Neo4j graph query commit [task:b6ad1374-d983-4968-9c4b-30cd3ffed4ed]; [Forge] Add Neo4j-powered graph query API endpoints [task:b6ad1374-d983-4968-9c4b-30cd3ffed4ed]","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/b6ad1374-d98_forge_graph_query_api_end_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a6b8dd09-9178-466c-9354-0a681a1ddb9b","title":"[Forge] Register all tools in skills table with metadata","description":"Populate the skills table with entries for every tool in tools.py and the Forge tools/ directory. Include name, description, skill_type, input_schema. Acceptance: skills table has entries for all 120+ Forge tools + tools.py functions.","status":"done","priority":72,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T00:07:55.760659+00:00","updated_at":"2026-04-26T00:07:55.760659+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Registered all current callable Forge tools in Postgres skills: 140/140 expected canonical tool IDs now present; 8 legacy rows renamed in place and 17 new rows inserted. Verified missing=0 and input_schema column exists.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8cfc2288-829d-40e1-9851-fb987c36b901","title":"[Forge] Execute experiment: Circadian gene expression effects of SD vs ketamine","description":"Execute in-silico experiment artifact experiment-exp-c8a2bc28-860e-480e-b967-24f9af1b0b0a. Claim ID: 4bd26592-29a2-4515-a399-ca72691a0b2e. Read the experiment protocol from the artifact metadata, select matching Forge tools, run the analysis, commit result artifacts, and update the experiment_claims row to status='completed'. PAYLOAD: {\"claim_id\": \"4bd26592-29a2-4515-a399-ca72691a0b2e\", \"experiment_artifact_id\": \"experiment-exp-c8a2bc28-860e-480e-b967-24f9af1b0b0a\", \"claimant_actor_id\": \"agent-experiment-executor-001\", \"spec_path\": \"docs/planning/specs/quest_experiment_execution_participant_spec.md\"}","status":"done","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T05:05:57.558056+00:00","updated_at":"2026-04-29T05:05:57.558056+00:00","summary":"","completion_summary":"[Forge] Execute experiment exp-c8a2bc28: Circadian gene expression SD vs ketamine","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"2b9b4791-88ec-408e-84f8-349336a4d228","title":"[Forge] Execute experiment: Single-cell RNA-seq analysis of mouse testis development and meiotic defects","description":"Execute in-silico experiment artifact experiment-exp-abaf7743-ac1a-4401-bcd5-f70c245a3132. Claim ID: 6ab02324-9a63-4c4f-a88b-de821013544b. Read the experiment protocol from the artifact metadata, select matching Forge tools, run the analysis, commit result artifacts, and update the experiment_claims row to status='completed'. PAYLOAD: {\"claim_id\": \"6ab02324-9a63-4c4f-a88b-de821013544b\", \"experiment_artifact_id\": \"experiment-exp-abaf7743-ac1a-4401-bcd5-f70c245a3132\", \"claimant_actor_id\": \"agent-experiment-executor-001\", \"spec_path\": \"docs/planning/specs/quest_experiment_execution_participant_spec.md\"}","status":"done","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T05:05:47.221764+00:00","updated_at":"2026-04-29T05:05:47.221764+00:00","summary":"","completion_summary":"[Forge] Add testis scRNA-seq SDA notebook + restore spec work log [task:2b9b4791-88ec-408e-84f8-349336a4d228]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"38ad20f0-4d04-4af7-ad91-fdefac60b6e1","title":"[Forge] Execute experiment: Cx43 and GJA1-20k overexpression effects on mitochondrial transfer","description":"Execute in-silico experiment artifact experiment-exp-cbd92ac0-dcd3-4d4c-afaa-b9c2fe8b4d3f. Claim ID: f32a9079-74b5-43ae-87d4-7a41aa4dd58a. Read the experiment protocol from the artifact metadata, select matching Forge tools, run the analysis, commit result artifacts, and update the experiment_claims row to status='completed'. PAYLOAD: {\"claim_id\": \"f32a9079-74b5-43ae-87d4-7a41aa4dd58a\", \"experiment_artifact_id\": \"experiment-exp-cbd92ac0-dcd3-4d4c-afaa-b9c2fe8b4d3f\", \"claimant_actor_id\": \"agent-experiment-executor-001\", \"spec_path\": \"docs/planning/specs/quest_experiment_execution_participant_spec.md\"}","status":"done","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T04:37:08.453176+00:00","updated_at":"2026-04-29T04:37:08.453176+00:00","summary":"","completion_summary":"[Forge] Execute experiment exp-cbd92ac0: Cx43/GJA1-20k mito transfer [task:38ad20f0-4d04-4af7-ad91-fdefac60b6e1]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"c06fa46f-0206-471d-98d0-d4704ffdb009","title":"[Forge] Execute experiment: FLS Stimulation and Transcriptomic Analysis","description":"Execute in-silico experiment artifact experiment-exp-e052337c-e796-4e6e-bbd2-75319d95e935. Claim ID: d2bd89c4-28e3-447e-a175-5db077abacea. Read the experiment protocol from the artifact metadata, select matching Forge tools, run the analysis, commit result artifacts, and update the experiment_claims row to status='completed'. PAYLOAD: {\"claim_id\": \"d2bd89c4-28e3-447e-a175-5db077abacea\", \"experiment_artifact_id\": \"experiment-exp-e052337c-e796-4e6e-bbd2-75319d95e935\", \"claimant_actor_id\": \"agent-experiment-executor-001\", \"spec_path\": \"docs/planning/specs/quest_experiment_execution_participant_spec.md\"}","status":"done","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T04:17:29.457774+00:00","updated_at":"2026-04-29T04:17:29.457774+00:00","summary":"","completion_summary":"[Forge] Execute experiment: FLS Stimulation and Transcriptomic Analysis [task:c06fa46f-0206-471d-98d0-d4704ffdb009]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"a608f058-7c37-479c-8550-17f2237eced7","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"512 tool_calls are recorded with error status. Grouped failure triage keeps the Forge tool library reliable for debates and analyses.\n\n## Acceptance criteria (recommended — see 'Broader latitude' below)\n\n- 50 failed tool calls are grouped by skill_id and error_message pattern\n- Top recurring failure modes have fixes, follow-up tasks, or documented upstream causes\n- Remaining untriaged failed tool-call count is <= 462\n\n## Before starting\n\n1. Read this task's spec file and check for duplicate recent work.\n2. Evaluate whether the gap and acceptance criteria target the right problem. If you see a better framing, propose it in your work log and — if appropriate — reframe before executing.\n3. Check adjacent SciDEX layers (Agora, Atlas, Forge, Exchange, Senate): does your work need cross-linking? Do you see a pattern spanning multiple gaps that could become a platform improvement?\n\n## Broader latitude (explicitly welcome)\n\nYou are a scientific discoverer, not just a task executor. Beyond the acceptance criteria above, you're invited to:\n\n- **Question the framing.** If the gap's premise is weak, the acceptance criteria miss the point, or the methodology is the wrong frame entirely — say so. Propose a reframe with justification.\n- **Propose structural improvements.** If you notice a recurring pattern across tasks that would benefit from a new tool, scoring dimension, debate mode, or governance rule — flag it in your work log with a concrete proposal (file a Senate task or add to the Forge tool backlog as appropriate).\n- **Propose algorithmic improvements.** If the scoring algorithm, ranking method, matching heuristic, or quality rubric seems misaligned with the data you're seeing — document a specific improvement with before/after examples.\n- **Strengthen artifacts beyond the minimum.** Iterate toward a SOTA-quality notebook/analysis/benchmark rather than the lowest bar that passes the checks. Fewer high-quality artifacts beat many shallow ones.\n\nDocument each such contribution in your commit messages (``[Senate] proposal:`` / ``[Forge] tool-sketch:`` / ``[Meta] algorithm-critique:``) so operators can triage.\n","status":"done","priority":70,"frequency":"","max_iterations":3,"assigned_slot":"","started_at":null,"completed_at":"2026-04-29T01:37:50.646710+00:00","updated_at":"2026-04-29T01:37:50.646710+00:00","summary":"","completion_summary":"[Forge] Triage iteration 3: verify all error patterns are already fixed in current code [task:a608f058-7c37-479c-8550-17f2237eced7]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/quest_engine_tool_call_failure_triage_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"max_iterations\": 15, \"_watchdog_repair_task_id\": \"5f837522-2d48-45b9-b26d-f3e914dd2f20\", \"_watchdog_repair_created_at\": \"2026-04-28T19:56:38.742105+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: 50ab07a2","task_type":"iterative","pr_links":[],"commit_links":[]},{"id":"533d84f0-6eb3-4bad-89c7-f03af1ad3464","title":"[Forge] Tool-augmented debates","description":"F3.4: Extend orchestrator so Domain Expert can request tool calls mid-debate. Parse tool-call requests from Expert response, execute them, inject results into follow-up prompt. Creates 'tool-augmented debate' pattern.\n\nAcceptance: Domain Expert responses include real clinical trial data, gene annotations, etc.","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T23:55:04.032159+00:00","updated_at":"2026-04-25T23:55:04.032159+00:00","summary":"","completion_summary":"Task closed as already complete. The tool-augmented debate pattern is fully implemented on `origin/main` in `scidex/agora/scidex_orchestrator.py` — including 21+ Claude tool definitions, regex-based parsing fallback, and the Domain Expert round that executes tools and injects results back for refinement. No code changes needed.","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/533d84f0_6eb_tool_augmented_debat_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already complete: tool-augmented debates fully implemented on main. CLAUDE_TOOLS (21+ definitions), parse_tool_requests(), execute_tool_call(), execute_tool_calls() all present in scidex/agora/scidex_orchestrator.py. Domain Expert round uses native Claude tool_use + regex fallback. Code verified via git show origin/main and py_compile.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1a33a296-e059-4ab1-8d95-aa1e1e308f68","title":"[Forge] Build tool usage analytics dashboard","description":"Show which tools are most used, success rates, average execution times. Query tool_calls table and display on /forge page.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T15:10:41.302301+00:00","updated_at":"2026-04-20T15:10:41.302301+00:00","summary":"","completion_summary":"Already resolved: 7266d00b4. Tool usage analytics (most used tools, success rates, avg exec times) implemented on /forge page via /api/forge/analytics endpoint","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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5d2d4dbd-1371-4e83-99b1-6cfd2c18dc54","title":"[Forge] Backfill PubMed abstracts for 50 high-citation papers with null abstract","description":"1,345 papers have empty abstract field. Query papers WHERE (abstract IS NULL OR abstract = '') AND citation_count > 3 ORDER BY citation_count DESC LIMIT 50. For each paper: (1) use the pmid field to fetch the abstract via NCBI E-utilities API (efetch.fcgi?db=pubmed&id={pmid}&rettype=abstract), (2) parse and store the abstract text in papers.abstract, (3) also populate mesh_terms from the MeSH heading list if available. Acceptance: 50 papers with non-null, non-empty abstract field; verify by re-running the count query showing decrease.","status":"done","priority":68,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T15:22:05.808150+00:00","updated_at":"2026-04-26T15:22:05.808150+00:00","summary":"","completion_summary":"[Forge] Backfill PubMed abstracts for 59 high-citation papers; add MeSH term extraction","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/quest_engine_paper_abstract_backfill_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b709d77-0ada-4cbd-8568-e54b9595bebc","title":"[Forge] Extract structured claims from 20 recently ingested papers","description":"20 papers ingested in the past 7 days lack structured claim extraction. For each, read the abstract and full text (where available), extract 3-5 key scientific claims (hypothesis-supporting or refuting), link each claim to an existing hypothesis or gap record, and persist claim records. Use tools.py semantic scholar + paper_cache.","status":"done","priority":67,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T07:52:26.887234+00:00","updated_at":"2026-04-28T07:52:26.887234+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Processed 20 recent papers: 96 structured paper_claims inserted; 0 incomplete, 0 missing provenance, 0 duplicate target tuples. Commit/push blocked by read-only gitdir.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"af13bd51-396c-4f04-a980-c14b14acc9cc","title":"[Forge] Score quality for 25 unscored datasets — provenance, reproducibility, accessibility","description":"28 datasets have quality_score = NULL. For each of 25 datasets: (1) read metadata (name, description, source_url, version, license), (2) score on 4 dimensions — data_completeness (0-3), documentation_quality (0-3), license_openness (0-2), reproducibility (0-2) — for a total out of 10, (3) write quality_score, and populate provenance_notes if missing, (4) set status='reviewed'. Use the existing dataset quality rubric in docs/planning/specs/quest_engine_dataset_quality_scoring_spec.md. Acceptance: 25 datasets with non-null quality_score; scores are integers 0-10.","status":"done","priority":67,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T14:55:26.445796+00:00","updated_at":"2026-04-26T14:55:26.445796+00:00","summary":"","completion_summary":"[Forge] Score quality for 25 unscored datasets — provenance, reproducibility, accessibility [task:af13bd51-396c-4f04-a980-c14b14acc9cc]","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/quest_engine_dataset_quality_scoring_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"010c79f0-feb9-4333-9304-2e513659f383","title":"[Forge] Reproducibility audit: verify 10 completed analyses have valid notebook outputs","description":"Review 10 analyses marked status='completed' and check: (1) notebook_path exists on disk, (2) notebook has executed cell outputs (not empty), (3) result_summary is non-empty. For each failing check, flag the analysis for re-execution and create a follow-up note. Report findings in the task result.","status":"done","priority":66,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T07:07:47.050437+00:00","updated_at":"2026-04-28T07:07:47.050437+00:00","summary":"","completion_summary":"[Verify] Reproducibility audit: 10 completed analyses — PARTIAL [task:010c79f0-feb9-4333-9304-2e513659f383]","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\": [\"9b4da10b4\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] Reproducibility audit: 10 completed analyses — PARTIAL [task:010c79f0-feb9-4333-9304-2e513659f383]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4616ea5b-9588-4c7b-8761-00f64cab4c1b","title":"[Forge] Run paper claim extraction for 25 high-citation papers with claims_extracted=0","description":"Many papers have claims_extracted=0 meaning no structured claims have been extracted. Query papers WHERE claims_extracted=0 AND citation_count > 5 ORDER BY citation_count DESC LIMIT 25. For each paper: (1) fetch abstract from papers.abstract, (2) use LLM to extract 3-5 structured claims (subject, predicate, object, confidence), (3) store in paper_claims table with appropriate claim_type (mechanistic, association, clinical), (4) update papers.claims_extracted = 1 and claims_json with a summary. Acceptance: 25 papers with claims_extracted=1, and ≥3 rows in paper_claims per paper.","status":"done","priority":65,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T15:36:59.198583+00:00","updated_at":"2026-04-26T15:36:59.198583+00:00","summary":"","completion_summary":"[Forge] Add --high-citation mode to extract_paper_claims.py [task:4616ea5b-9588-4c7b-8761-00f64cab4c1b]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"25c699ee-11e4-4338-be20-d3c2903a0d12","title":"[Forge] Implement tool chaining — allow multi-step tool workflows","description":"Define tool chain templates (e.g., pubmed_search -> extract_entities -> add_to_kg). Store chains in DB. Execute via 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":65,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T20:25:13.693784+00:00","updated_at":"2026-04-20T20:25:13.693784+00:00","summary":"","completion_summary":"[Forge] Fix tool_chains.py: use PostgreSQL (get_db) instead of SQLite","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\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"89217d70-1ffd-4106-b7b1-026b5a4ebde0","title":"[Forge] Extract structured claims from 30 papers missing claims","description":"Extract structured claims from 30 papers that currently lack claim extraction. For each paper with fulltext available: identify key scientific claims (gene-disease associations, mechanism statements, therapeutic targets), structure them as {claim_text, target_gene, disease_context, evidence_strength, primary_pmid}, and store in paper_claims or equivalent table.\n\nVerification:\n- 30 papers gain structured claim records\n- Each claim has target_gene, disease_context, and evidence_strength\n- No duplicate claims (uniqueness check on claim_text + primary_pmid)","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:19:06.140968+00:00","updated_at":"2026-04-26T22:19:06.140968+00:00","summary":"","completion_summary":"[Verify] Dedup 80 duplicate paper_claims + log resolution — already done [task:89217d70-1ffd-4106-b7b1-026b5a4ebde0]; [Forge] Extract claims from 30 papers [task:89217d70-1ffd-4106-b7b1-026b5a4ebde0]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ebb0d2fb-1360-49bd-80a5-8d12a1dd2d48","title":"[Forge] Triage 50 failed tool calls by skill and error mode","description":"Triage 50 failed tool calls from the tool_call_log or equivalent table. For each failure: categorize by error_type (rate_limit, timeout, auth_failure, parse_error, etc.), identify the skill/tool involved, and determine if the failure is a skill bug, provider issue, or input problem. Generate a bug report for skill bugs.\n\nVerification:\n- 50 failed tool calls are categorized and resolution-path assigned\n- Skill bugs are filed as actionable bug reports\n- Provider issues are logged for infrastructure review","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T22:00:24.868145+00:00","updated_at":"2026-04-26T22:00:24.868145+00:00","summary":"","completion_summary":"No commits on iteration 1/3; requeuing","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Task `ebb0d2fb` was already complete. Commit `fbacd05d8` (PR #264) on main contains the full triage: 50 failures categorized across 4 error modes, with 5 actionable bug reports filed (3 skill signature bugs, 1 schema/probe bug, 1 DB transaction infra bug). Closed as verified no-op.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"07f6b685-ab5c-4240-86b2-b71a7a882f4b","title":"[Forge] Score performance for 20 registered skills missing scores","description":"Score 20 registered skills with missing or zero performance_score. For each skill: examine recent tool_calls from the past 30 days, compute success_rate, average_latency_ms, error_rate, and code_path_availability. Persist performance_score (0-1) or document insufficient-data rationale.\n\nVerification:\n- 20 skills have non-null performance_score or documented insufficient-data status\n- Scores are based on recent tool_call data (not self-reported)\n- Insufficient-data cases document why evaluation was not possible","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T21:47:10.991065+00:00","updated_at":"2026-04-26T21:47:10.991065+00:00","summary":"","completion_summary":"[Forge] Score performance for 20 registered skills from tool_calls data [task:07f6b685-ab5c-4240-86b2-b71a7a882f4b]","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":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]}],"reviews":[{"task_count":5,"total_tokens":250000.0,"total_cost":0.75,"output_score":1105.4208,"efficiency_rating":"waste","reviewed_at":"2026-04-20T09:13:25.817325-07:00"}],"effectiveness":{"task_count":5,"total_lines_added":0,"total_lines_removed":0,"total_files_modified":0,"total_hypotheses":902,"total_kg_edges":51173,"total_papers":1205,"total_tokens":250000.0,"total_duration":1708197.7225040002,"avg_impact":55271.04,"avg_effectiveness":1105.4208},"prs":[],"commits":[{"hash":"6d98f3b2f","message":"All acceptance criteria verified as already satisfied on `origin/main`:","date":"2026-04-29","role":"merge_commit","url":"https://github.com/SciDEX-AI/SciDEX/commit/6d98f3b2f","task_id":"d62d114f-5177-42c4-9a0c-ead041c5cc63","task_title":"[Forge] Benchmark quality signal pipeline — link 227 scored submissions to hypotheses, surface overall leaderboard, update hypothesis benchmark ranks"},{"hash":"696ce0f89","message":"The task is already fully resolved on `origin/main`:","date":"2026-04-27","role":"merge_commit","url":"https://github.com/SciDEX-AI/SciDEX/commit/696ce0f89","task_id":"7a3e5888-b8fe-4dd1-82fe-dfdd1ab80c3d","task_title":"[Forge] Skill cost-rationality router - pick cheaper skill when quality matches"},{"hash":"5dd920c3a","message":"Task completed successfully.","date":"2026-04-26","role":"merge_commit","url":"https://github.com/SciDEX-AI/SciDEX/commit/5dd920c3a","task_id":"d236dc7d-12c8-4d58-a0e4-dd1d5d76f532","task_title":"[Forge] Add abstracts to 30 papers missing them"}],"spec_content":"---\ntitle: \"Quest: Forge\"\ndescription: \"Scientific execution engine — tool registry, background agent orchestration, agent spawning, and tool-augmented analysis. Manages the ecosystem of background agents that perform research tasks.\"\ntype: quest\nlayer: Forge\npriority: 80\nstatus: active\nquest_id: dd0487d3-38a\nspec_path: docs/planning/specs/quest_forge_spec.md\n---\n\n# Quest: Forge\n\n**Layer:** Forge  \n**Priority:** P80  \n**Status:** active  \n**Tasks:** 402 total (25 done, 6 open)\n\n## Vision\n\nScientific execution engine — tool registry, background agent orchestration, agent spawning, and tool-augmented analysis. Manages the ecosystem of background agents that perform research tasks.\n\n## Open Tasks\n\n- [ ] [Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance (P90)\n- [ ] [Forge] Extend analysis framework to include model-building steps (P88)\n- [ ] [Forge] Biophysical model template: ODEs, parameter fitting, sensitivity analysis (P86)\n- [ ] [Forge] Deep learning model template: training pipeline, evaluation, checkpointing (P85)\n- [ ] [Forge] Model registry integration: link models to artifact versioning system (P84)\n- [ ] [Forge] Expand tool library (ongoing) (P50)\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- [ ] New model templates include test suites and validation\n- [ ] Tool registry changes tested for backward compatibility\n- [ ] No duplicate utility functions — reuse shared modules (kg_extraction_utils, pubmed_utils)\n- [ ] New modules < 500 lines; executor plugins have clean interfaces\n\n## Quality Requirements\n\n> All tools registered in the forge must demonstrate scientific utility. Tool submissions are rejected if they are stubs (no working implementation), duplicate existing tools, or implement busywork (e.g., trivial data transformations with no mechanistic insight). Each tool must have documented use cases in published analyses or hypotheses within 30 days. When registering ≥10 tools, use parallel agents (3–5 concurrent).\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: Forge</h2></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><strong style=\"color:#e0e0e0\">Layer:</strong> Forge  \n<strong style=\"color:#e0e0e0\">Priority:</strong> P80  \n<strong style=\"color:#e0e0e0\">Status:</strong> active  \n<strong style=\"color:#e0e0e0\">Tasks:</strong> 402 total (25 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\">Scientific execution engine — tool registry, background agent orchestration, agent spawning, and tool-augmented analysis. Manages the ecosystem of background agents that perform research tasks.</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; [Forge] Integrate ClinicalTrials.gov API for hypothesis clinical relevance (P90)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Forge] Extend analysis framework to include model-building steps (P88)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Forge] Biophysical model template: ODEs, parameter fitting, sensitivity analysis (P86)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Forge] Deep learning model template: training pipeline, evaluation, checkpointing (P85)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Forge] Model registry integration: link models to artifact versioning system (P84)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [Forge] Expand tool library (ongoing) (P50)</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>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; New model templates include test suites and validation</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Tool registry changes tested for backward compatibility</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; No duplicate utility functions — reuse shared modules (kg_extraction_utils, pubmed_utils)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; New modules &lt; 500 lines; executor plugins have clean interfaces</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\">Quality Requirements</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">&gt; All tools registered in the forge must demonstrate scientific utility. Tool submissions are rejected if they are stubs (no working implementation), duplicate existing tools, or implement busywork (e.g., trivial data transformations with no mechanistic insight). Each tool must have documented use cases in published analyses or hypotheses within 30 days. When registering ≥10 tools, use parallel agents (3–5 concurrent).</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_forge_spec.md"}