{"quest":{"id":"d5926799-267","name":"UI","description":"UI/Infrastructure — consistent styling, responsive design, loading states","layer":"Cross-cutting","priority":66,"status":"active","created_at":"2026-04-02T10:00:57.209491+00:00","updated_at":"2026-04-10T14:44:10.355870+00:00"},"tasks":[{"id":"3d7b4ecd-208c-4b20-98ac-e8980762e663","title":"[UI] CI: Verify all main pages render without errors","description":"Curl /, /analyses, /exchange, /gaps, /graph, /wiki, /atlas, /senate, /forge, /quests. Check 200 status. Report any failures.","status":"open","priority":80,"frequency":"every-12h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T15:15:18.753078+00:00","updated_at":"2026-04-27T07:56:36.568723+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":"watchdog: phantom running task — linked run 443e701e-4ea already terminal (abandoned); requeued immediately","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3d7b4ecd-208_ui_ci_verify_all_main_pages_render_with_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 8}, \"completion_shas\": [\"f019106f7d4876ef078b5ec9dccf021aa2bb6069\", \"e9382ed7c975e5aced01f249950c9f30685122cd\", \"8ddc1236bb90d602d74979be048ef9ca58ddfd53\", \"df7a0d9fecd2b9e2e0c879f4b110257d09596e3b\"], \"completion_shas_checked_at\": \"2026-04-12T22:03:10.411898+00:00\", \"completion_shas_missing\": [\"4ed3867f82ef316a41f6c8cddc61def9f64ec459\", \"9655e8a381ce3043674d95ca0a801690e91fcef9\", \"fbb6d784071565b93251e8223ee71a8cee9dc525\", \"d2ba7079441395a0de32b95db7c226894d2d1373\", \"3fd98512e17e60bf9c2223fe384f16e58d677dbe\", \"e7039d3c6283357df1aa9292497ff54f5a82cda9\", \"ec3ff9776bcc669555ea9b91b62b5c643e4a3a03\", \"69118d67130b4133c9b62ceeb49702521e0a9206\", \"b962efbc35257b5d15c2edfa881ac0aabbb50101\", \"38a43b0dde5f498478eff14f411ed8522902b34b\", \"b72975b4a7a6a89fa6b0ac8182ba28cd41a3eadf\", \"1c8d7682c9d9cdba8127664e192a08298651718f\", \"81ea3fc698df69a7c2fae271072cc1f3e60c03bf\", \"3a3eb056e75c7b34f4084ebc8fd86c923dc627b5\", \"d194b69382454f59a7bc6b62fe32e9f0479fcb67\", \"0615dca156becc048cff86c794756e8435a33974\", \"957149e1e9022ff265021f827d92995ba614a72d\", \"9dd67b94c246112a596ec2e33c6872d3fbd7dbc2\", \"c7658c0df2fbae08f9bb99f777a9c8e8e783e6dc\", \"daca7c49f57ac4f730e2002d50a652d17c6c3dad\", \"5e57c7d11ff65045de51ae082db104588bc980b3\", \"0ea283ac2ae1815a6c0c8984667e7b7ddcbf80b2\", \"6673ae3c817c570dca2dafe2a3afe2a656b0b022\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Recurring task no-op: nothing to do this cycle","task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"5616905a-812b-498e-9e5f-22d6279136c2","title":"[UI] CI: Site-wide link and render health check","description":"","status":"open","priority":80,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-23T15:24:05.407586+00:00","updated_at":"2026-04-27T07:13:18.584371+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":"cli-get-next: phantom running task — linked run 5ce66c3a-b38 already terminal (abandoned); requeued immediately","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5616905a_812_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"50d8d0e2587bf4718fdc6138ffb2fe07bbf0c677\"], \"completion_shas_checked_at\": \"2026-04-12T23:20:04.630990+00:00\", \"completion_shas_missing\": [\"9992c89e98be0a7c3f290f93c3d48f63095f452f\", \"0c8f14ac3e6c0df9ef0c1ebf77c32508593024b1\", \"6b9cc44ea1287216f04e3cca8010446ffce345e0\", \"54465120182f03914bc1cf0dbdd224b71402947e\", \"678d3ca59aa379ebf318bee10dc4f4c2d8f4e39b\", \"6b617a08188fbe1e872a9018b78dde5e6e546995\", \"7d7075031ef2a86b5528013b602a5f4e99aa23e0\", \"b13a7e38e932c711103ee0262ee0533e482c11cf\", \"fdaf635147f665c4f701472407f0abc513a8c85b\", \"af76e647e9a7c849dcb02bedae70978c6a654752\", \"cbe2e04b6550f17c9446015503c27eb01d328611\", \"2cf6c59456d136412569fa3dfc62c252b2b0077b\", \"2da9547329f6a49208537f03aa3930c4b16da776\", \"c0903fb723952bae1c9e2188c7f6c0448a64cbeb\", \"0d959e5cd96b715e916d6cf95f7f8a6bfd192ca9\", \"d6da63393bca1d7ca2b5d7dcc23fcd88d815a803\", \"824675e796f8b926f414acf1a8dd01484d579bfc\", \"bd752c56394fd31c717136cc3e1514b7df1f1a8e\", \"7442f9da2175786ded460b8e2181a54d87b19a96\", \"ebd3d37ee2a8442cadd2ea511fb94f645abbbc37\", \"8ef6a067a3e355af3748e88746c5f75929014466\", \"df57e637fa5f839cc300e646cadf0cf3b0838f25\"], \"requirements\": {\"coding\": 5}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Recurring task no-op: nothing to do this cycle","task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"6d500cfd-b2c2-4b43-a0b7-8d0fb67d5a60","title":"[UI] Orphan work detection and linking system","description":"Build orphan_checker.py scanning for unlinked work: analyses without HTML, hypotheses not shown, KG edges not visualized, papers unreferenced. /api/coverage endpoint. Acceptance: zero orphaned work; >95% linkage; runs with linkcheck service; visible on Senate dashboard.","status":"open","priority":80,"frequency":"every-12h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T06:19:42.612729+00:00","updated_at":"2026-04-27T06:19:42.612729+00:00","summary":"Closed: caused by temporary 502 outage, now resolved","completion_summary":"Task completed successfully. The orphan work detection system is functioning correctly: [already on main: 8d518a9b]","completion_notes":"Auto-release: recurring task had no work this cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6d500cfd-b2c_ui_orphan_work_detection__spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"auto_tagged_at\": \"2026-04-03T22:29:52.509594\", \"completion_shas\": [\"2eba2d9ea3fbf899712372ecbc03f2e78294f7c9\", \"ae9a04c93cbde1ecb803a354bdfc89c625dd8518\"], \"completion_shas_checked_at\": \"2026-04-12T23:15:52.847027+00:00\", \"completion_shas_missing\": [\"8048eef29154425e5f1f2c2b8d931d00820068d2\", \"773878f4ee897a91afb15d49c5446e43ce6cdd7a\", \"c0dbca7253b7cfcd10521be4ae6a4c77c2016561\", \"986dca776a5de6a29dad14387b74149008dfd0bf\", \"f8c78919aa6e31f38709faf875ae19795030e2bc\", \"fe0df87d28b9e59b6d4e3ca1f2f0b47b53643742\", \"c8eb18c5ae285a59184d2d19d1699235da5229e6\", \"d6bf3694e941bb7914538bf8bf92443aecaf87cd\", \"2f9b7069f454ab5cf89ea2bb23ef7f12dce2e1c2\", \"7b7e4cab88e548be078ec15b0dbb1475a26bf32e\", \"7e4ae1f92f5e7614a8f852e59be62eb064abfe9a\", \"85f9ba0713167da8cfd4160aacb09f2e0e58f6ea\", \"6ac5bc77d214aa21c7792102be3cb14ef1535a67\", \"313148f6862329b59b25b9703dafe1afa1a7dac0\", \"c2591861f612f773acd7d47ffe5c0503c139377a\", \"58c597c18a2bdb9a3395fade2fb3638af8da58d2\", \"0be021212dfc0faa4553c9586baf958bdbd93b1e\", \"c11a76e0fa070f8e71c9fc328802e1efa89454c8\", \"e4f61e5755c7f4ee88d4bca7ec905e16d8cd418d\", \"5ee071527e45f647acfd0a69cd50884755a10f01\", \"0de650e8e768ed98583549b3faf93559e6294495\", \"4ac639ec244f7ca3082a719935869ef63e9434ec\", \"57c73ae6df220f7f7e119fd8fd124d2ce0a67bfe\", \"2b7c11f69eb2fa74fae6c826bdf133eaad82daf9\", \"f23970df9256b93aef2ccc694aa26dd3564d9783\", \"e8547dd62f8ecc546e346fd708e173714b06b9b8\", \"8aa7fda30a2d812ae1b730690eee5177dd8dc1ff\", \"55f7527b4dacb000ab0268c8507b501125ab8d31\", \"bb7214faa6c36e062b6eae2bf32472a19186dc75\", \"e166de3db8685eaea18df199b7315043e8d4c7e7\", \"5b7248b4c0ed5616303e901c39024b462c317727\", \"dc6f9b149e093fef4157bccac31a406855561484\", \"2534a4b148f9029af10c58e1b9f71bb9771ec638\", \"11c138e59ae3398a2d38b3cb30674f41012685be\", \"dc7d39449172e7df00ac9dd7faece973d63c2529\", \"d8bab8252c5b54311d7f478ba38d9b8138ab0e28\", \"3e25af7232b013f4e08cf54a86a87fd306590e63\", \"9483df03adc80c379cc096342c127ad9964af784\", \"61741b454efce7f93c3ec677fee0dbfc3479a662\", \"5bc28538a6cb02e0689f8d5dc19f156ba855d7fa\", \"b2907472d09aeaef29dd0cf58e2e8e9a1e155958\", \"3b0411afee0e97ecafdf3c8eb31baef1f975e690\", \"817eae25ac2dbd3e525a46d357052d5705e918fe\", \"9146440086d80bd9dacfead791f2a2acb4d188bd\", \"5e175dfcb85a1e3a8f8c5bc840551a907e9677d5\", \"29013990f72522213d3e034de4d2dcce1b346b5c\", \"c770de1f461b6430988666ffc12559c10ea9098c\", \"6cb322d296f796dafa0f11ebce3ad7e57818800d\", \"8106a3a39b8f265c2e83d5a47664a65d210ee5df\", \"bae8f424fa35bc3c8851a86db70d1a3742126e6c\", \"c0549b87bf15c5da4baa97ed521bf6474e8b68d8\", \"85a3ed50ab29d94a29211d4f514307477294f4c0\", \"b2c6f14f0b011fbfad632187ef4c9e6471c27991\", \"e685ab0d152db83be3fbc6e11303a450583c9f61\", \"be28cb85c5fb8f8d140f0bf6cfb96b505609d0a5\", \"70f51aca0b61f0579006b991d4d1c5b980ce9258\", \"c95c712ef1a9c5af93c45519227bda8203975cba\", \"5305309f0d569edb9327b86e68551951c2cca730\", \"0e1f9db3f1aece6eab41384f848b934b88a13ed4\", \"4732fc3faba97014a686cf1726a99628d4258924\", \"17230ba2974d6219a076f31df9908cdde390ddfa\", \"a48bb0a631de26c194f7fc254f6b921bf2797157\", \"17082d2e8d9c52abb1066ee1e707603897a2b890\", \"308d6f54abe0c9a4c026e5e1b59d862da744a139\", \"55cc6a5bf120f96ff7e2ceaa8a79966223c8b244\", \"5af49ec13d7918565474bdac6436843d78ab605f\", \"17efa65fe4a76d74aa947be8ea101f5c41330cce\", \"7c9f2d18ffd857894c6b5aab45574a236ff9d282\", \"ea3e5450be758453ddb8298747e6e13ea6ead045\", \"3c67e3bc9dae66376723db2cf4c006eccdfa195d\", \"cbb73573b9da903003d92f74e5a00bcb77ff7abb\", \"863572c88273ec01ce2618f8d97336e033c5da48\", \"64a19ed5cdf27dc0bcadfdadb8477d734a257235\", \"8c14b0840bf3ff6083b1dd0103f2ad80a8c5ef45\", \"23b146b7c4394ecd28eb9cd0d9f3b444672eb5b9\", \"9ed5e5886a3208f3f610564a875cf75fc5a8e8c9\", \"9d6881fff574a33746476923177ce0e93a706fe2\", \"b8497ee7e3e196d5f768a267cd99364fe673c642\", \"faef5b288f60a1f1069a918fdcf765ea51c908be\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"No orphans needed this cycle; verified 100.0% coverage (0 orphaned analyses/hypotheses/edges across 444 analyses, 1522 hypotheses, 701596 KG edges). /api/coverage returns 200. Senate dashboard accessible.","task_type":"recurring","pr_links":[],"commit_links":[]},{"id":"99bf52d0-5cd8-4e82-9017-0f023ec92ecf","title":"[UI] Build documentation system and evolve SciDEX knowledge base","description":"Build /docs section reusing wiki_pages table (source_repo=SciDEX). System Inspirations page, Five Layers, Three Primitives, guides, architecture docs. Docs help agents evolve the system coherently. See docs/planning/specs/documentation_quest_spec.md","status":"open","priority":42,"frequency":"every-2h","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T07:24:40.157048+00:00","updated_at":"2026-04-27T07:24:40.157048+00:00","summary":"","completion_summary":"Documentation system verified — no stale metrics found across all 24 SciDEX docs. Earlier cycle had already corrected demo-walkthrough (1166→1581). Fixed in this run: - **knowledge-graph**: 711732 edges → 695529 edges - **changelog**: 1166/1040 hypotheses → 1581, 396 analyses → 444, 711711/711732 edges → 695529, 3374/3383 gaps → 3491/3503","completion_notes":"Auto-release: recurring task had no work this cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/99bf52d0_5cd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 9}, \"completion_shas\": [\"2ad53dd94d7f3ba4b80ac2982d4dce07fa307c49\", \"8aaae29e0e26935eac4c51a1821dbef888f80707\", \"3bc844253fb9a94c77c96be67f90c5da2e0c462d\", \"10193dd8152c7076710e5b95d16640bfced595fb\", \"83ca3d2f42422a2f998fb7edb1c8099fdf3c042c\", \"fb8a942bfc7bc4120f44b53790039b9e4e3ee7f3\", \"73cc782c15ac1901cbec876ca70cb55526ec0c1e\", \"e9fe665a599ed4d1056160eef1123fecbcd14ddd\", \"7e5bacd59c33dec126a93a2e517d1f6cf31071ee\", \"cc83bcbaed5f9e7937e7364b0b3c3d6ef2ee12ad\", \"f2c85509840f14287eda903130e28b18579dfdb5\", \"cb7a7f3003137f687e29d5894033cf4c7684dd69\", \"168cb75b47e26903eef28f340e121cfa361cf521\", \"c610deb6fb221ff22a66c84a0d013641488b81e7\", \"47b76308b520484d4895edf88698a47de72e93d8\", \"d722e039347869734bdc579cbe7af40798a278a9\", \"020d1cbe4f239e4bf4c9d873b6a2b4d79498db88\", \"706a35110daabea3077be9eb480f7b8966fb0fe5\", \"af410fcd622c393285139b611fa77f0590d29be2\", \"35237b06d8033c6025df81d9cc279fc5bce70e20\", \"80af2e813c87ebb56ffc712a0bb022ae3ef0b19a\", \"b498e7c9da7292f76549ca1286f386f565ae3744\", \"d57cc1eefaa5d874911b2a6cf4342e9b7b935ebd\", \"ab311172ad4394e4d6ae1c00a67c5be61cd5b949\", \"a37b8fca3233f1c4b6a7c8f2c0a380cc13a38789\", \"6f9d43e688a299dd4b42a18f32eb51afcb05b5e5\", \"23ef91d897054a20ce7cefe21f04f8f9aa6084ba\", \"2eb9732d6848c5aed7e55e10d884cd2ed7d53cf0\", \"8adf4d785a2985958c6f48f020cfe1be8eebea25\", \"eae21fe9b59cf6f3fde8e45e8e1970fc6bbadeac\", \"e70d1ab85c84a29f4a19e29a1094d73094295ce6\", \"1d35e2f9e61b4c46c55137cdafdf02069ecc2918\", \"7d52493e7d4dde9202b5d1c7ae20c26435765aea\", \"cfb4b16007bcda68edfe4b4924aa980758cbe365\", \"95826b6cd556d4604112f8bc3b8793c61c189e1a\", \"32d6d0f158c260b81013899fb7ed0098e2027bc8\", \"f842fd4fc5a2f9fed000133f42999ee99a0a9e72\", \"1f3e99480f434374fa6a394f603251cf1935b7c6\", \"30844ccbd983ad13aec0c5a6e3b948fa0aa5d69b\", \"8bbd2fa057cc9bbcda7e8a3b50e70a5fc587783c\", \"aa5ef4f7812015e11d53e89bab616c4b4012b8ec\", \"f335a38cde31a6d86bc1a612d14327c5a8d7ac34\", \"1473986851bdfc41d9baf98e6ddf6ff8a2935051\", \"07040b1b208bea2c3d6e6aeedc9400fb8ef1d9a7\", \"20c4b9e150c95413c5aa11125998dee26fddc551\", \"28ec076c38f4f2aeb222f9881f7f14edd7619b01\", \"a5fe0b92494d05e16c0188760e8c7eb976139fe9\", \"4363059c214c6b1860d086b6e95fd27f237ba462\", \"5b4dc4b26a3853f70039dcbad0afac5d0a78b87a\", \"a1071709a9f56fd276f536886a7fef4aadaf8724\", \"b75c9ee00118221ec99f63624f4328b31fa55024\", \"63e1e2f7d5557bce888077dd6f0db516b80f2a1d\", \"ac2d4759856e2b0e9a6d18b9017491b183fb9695\", \"5c703fe0a1a341f006ba865de288d875e35060d3\", \"68fac4039be473282f6524e904a8ffb6c34fdf2f\", \"0ceecf2b5d0a579d2bd9b2257a6b43934e21e8ff\", \"3b0582385a0952ed06dc05afcc58eadad8845e15\", \"3bdadb01b9351ff3bf6c903aebc6f1d84048b4a9\", \"8211163fbf71371502b5995d2682babc1e041f34\", \"46a4ac50f3c9d43abf838ae031d522dcb6405886\", \"432f6d7f3aabaab4c458b64e8214aeed054e87dc\", \"3a8f6a2260ffdfb1db6f2ba82b29d789f49f2be6\", \"3ff6c088c6eb1255265bd8f6f9f998947858c10a\", \"7cc54a6bb65738a4b34444250439e106c9ac6140\", \"c779cc3a04321fd20938bdf49ab7280ed9b41b99\", \"d0eeb8c0a8c8089a2135a73de3f137bd1bddbc75\", \"2ca6c93efcc90ad0e2368edc8d9a14c0a5766a44\", \"b9700154cc37e2d6df9f3007d1cfd29d11b359de\", \"31bf3a767ab48331ff7ca792bd14a4647d55ba12\", \"a59e5f0c098a969a07042c4313313d3e3bce8243\", \"6fb318e84ac0759186572f8886f2c6031de69735\", \"ff1d30a6b953af39253eaf9ac459b3bb6bc11cf1\", \"3f5f77005b00ece7762e8f4289f3d23735eeb34f\", \"e9b4fe744c60dfb26b560a58dcb3d19049d81d2f\", \"a70b78456579992fe9cee08b6156b38151fa05cd\", \"f4b7dbad2786d19846cf68f6e57b36bdb057380f\", \"fa468d0d9edf3b53b3d5c51a599882f98c96693f\", \"9e63550aa0a817745c1c9010478a46a75a2ce4fc\", \"a5329ea7689233c6961a574b5edf8c505b1b9c65\", \"1c684e23fe03dbb4086bd350be8b902adab4a9ad\", \"9aa1144501d2eb984c2550d7a9b1c6475cd0199d\", \"95e797b526f4a2327f0b0c177e34b1420572045e\", \"17719d7b0f76dedc7c165dc4a3e549ea38eccdb2\", \"23aaff66717d3b8801c7b78eaa0ca16e5b69f7f8\", \"53eecf3d9db349bdfabdfedb00155bf7ca63dce6\", \"534209546bec2b8dc51a3fbea73e8acf53b5c171\", \"0d80ad3ee91f1f149ccbeadb066648778aebc740\", \"5ebe84c098e51e9ddef600c98ae3cb67677ca589\", \"d7fd7f4064fe49d3b47e66eec18676084f38536d\", \"48043c5d984e6a4b62c873d494e4070e3346ab09\", \"4fac32b02ab6f1af31939f899c0962d1fe37bdfc\", \"8fbe1b33d603526a7abd02a1dce5f8fcf8c38aed\", \"b530a8b6ae547c53c70a86b04802317996906510\", \"fe0d0e6ce54c9126a3063c8d3b4933638e45818c\", \"0bf94da656df4b2a2bca8986824960e06c926764\", \"6f31b935aa16c8aa765f2275a839529c39a7b7a9\", \"6f8c43c1aaad99af1de3b35b8b1bec836d4bb414\", \"705dfa4a4eacc70dd273c2fcdeb9de8d2ed792df\", \"6a170c24690ba38c7a11af84fd7fa2f750b3f1a4\", \"bd9baf2e1794d7a3f68c16c88716da22eab4fddb\", \"eaf7fa61f147288ff9aa63e7dfe2aae6557c694b\", \"420c127a56219be5513eb7c13f42ce0e5d066a97\", \"b2875ada20b6a36020f6bdbdfee4afe408e43209\", \"2e21b5cbfcb2d0cb189648256b44efcfa52e365b\", \"b6e4ee3dcec5080f7ec86f7678a408d6188d980b\", \"923a43685b8299fc636d51e591391c634c460e27\"], \"completion_shas_checked_at\": \"2026-04-13T05:48:29.165207+00:00\", \"completion_shas_missing\": [\"8a0c3d190b350b558d14196cdc4bd6960e541254\", \"e4d3519445402d7675ba8f2409ce5cf27ea63c27\", \"869038c5897b59ef6c5f23fb65a376efc57f5788\", \"030f2ab0f2b37035a4f69779b2a4300b0ff74230\", \"7dd0f57f735b95236a9d15e9b854d1e288884522\", \"3bb5dfbd740458f5679f899b99441cf136801374\", \"31957959de20333013e7764f8126b5da5168ef71\", \"6e3d2f57ce8e671f0f6769f732c6d459bd9a1723\", \"2752f065727ea82521a94624a7c5178288e22631\", \"79d84bc0253797b174a07c5955d8b4d075e1d573\", \"419ec6e3d7626e4732ab6444507393ecac571e41\", \"5f4746f7f33c766c61c62a4cdd2e9b64a6b626f4\", \"1d377093bd748f22231f0f0510432d6e54e99e0e\", \"959a4b758c7a8e1a2edc963e97a905e01f25500e\", \"d9829242c77cb4ef93829cf35621b5fab3b30ec6\", \"9deaf383e0c5ca92a07d7849546e2ec7c3df12bf\", \"ebcd14a23873a4299cb3a8aaac58ddf2094c816c\", \"2037d12eebe5174919563470c47498950942155f\", \"2e3dccfd60b9672771a08cb243968bd7f73772fe\", \"ebb727e874d096d474158700244f1bf35e98b7a8\", \"93fd5682c4fc1d30df7e4fb8b12848cb7c3ca72f\", \"26b3bd46c65b8be57c98d4a27b45679419395806\", \"443b7bc2e1b44e21307238783736b15dbdf043fe\", \"271630ff5962760ab113ce173bd3cbfe8f318962\", \"b522c398874cc5a5421209f904627ca93f1aa3fe\", \"fc8574bbc07469d4342298e0242d9cd68cb36658\", \"2ff94bbe6ca8d94809425afc408a372d6198b5ef\", \"b37f7538b5b8b9152515085cba27b31fbe074e53\", \"5e571708410f73ede5cbaf1af5692381e4e373f3\", \"61db1b0a7692eaa84148e16bf5502d802cf8e6c9\", \"3274e32b13119a6e3cdb994a0462bbbe1b27b183\", \"2d4b58a6c1723185dca11f695eefa97cd2567c44\", \"b87e3d2e3b667f7cabc4cf8929c01cd3bd80824f\", \"25259b02b6529cfd187f15b60082aa18cb00d7e1\", \"febfcc8e0abb3647d24ce482c2c601d9f22c729a\", \"b4603c21b2eeb65f89d4c2063893fbd999db6322\", \"e1362f70c0dc48cb7c08084e0a0f1ede174619d7\", \"641e5dd4a77b1b9baf48a55a666d0ff71d84e002\", \"e63e63fbd57fc5b5bc461b3b9d8a7cd2452b6f6a\", \"7532cd0d1455fa0e4ee45b6dac384fb90ba84210\", \"1abe4b5b1b8498d44bf6fbfe114026e153216343\", \"af8c24f13c87fa3d1a5d4ac5cee8a6c589135a40\", \"bfe0dfb9ba37c5f95b3a2d6cd74432175cea74c8\", \"d14850f2e109f5b5d12a6827b6a895377e13376c\", \"c13d3a33a723c01b173a512acddd13617166b3e6\", \"1c0dbc881c0b4c612e0b0756bf5c70240f55e316\", \"5dda6d264c619f3d5db01089eff4df82f89ac33a\", \"5f5033b00f036e9a358c2421172dde0ae16988f8\", \"7bd466a16b9dfd277b92b46599baf951130dcb64\", \"94b6a3ac1ddc9d30b1c3b193a0453090d601548b\", \"156361f3b9cfb422eaa3895e742b4c384f020b91\", \"cd9d18dff5f7576784156fa5eaec3f70ad9f2214\", \"4ce2a0401fc5d424344952f5cef42923b1ef2ae9\", \"17ce10edd74cc8c986c05ce3d8a2db7943044a6c\", \"3c5f85e41500ccd56188cbc1ba447a3068b737ac\", \"7c9d74f1619fc13b4c6f49a82c49e5a0f0116fa6\", \"7e220fef6f4e739ac446d1caf84c89c4cd1466e3\", \"e6e3e545a41e98ef3a0a97f40cae4d3685c473f1\", \"f703a815352cada3ada3d485433416ef91d35a8f\", \"c5f65ed83930f422eb88885e73da6416255a067c\", \"5f7040c73d53f9771608e43724b3bb26a7742548\", \"3a6ec4c754d00bb04dc25ca667c9df4a6edb46e2\", \"3821215c862694dfeaf2c886f187a827b2ac7e89\", \"d3f809911a90f45a7a0a7c3861d12437ea361641\", \"cb31cda80bfd64b3c79dc23997adf61006c27c37\", \"75fd2a8116502b542fe2759188056b806a9e03bc\", \"ca13ce5e6ff4b86604f7b67faaa98b6c436a73c8\", \"74f2ae410af43033c924a39576b95ccae85a52d0\", \"2e201dfcbe7d76d77566bd191755a131c3fd1e58\", \"974ee84c1ae57a89c27e677599a7979d73c1f332\", \"e3064467cccea2c94d240003cf045fffb64ea616\", \"e3b7e1bf549cd47d760c3d6ad33ef0436dcca723\", \"584a191e22dbb147954a32ab769c9646e266f52f\", \"a4cfe5cb3ea2ef1de8922853cc8d1151375abadd\", \"4c60f22f796dc8f3533af997d89075dd1e514ec5\", \"68e71b091b984e1b0eec113f5260c9e04e820f76\", \"180a4ff9982717efb4277111642fb218242643ee\", \"2ea0e80e96521d6763c2c59c1cc0df3be8972b05\", \"c62b65f5c0716fb3787d3acba7620d1371657bab\", \"fb1c9299b974f3ccb859f3fc5de2082ad5c9d690\", \"d686c223744c1fde8fba994a1a3a9bcba01c8953\", \"8346e08f9e307721aa35332639f5a76f8548f2b7\", \"bc24e9a9df70ec477d478e9e4a4eee522b9151e9\", \"a16db45aaebcb3fa1041e1414011951e87db3f52\", \"568b85426d1fadaeafa154a4da835d8b949305d3\", \"7558528a3e2bda5ef323a7d062bcd1bd18439057\", \"382d69b2ee96c95399a32eacb05335571aa0029e\", \"36aa02da6657790dfca2c5c5fcf17efe54c05a30\", \"b42c286f798912b223f7426c64b3c4ddab35d09e\", \"0d9648799f54192630fa739f087d44e878d997f9\", \"139f087448ba6068441293a142acddf314edb8fb\", \"5ba2322c403fafe9f69fee8b2cd74297981dae16\", \"4879e3d085857a584d107f3b1bc1aea061b613ab\", \"9f794108573325c2d077baf40b6bf6789da152ab\", \"e3fc1934688671b44fc359243c596d9dac9093d0\", \"12b3956683644fa3b8e5f30d7b4e6a070ae3b966\", \"a4a4de2343cfee67a29b0b78b7274e7c0ab44270\", \"bdde0977ef7438b61eb84858e18527823ee9cc8d\", \"654206db0c3aeb0b5d2c54fc89a8bfd63e169306\", \"e7246bcee504b7d00eafe7257c62822a9ecb556b\", \"b20daf407d0889b6a22f70913e6a5dcd181d59ed\", \"cee4b9d9646506b06a0819422c9ce01321c06583\", \"b94965b0f44337ccef484880a42911aaf01441c3\", \"de7423d876dc8ca9effaaec9a2ef440dee7de8ce\", \"debfb4e8157803993bd4aaf1ff7f8c46283acd62\", \"0ef50a30b85280b68e21c0351bbd7687090aeaf5\", \"608cb4ba4ba3970320fcb481f5ab5a51376e5611\", \"368233a238d9077ed57206824b04ba3e1cbce01f\", \"cc57215d3fc62d544f80327b6d1679f5c136828f\", \"03913e8b927ffe1c996fa1adec9e88457769c8d2\", \"9bd6e956dde02570129a6904d107a6b3963ec35b\", \"91d88402383957269b578eaf2935bb69edd86889\", \"41dc3d5d6076b41e7b80223b66285db7741b1c86\", \"483f8687f48a577213d362ea28f8a05892bceb6c\", \"87e8a9dd0c61d71e7250eb015e65097510a7a8cd\", \"2b5864ef7027688e5aa0a3c7aea902b3efa90563\", \"c6d0125249478a4cad2d379af79cf4ff17a0d303\", \"9eb12e0d139dfd864996dc30c244a83e847819fb\", \"d98c0aed6e92cd91d94944d3b66792db1142edbf\", \"6d21de72dbd239076e23bff735903764c70b9ca9\", \"b30dc786f3e92ee97eb9ee532f70f55075802646\", \"753a14f4f6ad4c1375250594413a560e5b0a108b\", \"d6118c996ced3175e5af9cf5d26328e93dc4f0c9\", \"6d66933dfff0d581f31ce91ea01d772b7d692d66\", \"33ff5a0f16f3d191a026a3968c42f73bf3d00676\", \"9588f1a0d9e9163fe79054967b96869dc6731d0b\", \"e7a08bad02b1e46256637418a6f7d8b985016fb2\", \"3ec8c688c78a5e4d2bf5e10d076e4e808adf96dc\", \"cac2d0ab6bd76b754046bc2ffadd9332499210f0\", \"c6326d8e11e89c5083c58a8fef984eaead6a6cbd\", \"0c0dacbe9458344e72c1db934f60a7c4c163fe2e\", \"ba1ea8e3f04ddc8c6dc11417b0c49c04854f2d3c\", \"b3ce1e8f84fc622f3a18cb4bfb819834c949da3e\", \"50f13f73362ab4d5df1d225ffd6f5a28a3893d36\", \"dcb76d50a90ed385d030f310d7a506fae3744ff7\", \"60134978490e2eca80801f300d740d87139a0b0a\", \"781b72bb949a7a54719dff5cbf24d78d44fe2077\", \"7799824d371be459871f4934b1ff74d5e6c0f7d3\", \"fd85b2407aa4f516ed2387f7135b8dacd0749831\", \"af92fbb8a324735fb4767466a88d1500c8be43f4\", \"37c03b9651acb32d5762c3529017c3c8c6c5465a\", \"2d18db149aa7b2a51a8fe9af12aee18e4bdb9fb2\", \"9b23193aa194fcf814bae962741c75422e523a8b\", \"6261961994fc9fd4baf761482824f48cd4424004\", \"168bdccefea95d583ee7b299d706df53da8d68a8\", \"6ca91b87c572f7a75bf2865293a954ba189d36ab\", \"31d6ec3e10bfb0aa7aa8db57af9859b3431462d8\", \"b41f76ad41b99588f8fecad2f2cab09f37e7e551\", \"8e19a56a9eaa71f37cdf9214a965b24b6fc6a298\", \"54a38f342d05dc14e91f9e99762c35857c6ced50\", \"19677635e8331dc4ff7e4868066922e6d0b21454\", \"1dad5cb8247e8fbfd31c84961e357ce18ca8fbcd\", \"e7ddf3bece7f750d024c44a328eeb9abf3fa8922\", \"06ed4d27e4b51d942fe2d1a951f05f21888b7dd0\", \"aedf43ef80ef8313154fd062e3cf98b8c939d425\", \"8608edee3a9e5316187a6dafa4a585d3de3d198b\", \"af76b90110fa2c1238b709459e715c8c0f0454c5\", \"d4854f3c471d0dcfdc07cc7e1580100adf18749c\", \"3e1df69f79d5371c40a47ac2f80d37b7d2779a28\", \"cc829622abe7e0f28cd02765fff5df2782e2e7de\", \"c4842fa0a77eb0b87fe702189a9402d79dc158d8\", \"66a2205dfd1ccfaf36cf9207d7b470003571293c\", \"8bf04d1b9e9a0f7ea81a97018fa9a0080516597c\", \"8862d7e130d48237f3c58a2496543033f441e503\", \"37393de5d4446b739fffc681b286e01c52a79f72\", \"836f51f87718fb9daead29778d00aa1fd27eff08\", \"e2b4bed5ec3dee749bdd23d72e7fde7c764adaa5\", \"1009a570cdd6d8eef2c17b139762167344961970\", \"182d0c98d1560e87dd9342d51219a441c5a623ec\", \"ce308ecf87556be5644187f90e30127c2739f9a7\", \"57ed5b6bcaede40ca1b754dbdbba98a8c0512ed1\", \"14f0c7bd942cbb5c0bdc949cfc77dcf48f669989\", \"9e5d847c621970bdcee3ad7b19231b075a122734\", \"191e641cf44739cf37a7f4b9d544456ccd44f579\", \"0279c0fc8f0df225d6769a4e8cecd521cefbd8f2\", \"9d9689a10aa0b9c86c2021e34501390b8a492dca\", \"752713d9d2e9db2f1ce16675c63567f5d22f8377\", \"6b0638566cbec1e3abe86615107bfdc2aee831d9\", \"94c040877bcf72758712b8aba8c204e8ca0a947f\", \"5a35743086e0f5d4d54d165f4797bd53847307b0\", \"5184528058ce95e12843316d54c0b73ffd73d90e\", \"2c9223ba840b66cfdc60fe670da502e54eb6a6a9\", \"65edeee8c533f3c79c72aa02fa7af0b295b691c9\", \"f929b083e51c87cff61200d64a7e8b8fa22e13b2\", \"90bd37ea071de0e06afb1bdd2881c0b608824770\", \"9dacab1dadab98dc7e93c0fcc6a1220e372763b8\", \"2590f5e9f1b01d9a737aefa504fd0293797d20fd\", \"42d2adefdc8cf61414d3b2f586e8c5d49c73cfec\", \"82fdff32e58427d3c6bfd82636c06ec26e90f1e9\", \"01cafd81667fc7e9f60dce0817c3e1f5dd3d415c\", \"05dacc18ea6deed02789d854e2c3bfad58d41674\", \"f0627cc7cd3177adfac14eacaf0f3af3c8ded56e\", \"70ccb84f2fccdf54f3ff04d369193356db2feb77\", \"67a5c1bd9c0f862e23148019f5cb6ca654a2bbd2\", \"5880f167ac40fb1c3c2abdb4bae4a2bc6ffd04ee\", \"4323f94f495ce39523f7206c605d7e750622a2b5\", \"e2610c77364cd3807c8e4a4d32d9409a5e117c49\", \"d3e3f447588756b2a8a773dd389003d8265fcfe6\", \"fb237a8ac1fc2806ae241ddfb105fc9b9dd8f2b3\", \"67723013f39e15035e8b3229a56bb75d0653119b\", \"8f8bee9221e55f0d4785181fcbbef89327650263\", \"9c797d07ce2117b97cca1baf355af9010552bd25\", \"e9e9eab1cb693c9608111cd6fd415c57cc357aae\", \"f58ab3bad13f1f05c50f93af9ea2656ef237b140\", \"5d673d2309a44d4d71995cfe949fdb688b6f199e\", \"8f54a8f1a320c919cf9526356ac99d74e1667ce0\", \"25e791501b3298ad74535e6c0b23659d05c67aed\", \"f91488ea01ac4591360462cd63a7c69d77d9fb79\", \"cbff144e295ca70d629e5cb496639c6262fe98cc\", \"6b7b04320d07a8ea254d2d96bd092334d28300f8\"]}","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":"f5b03fad-a920-411b-8663-ffd771166277","title":"[UI] Fix hypothesis detail pages timing out — critical demo blocker","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":99,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:34:36.186093+00:00","updated_at":"2026-04-13T19:34:36.186093+00:00","summary":"","completion_summary":"[UI] Document hypothesis page timeout task resolved: already addressed by c2519a02 [task:f5b03fad-a920-411b-8663-ffd771166277]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f5b03fad_a92_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"725a54e19b158771a410519912093f91e227be17\"], \"completion_shas_checked_at\": \"2026-04-13T19:34:36.165885+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c2519a02-1afe-48d8-a236-0357412fc2a1","title":"[UI] Fix hypothesis page timeout - critical demo blocker","description":"The /hypothesis/{id} endpoint is timing out (>15s). This is a critical blocker for the demo since hypothesis pages are the core showcase. Investigate the hypothesis_detail route in api.py and fix performance issues.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":99,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:21:31.743960+00:00","updated_at":"2026-04-13T19:21:31.743960+00:00","summary":"","completion_summary":"[UI] Merge: resolve spec conflict, document task already on main [task:c2519a02-1afe-48d8-a236-0357412fc2a1]; [UI] Document hypothesis page timeout fix already on main: caching + N+1 batch [task:c2519a02-1afe-48d8-a236-0357412fc2a1]; [UI] Document hypothesis page timeout fix: caching already on main in e1c38f18e [task:c2519a02-1afe-48d8-a236-0357412fc2a1]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c2519a02_1af_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"e1c38f18e7d16e80652a928f2e6821e5086bbd83\"], \"completion_shas_checked_at\": \"2026-04-13T19:21:31.724835+00:00\", \"completion_shas_missing\": [\"0b0e9dc38412b8285e207cf3947ee96b369e9be8\", \"1aa12f3b4a1151bac35edb5c51f7b022ec2172a4\", \"a0d7199416443590a2061daf4a2cd8665012b915\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"172e4e64-a243-4d3d-8ab0-b7cadee521e8","title":"[UI] Fix 500 errors on /notebooks and /atlas pages","description":"Both /notebooks and /atlas return 500 Internal Server Error. /notebooks has an f-string curly brace issue at line ~15678. /atlas also crashes. These are demo-critical pages.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":99,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:05:44.625106+00:00","updated_at":"2026-04-13T19:05:44.625106+00:00","summary":"","completion_summary":"[Atlas] Document task 172e4e64 already resolved: /notebooks and /atlas return HTTP 200 [task:172e4e64-a243-4d3d-8ab0-b7cadee521e8]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/172e4e64_a24_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"max_outlook\", \"_stall_requeued_at\": \"2026-04-13 19:03:53\", \"completion_shas\": [\"0c92a60fbb4cc3d74de168b13a457b0519c98a48\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:44.606379+00:00\", \"completion_shas_missing\": [\"07f5f56e0711ab379c13cb188488f1bace7e25fe\", \"ebb732cb40ce8ab2b832700476205883283329f2\", \"afb4e4a40e8f52dba860b6379b599e1f79738302\", \"08c99a181a13fbb6f716adbb3a3cca062bf88aef\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"12777691-adc7-4498-9a7e-b6ea13b1fe13","title":"[UI] Fix NameError in hypothesis page: undefined _get_cached_page","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":99,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:05:15.538178+00:00","updated_at":"2026-04-13T19:05:15.538178+00:00","summary":"","completion_summary":"[UI] Verify fix on main: NameError task resolved, spec work log updated [task:12777691-adc7-4498-9a7e-b6ea13b1fe13]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/12777691_adc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"max_outlook\", \"_stall_requeued_at\": \"2026-04-13 19:02:28\", \"completion_shas\": [\"a632aa02219750432763fbfd0cd6155b7b7c084e\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:15.519538+00:00\", \"completion_shas_missing\": [\"90076d3c783c0a942d61e40dd1a7641d09c83512\", \"1dbc0850468d8fadd2066fc915d9e80154fe4bf4\", \"c3ce675052165fd2263775bff095d792248be369\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4bc7e5a2-30fd-4043-8b14-83d3cf5f432d","title":"[UI] Fix SQLite connection leaks causing API hangs","description":"API is hung with 464 open FDs. Root cause: ~40 endpoints open db connections via get_db() but never close them in finally blocks. WAL has 7600+ uncheckpointed frames. Fix: wrap all db operations in try/finally with db.close(), add context manager helper.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":99,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:05:12.176501+00:00","updated_at":"2026-04-13T19:05:12.176501+00:00","summary":"","completion_summary":"[Infrastructure] Document SQLite connection leak fix verified on main [task:4bc7e5a2-30fd-4043-8b14-83d3cf5f432d]; [Atlas] Document /atlas.html broken links task closure: already resolved, HTTP 200, 0 broken links [task:0ab2c8a4-3cae-41b8-a1c4-6216302c0f7b]; [Atlas] Verify /gaps broken links resolved: HTTP 200, false positive audit [task:3db09a73-3bd6-4c48-8ed5-8d192ced4ac7]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/4bc7e5a2_30f_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 19:00:54\", \"completion_shas\": [\"442f0a23a6ab2b5220c72eb8bfbe841ce70b826c\"], \"completion_shas_checked_at\": \"2026-04-13T19:05:12.154496+00:00\", \"completion_shas_missing\": [\"a863dcf7f87889c0d8c330499896dfc9ec48bbfb\", \"0defd65ffe9e8f87f3b4ea784ec9aab98c0deb20\"], \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ac596e54-a43a-4ba6-90a6-b7027e6dd0a0","title":"[UI] Fix hypothesis page 22s hang — wiki pages JOIN causes full scan","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":98,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:47:50.368443+00:00","updated_at":"2026-04-20T23:47:50.368443+00:00","summary":"","completion_summary":"Already fixed on main: wiki JOIN full scan resolved in commit 8dd82cc08, hypothesis page loads normally","completion_notes":"Verified on origin/main: commit 8dd82cc08 fixed the wiki_pages JOIN full scan that caused 22s hang. Changed `a.id = 'wiki-' || wp.slug` to `wp.slug = SUBSTR(a.id, 6)` with `a.id LIKE 'wiki-%'` filter, reducing wiki query from ~8s to ~0.005s. Task was already complete.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ac596e54_a43_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:14:23\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a80556f8-e41e-478c-9497-81695c47afe2","title":"[UI] Fix 500 errors on /atlas and /notebooks pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":98,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:47:50.294112+00:00","updated_at":"2026-04-20T23:47:50.294112+00:00","summary":"","completion_summary":"Already fixed on main: /atlas (commit 50f38aa71), /notebooks (HTTP 200), hypothesis page hang (commit 8dd82cc08)","completion_notes":"Verified on origin/main: commit 50f38aa71 fixed /atlas 500 error, commit 8dd82cc08 fixed wiki_pages JOIN full scan. Both /atlas and /notebooks return HTTP 200. No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a80556f8_e41_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:23:27\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8a478e5c-8e3e-49f0-894d-5e969c2fd97f","title":"[UI] Fix mermaid diagram rendering on hypothesis detail pages","description":"Hypothesis pages contain mermaid code blocks but the mermaid JS library is not loaded, so diagrams render as raw text. Need to: 1) Add mermaid CDN script to hypothesis pages, 2) Parse mermaid code blocks from description markdown, 3) Render them as actual diagrams. 141/149 hypotheses have mermaid diagrams that should be visible.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":98,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:22:45.937586+00:00","updated_at":"2026-04-16T10:22:45.937586+00:00","summary":"","completion_summary":"Already addressed by commit 0792975fb on origin/main (merged via worktree-fix-mermaid-render). Verified: api.py on origin/main contains mermaid CDN script (mermaid@11), mermaid code block extraction in simple_md_to_html() (lines 1960-2013), pre.mermaid rendering elements (lines 2013, 23079, 29285, 30245), and custom mermaid-pan.js. No additional changes needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8a478e5c_8e3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_stall_skip_providers\": [\"minimax\", \"codex\"], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-14 20:04:13\", \"_stall_skip_at\": {\"codex\": \"2026-04-14T20:04:13.029002+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"14ce2ee2-3313-4229-a2cf-506777305d8a","title":"[UI] Fix hypothesis/analysis wiki link timeout — reapply SUBSTR join fix","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":98,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T19:56:44.544038+00:00","updated_at":"2026-04-13T19:56:44.544038+00:00","summary":"","completion_summary":"[Atlas] Update spec work log for SUBSTR join fix [task:14ce2ee2-3313-4229-a2cf-506777305d8a]; [Atlas] Reapply SUBSTR join fix to wiki see_also query in wiki_page [task:14ce2ee2-3313-4229-a2cf-506777305d8a]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/14ce2ee2_331_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"codex\", \"_stall_requeued_at\": \"2026-04-13 19:43:16\", \"completion_shas\": [\"926b1e12678b05595e542e2321ffed4095ae9188\", \"4321e5a3c460d7ae7f005cca44315dc3bc3d0297\"], \"completion_shas_checked_at\": \"2026-04-13T19:56:44.523595+00:00\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8e5186fe-55e2-4a4e-9bd7-76b0828a1426","title":"[UI] Fix hypothesis detail pages hanging/timeout (blocks demo)","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":97,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T20:22:42.953767+00:00","updated_at":"2026-04-13T20:22:42.953767+00:00","summary":"","completion_summary":"[UI] Update 8e5186fe spec work log: task verified on main via 1ceb41cc0 [task:8e5186fe-55e2-4a4e-9bd7-76b0828a1426]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8e5186fe_55e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"a0c382042ca68015177a13b6c2e8a03fffff30ed\", \"1ceb41cc012dd566c29588a60e29889a1d55503f\"], \"completion_shas_checked_at\": \"2026-04-13T20:22:42.937820+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b40095a9-3798-42e0-8a26-0255bd48f1d5","title":"[UI] Fix hypothesis page 25s load time — remove blocking API call","description":"Hypothesis detail pages take 25+ seconds to load due to a blocking ClinicalTrials.gov API call in _hypothesis_detail_render. Fix: skip the external API call on page load (show cached data or placeholder), batch debate N+1 queries.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":97,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T18:51:32.207781+00:00","updated_at":"2026-04-13T18:51:32.207781+00:00","summary":"","completion_summary":"[Agora] Batch debate N+1 queries in hypothesis_detail page render [task:b40095a9-3798-42e0-8a26-0255bd48f1d5]; [Atlas] Add task ID to /entity broken links resolution commit [task:43f94197-02a4-4c26-8d52-c6fc1abf5097]; [Atlas] Add task ID to /entity broken links resolution commit [task:43f94197-02a4-4c26-8d52-c6fc1abf5097]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b40095a9_379_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"cf78c101f55bcc17389c33fd2cdcf801322b5d41\"], \"completion_shas_checked_at\": \"2026-04-13T18:51:32.188136+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d88e9dec-98bb-49fe-beef-466c8dfb2f95","title":"[UI] Fix /atlas 500 error — _cache_page undefined","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":96,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T15:28:26.459105+00:00","summary":"","completion_summary":"worker on slot 72 exited (exit_code=0) without calling orchestra 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":"docs/planning/specs/d88e9dec_98b_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 12:51:47\", \"_stall_skip_at\": {\"minimax\": \"2026-04-14T12:51:47.028221+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"0f470e89-9efa-4fd4-9da7-b2de7ed38dcf\", \"_watchdog_repair_created_at\": \"2026-04-23T15:22:30.288002+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a0cc856c-b2a4-4ec1-97e7-fcffc54b4192","title":"[UI] D16.4: Add Mol* 3D Protein Viewer to Hypothesis Pages","description":"Embed interactive 3D protein structure viewer on hypothesis detail pages for target proteins.\n\nGoal: Provide rich molecular visualization for therapeutic targets, making hypotheses more compelling and scientifically rigorous.\n\nDeliverables:\n1. Integrate Mol* (molstar.org) JavaScript viewer into hypothesis detail pages\n2. For each hypothesis with target_gene, fetch PDB structure:\n   - Query RCSB PDB API using gene name/protein name\n   - Select best representative structure (highest resolution, relevant organism)\n   - Load structure into Mol* viewer\n3. Add viewer controls: rotate, zoom, style (cartoon, surface, ball-stick)\n4. Highlight active sites, binding pockets, or disease-relevant regions if known\n5. Add caption with PDB ID, resolution, method (X-ray, cryo-EM, NMR)\n6. Test on top 10 hypotheses (LRP1, HCRTR1, SMPD1, CYP46A1, SST, ABCA1, etc.)\n\nImplementation:\n- Add <div id=\"molstar-viewer\"> to hypothesis detail template in api.py\n- Include Mol* CDN scripts in page header\n- Fetch PDB data via RCSB REST API: https://data.rcsb.org/rest/v1/core/entry/{pdb_id}\n- Initialize viewer with structure on page load\n\nReference: Mol* documentation at molstar.org/viewer-docs/, PDB API at rcsb.org/docs/programmatic-access\n\nThis is Quest 16/17 priority - rich artifacts for demo showcase.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":96,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:47:57.884321+00:00","updated_at":"2026-04-20T23:47:57.884321+00:00","summary":"","completion_summary":"Already on main: Mol* viewer fully implemented in api.py (112+ references), static PDB mapping for 20+ neurodegeneration genes, AlphaFold fallback, dynamic RCSB search","completion_notes":"Mol* 3D protein viewer fully implemented in api.py on origin/main (112+ molstar references). Lines ~26882–27237 contain full implementation with PDB static mapping, AlphaFold fallback, RCSB dynamic search, and collapsible viewer panel. Already resolved.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a0cc856c_b2a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 11:53:30\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"4b779b36-8c03-4606-82ae-128432e78405\", \"_watchdog_repair_created_at\": \"2026-04-17T09:07:06.627194+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c1b5459f-d25a-4475-8da8-851dc413b864","title":"[UI] Add Mol* 3D protein viewer to hypothesis detail pages","description":"Embed Mol* 3D protein structure viewer on hypothesis detail pages for target proteins. When a hypothesis mentions specific proteins (e.g., TREM2, LRP1, APOE), show an interactive 3D viewer using PDB structures. Tasks D16.4 and A17.1 from Quests 16/17.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":96,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T12:27:06.517758+00:00","updated_at":"2026-04-20T12:27:06.517758+00:00","summary":"","completion_summary":"Already resolved: feature confirmed live via curl tests showing 7 Mol* references on hypothesis pages","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c1b5459f_d25_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 12:15:48\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"4b8ec447-ce0e-4cb3-9673-591550361446\", \"_watchdog_repair_created_at\": \"2026-04-20T12:21:38.991955+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: feature confirmed live via curl tests showing 7 Mol* references on hypothesis pages","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"997b8179-1a84-4480-b33c-c136c1914a3d","title":"[UI] Add Mol* 3D protein viewer component to hypothesis pages","description":"Embed Mol* (molstar) 3D protein viewer on hypothesis detail pages. For hypotheses with known target proteins/genes, show an interactive 3D structure viewer using PDB IDs. This addresses Quest 16 D16.4 and Quest 17 A17.1. Implementation: add a mol* viewer section to the hypothesis detail page in api.py that maps target_gene to PDB IDs and embeds the Mol* viewer.\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":96,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T19:38:21.749983+00:00","updated_at":"2026-04-14T19:38:21.749983+00:00","summary":"","completion_summary":"Mol* 3D protein viewer implementation verified complete on main. 120+ gene PDB mappings, AlphaFold fallback, lazy-loading collapsible panel all present in api.py. No additional work needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/997b8179_1a8_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 20:57:49\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6ccc1c98-bd54-422c-a87a-bf4c2763f4b2","title":"[UI] Fix multiple NoneType and empty-sequence crashes in agent/senate performance pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":96,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T20:56:37.772706+00:00","updated_at":"2026-04-13T20:56:37.772706+00:00","summary":"","completion_summary":"[UI] Fix NoneType crashes in agent/senate performance pages [task:6ccc1c98-bd54-422c-a87a-bf4c2763f4b2]; [Demo] Update work log: add 4df042057 commit with task ID [task:08d275f8-3285-4b9d-8144-c1eae7e70610]; [Demo] Document Mol* 3D viewer task complete: already on main via afebddfec, 91ec0016e, 7fb8ef909, db23ef9cf [task:08d275f8-3285-4b9d-8144-c1eae7e70610]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6ccc1c98_bd5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"b2661aa2b37b414babb40f748c435185a8088c0e\"], \"completion_shas_checked_at\": \"2026-04-13T20:56:37.756183+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"58e83560-3321-4ac1-931b-2e18d31c1d86","title":"[UI] Fix path traversal vulnerability in bridge.py","description":"SECURITY FIX: Bridge service has path traversal vulnerability. Line 32-33 checks if path starts with BASE before resolving symlinks/relative paths, allowing attackers to write to arbitrary locations via ../../ sequences. Service crashed attempting to write to /etc. Fix: use os.path.realpath() before validation. Add tests for common bypass techniques.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:20:12.533400+00:00","updated_at":"2026-04-24T15:20:12.533400+00:00","summary":"","completion_summary":"[Verify] Fix path traversal vulnerability in bridge.py — already resolved [task:58e83560-3321-4ac1-931b-2e18d31c1d86]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/58e83560_332_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}, \"completion_shas\": [\"40c9e5d5d8d839f4d986a12c2731edc6566b1fc1\"], \"completion_shas_checked_at\": \"2026-04-21T01:39:11.364942+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved in 698ed86b2 (squash merge of task/126b98c0). scripts/bridge.py uses Path.resolve().relative_to() for upload path validation; root bridge.py is a compatibility shim; tests/test_bridge_path_validation.py has 5 tests all passing — parent traversal, absolute paths, symlink escape blocked, legitimate paths allowed, no-shell subprocess verified.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1ad717d4-0adb-492f-8df6-bf86ecd1bf64","title":"[UI] Fix 500 errors on /atlas and /notebooks pages","description":"The /atlas page returns 500 due to NameError: _cache_page not defined. The /notebooks page returns 500 due to NoneType subscript error. Both are critical demo pages that need to work.","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:18:01.482178+00:00","updated_at":"2026-04-24T15:18:01.482178+00:00","summary":"","completion_summary":"Already resolved: both /atlas (_cache_page→_set_cached_page, 50f38aa71) and /notebooks (NoneType fix, 0d1915dba) return 200; verified via curl.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/1ad717d4_0ad_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: both /atlas (_cache_page→_set_cached_page, 50f38aa71) and /notebooks (NoneType fix, 0d1915dba) return 200; verified via curl.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5b0d6a48-62ee-4c51-ab6f-9aacfe017d85","title":"[UI] Fix analysis_detail notebooks query - column name mismatch","description":"Fix line 1291 in api.py: analysis_detail() uses 'analysis_id' but database column is 'associated_analysis_id'. Causing 500 errors on /analysis/* routes. Simple one-line fix.","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-24T15:13:41.381717+00:00","updated_at":"2026-04-24T15:13:41.381717+00:00","summary":"","completion_summary":"Already resolved: api.py line 40005 in analysis_detail_main already uses `associated_analysis_id` in the notebooks query. All notebook queries confirmed correct via grep. Verification note committed as dbe95da89 to task branch and pushed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5b0d6a48_62e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: api.py line 40005 in analysis_detail_main already uses `associated_analysis_id` in the notebooks query. All notebook queries confirmed correct via grep. Verification note committed as dbe95da89 to task branch and pushed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0f4d2691-88e2-4530-bca3-691f17dd7b84","title":"[UI] Fix /notebooks 500 error — stale code reference in running server","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T10:17:05.240640+00:00","summary":"","completion_summary":"Already resolved: /notebooks returns 200, fix was in migration 047 (commit 8f3576b6e). Previous agents exited without calling complete.","completion_notes":"","last_error":"Paused after 14 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0f4d2691_88e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:38:13\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:38:13.628830+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"7f99a381-a73e-4f06-92a4-97eff515d8c3\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:48.338322+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c2d40207-a69a-490e-9e20-e61ad7adc611","title":"[UI] Fix /notebooks 500 error: NoneType not subscriptable in notebooks_page","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T09:17:56.400006+00:00","summary":"","completion_summary":"Already fixed: /notebooks returns HTTP 200. NoneType bug was a transient schema mismatch resolved by prior migrations. Workers abandoned because no fix was needed.","completion_notes":"","last_error":"Paused after 7 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c2d40207_a69_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:52:13\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:52:13.901769+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"926d1333-6e49-4664-ac7d-fd4e271b8e43\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:57.218270+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d6623186-98e2-4b1e-855e-9ba3dbec375c","title":"[UI] Fix /atlas 500 error — undefined _cache_page function","description":"The /atlas route returns 500 due to NameError: name '_cache_page' is not defined at api.py:19442 in atlas_page. This is a key demo page (Layer 4 - Living Knowledge Graph) that must work for the end-to-end demo.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-23T09:16:42.291214+00:00","summary":"","completion_summary":"worker on slot 70 exited (exit_code=0) without calling orchestra complete","completion_notes":"","last_error":"Paused after 12 exit-0 runs with no commits on branch=(none); stale worktree deleted","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d6623186_98e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:41:11\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:41:11.615930+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"d33ecae2-44e8-4f9c-920e-512fa2d03f2b\", \"_watchdog_repair_created_at\": \"2026-04-23T06:56:51.599614+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"644bff75-6ed0-41e9-b983-a8a44f536a2b","title":"[UI] Fix tools import conflict - agent.py crashing","description":"Critical: agent.py cannot start due to import conflict. Both tools.py and tools/ directory exist. Python imports tools/ package instead of tools.py, breaking agent imports. Fix: rename tools/ to avoid conflict.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T02:02:29.005479+00:00","updated_at":"2026-04-21T02:02:29.005479+00:00","summary":"","completion_summary":"Removed tracked top-level tools/git-hooks shadow path; fixed install_repo_hooks.sh worktree git-path resolution; verified tools imports and hook dry-run.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/644bff75_6ed_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 20:55:33\", \"_stall_skip_at\": {\"minimax\": \"2026-04-14T20:55:33.530103+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"_watchdog_repair_task_id\": \"8df3e570-fb56-40f3-aeb0-bb6861631b5c\", \"_watchdog_repair_created_at\": \"2026-04-20T11:23:30.603122+00:00\", \"completion_shas\": [\"abf917b8e09f633a802694d64356ea0e60e96dc4\"], \"completion_shas_checked_at\": \"2026-04-21T02:02:28.978599+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified import tools/from tools/import agent; py_compile agent.py tools.py scidex/forge/tools.py scripts/validate_mermaid.py; bash -n install_repo_hooks.sh hooks/pre-push hooks/pre-merge-commit hooks/post-merge; bash install_repo_hooks.sh --dry-run.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b3dafc56-7bf5-4ebf-a57d-acc77a7d478c","title":"[UI] Fix /notebooks 500 error — NoneType subscript at line 15678","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T01:24:48.038103+00:00","updated_at":"2026-04-21T01:24:48.038103+00:00","summary":"","completion_summary":"Already resolved on main: /notebooks uses null-safe description fallbacks; curl /notebooks and /notebooks/ both returned HTTP 200 text/html. Verification recorded on task branch commit c094bbe64/2dc51f3ab.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b3dafc56_7bf_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"_stall_skip_providers\": [\"minimax\"], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-15 21:41:49\", \"_stall_skip_at\": {\"minimax\": \"2026-04-15T21:41:49.474776+00:00\"}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved on main: /notebooks uses null-safe description fallbacks; curl /notebooks and /notebooks/ both returned HTTP 200 text/html. Verification recorded on task branch commit c094bbe64/2dc51f3ab.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"17bb1bfc-ea9c-4009-87f5-7066705da890","title":"[UI] Fix hypothesis_detail AttributeError in resource usage display","description":"api.py hypothesis_detail() crashes with AttributeError: 'float' object has no attribute 'get' when displaying resource usage. The bug is at lines 15301/15314/15326 where tokens_data/api_data/cpu_data (flat dicts with 'amount'/'cost_usd' keys) are incorrectly iterated via .values() then .get() called on individual floats. Fix: access .get('amount', 0) directly on the dict.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-15T23:47:17.257083+00:00","updated_at":"2026-04-15T23:47:17.257083+00:00","summary":"","completion_summary":"[Atlas] Update slot reservation [task:17bb1bfc-ea9c-4009-87f5-7066705da890]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/17bb1bfc_ea9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 01:14:05\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"ba870a954630754c23c50e596ac44603f9be2ee3\", \"2df9f80fb48b89d403d8c686a52709a8d1cf2a6d\"], \"completion_shas_checked_at\": \"2026-04-15T23:47:17.239048+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"eb11ca2a-6ff3-48db-b6ba-a92f85422ac9","title":"[UI] Add Mol* 3D protein structure viewer to hypothesis pages","description":"\n\nIMPORTANT: Keep Mol* protein viewer on entity/hypothesis/challenge detail pages where it adds value. Do NOT feature it prominently on /showcase. Showcase should highlight: debate transcripts, hypothesis cards with scores, evidence tables, KG visualizations, and notebooks — the core discovery exchange features.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-15T23:11:30.225669+00:00","updated_at":"2026-04-15T23:11:30.225669+00:00","summary":"","completion_summary":"Task already complete on main. Mol* 3D protein structure viewers are embedded in hypothesis_detail(), entity_detail(), and challenge_detail() pages. The /showcase page correctly does NOT include Mol*. Implementation was done via related task 05a277d6-f4cc-4439-ae7a-71806332e313 commits.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/eb11ca2a_6ff_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 00:46:56\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6e2f0e65-8371-4bfb-ac3f-cb88b7c31658","title":"[UI] Fix /api/graph/{analysis_id} case-sensitivity bug","description":"The /api/graph/{analysis_id} endpoint returns 404 for valid analysis IDs because it converts IDs to lowercase but the SQL query is case-sensitive. This affects 17+ broken links across the site. Fix: Make SQL query case-insensitive using LOWER() on both sides of comparison at api.py:1443.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-15T19:09:21.618005+00:00","updated_at":"2026-04-15T19:09:21.618005+00:00","summary":"","completion_summary":"[UI] No-op: sync slot reservation [task:6e2f0e65-837]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6e2f0e65_837_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:32:19\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"40163e5dc4b9fe8398ad6bdef391c92ce08f6f1e\", \"7841e6dea1a18336f280b69d68007c7d2809c9f1\", \"1bef28af9a0421fdc6352b98fdcb24bc9bc67b54\"], \"completion_shas_checked_at\": \"2026-04-15T19:09:21.598103+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b8706bc7-222d-497b-bb39-c74633858345","title":"[UI] Fix /api/graph/{analysis_id} case-insensitive lookup","description":"The /api/graph/{analysis_id} endpoint converts analysis_id to lowercase but queries the database with exact match, causing 404s. Need to use LOWER(id) for case-insensitive matching. Affects 17 broken links across hypothesis and analysis pages.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-15T19:08:05.782797+00:00","updated_at":"2026-04-15T19:08:05.782797+00:00","summary":"","completion_summary":"[UI] No-op: verify task b8706bc7-222d-497b-bb39-c74633858345 already complete","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b8706bc7_222_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:22:26\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"9c933ca3e5749622cd0228a1e2741aa764427add\"], \"completion_shas_checked_at\": \"2026-04-15T19:08:05.689488+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"747735c9-3b92-4855-a518-5b92c601aa1d","title":"[UI] Fix case-insensitive analysis ID lookup in /api/graph/{analysis_id} endpoint","description":"The /api/graph/{analysis_id} endpoint (line 1383 in api.py) uses case-sensitive SQL query 'WHERE id=?' which fails for uppercase analysis IDs like 'SDA-2026-04-01-gap-013'. This causes 144 broken links. Fix: Change to 'WHERE LOWER(id)=LOWER(?)' to match pattern used at line 3575. Test: curl /api/graph/SDA-2026-04-01-gap-013 should return graph data instead of 404.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T21:09:49.084605+00:00","updated_at":"2026-04-14T21:09:49.084605+00:00","summary":"","completion_summary":"[Atlas] Fix case-insensitive analysis ID lookups in provenance/reproducibility/graph endpoints [task:747735c9-3b92-4855-a518-5b92c601aa1d]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/747735c9_3b9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:07:05\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"4702c5e2bfe7cdaed2cea9abecd8c54078a57d62\"], \"completion_shas_checked_at\": \"2026-04-14T21:09:49.064905+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"84f45f68-44e4-4b5a-b176-dccb68b61e9a","title":"[UI] Fix agent ImportError - tools module conflict","description":"CRITICAL: Agent service failing to start due to tools/ package conflicting with tools.py module. When MethBase was added, a tools/ directory was created, causing Python to import tools/__init__.py instead of tools.py. This breaks all tool imports in agent.py (research_topic, pubmed_search, etc). Impact: No analyses can run. Fix: Either (1) rename tools/ to tools_methbase/ or (2) update tools/__init__.py to re-export all functions from parent tools.py\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T20:51:42.690801+00:00","updated_at":"2026-04-14T20:51:42.690801+00:00","summary":"","completion_summary":"Issue already resolved by prior commits. Verified: scidex/forge/tools.py (554KB) contains real tools, root tools.py is a shim to scidex.forge.tools, methbase_tools/ exists (renamed from conflicting tools/), agent service active and running, all tool imports work, no import errors in agent.log.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/84f45f68_44e_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:17:15\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3c578c96-0429-4fad-9982-209926aa9bdf","title":"[UI] Fix Python import conflict: tools/ directory shadowing tools.py","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T20:50:41.792704+00:00","updated_at":"2026-04-14T20:50:41.792704+00:00","summary":"","completion_summary":"Task verified complete: import conflict was resolved by prior package refactor commits. Root tools.py is a backward-compat shim redirecting to scidex/forge/tools.py. All imports work correctly, no tools/ directory shadowing exists.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3c578c96_042_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-13 22:16:48\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bd7a7fc1-bcc4-4248-a3f4-ca0c1c5cdd95","title":"[UI] Fix artifacts gallery 500 error and target detail TypeError","description":"Fix UnboundLocalError in artifacts_gallery (line 7201, caption variable) and TypeError in target_detail (line 15141, str vs int comparison)\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T01:20:51.242396+00:00","updated_at":"2026-04-14T01:20:51.242396+00:00","summary":"","completion_summary":"[Docs] Add spec for bd7a7fc1 bug fix task [task:bd7a7fc1-bcc4-4248-a3f4-ca0c1c5cdd95]; [UI] Fix artifacts gallery 500 and target detail TypeError [task:bd7a7fc1-bcc4-4248-a3f4-ca0c1c5cdd95]; [Docs] Update 64047bf2 work log: task complete, migration verified on main [task:64047bf2-805c-43ee-aecd-0cef37726e11]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/bd7a7fc1_bcc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"ce9050f1d47b8485c2cd0e436ed474c76dbb02f5\", \"3f0c0fd0015a75af316813df29d3b11571a60b89\", \"50e4a38d9349fba95ead818fbe9093fedbe3d1f9\", \"ee9380dc7c7f22a2ace80e0de66a4ac4aae6df69\", \"d943ed4192e81f55510f29a85867d8dc33b7271d\"], \"completion_shas_checked_at\": \"2026-04-14T01:20:51.222366+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fe943db4-2d3d-4364-b083-3f1da78f9c55","title":"[UI] Fix /atlas 500 error — _cache_page NameError","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:55:54.802876+00:00","updated_at":"2026-04-13T23:55:54.802876+00:00","summary":"","completion_summary":"[Atlas] Close fe943db4: /atlas 500 _cache_page NameError already fixed on main via 50f38aa71 [task:fe943db4-2d3d-4364-b083-3f1da78f9c55]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fe943db4_2d3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"c1f8945cd177a70ed43fef5265557f56d4ee600c\"], \"completion_shas_checked_at\": \"2026-04-13T23:55:54.785463+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"29f3dddc-9c22-432e-9db1-f351b95166f1","title":"[UI] Fix /notebooks page returning HTTP 500","description":"The /notebooks page returns a 500 Internal Server Error. This is a critical demo bug since notebooks are key artifacts. Need to debug and fix.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:48:59.785121+00:00","updated_at":"2026-04-13T23:48:59.785121+00:00","summary":"","completion_summary":"[Docs] Close 29f3dddc: /notebooks 500 already fixed on main via 2cef67f48 [task:29f3dddc-9c22-432e-9db1-f351b95166f1]; [Exchange] Document h-61196ade enrichment verified complete — data live in DB [task:06d452a0-87b3-423a-96ed-c84c6fa59188]; [Exchange] Document task 26550570: all 5 hypotheses already enriched on main via 7de1a879a [task:26550570-5abe-42bf-9253-74fd337df610]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/29f3dddc_9c2_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"5b1dec0b4262172f03e4aba224d7a1da1cdcc388\"], \"completion_shas_checked_at\": \"2026-04-13T23:48:59.768594+00:00\", \"completion_shas_missing\": [\"d8ea08c1c4cccfc2149f561e579a7b0314a4b116\", \"85649cdf6c806c88a71b92aa85fc2a1b0be159e4\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"20673928-ba1b-442a-81b5-e4c9d2402f52","title":"[UI] Fix broken /atlas.html links in navigation — should be /atlas","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:48:28.165301+00:00","updated_at":"2026-04-13T23:48:28.165301+00:00","summary":"","completion_summary":"[Docs] Update spec work log for atlas.html→/atlas fix [task:20673928-ba1b-442a-81b5-e4c9d2402f52]; [UI] Fix /atlas.html → /atlas navigation links in api.py and static pages [task:20673928-ba1b-442a-81b5-e4c9d2402f52]; [Docs] Task bf44ca60-094: /demo/showcase already on main — verification complete","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/20673928_ba1_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"477593e7e88f29d980c3da12de6c8937db40bfcb\", \"4deca3c1d57c47af429afd4405d57674dd69497e\"], \"completion_shas_checked_at\": \"2026-04-13T23:48:28.146781+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ed01f64-9a78-465b-9090-9495c312adf9","title":"[UI] Fix Unicode Greek characters in hypothesis mermaid diagrams","description":"70+ hypotheses have Unicode Greek characters (α, β, γ, κ, etc.) in their mermaid diagram blocks, which breaks client-side rendering. Includes top-3 hypotheses (h-61196ade score 0.85, h-de0d4364 0.83, h-9e9fee95 0.82). Replace Greek chars with ASCII equivalents (alpha, beta, gamma, kappa) in mermaid blocks only, preserving them in regular text. Uses regex to find mermaid blocks and substitute characters.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:47:52.353279+00:00","updated_at":"2026-04-13T23:47:52.353279+00:00","summary":"","completion_summary":"[UI] Verify and apply Greek mermaid fix: 0 Greek chars in mermaid blocks, top-3 hypotheses clean [task:5ed01f64-9a78-465b-9090-9495c312adf9]; [UI] Document 0f4d2691: /notebooks 500 error already resolved on main via 8f3576b6e [task:0f4d2691-88e2-4530-bca3-691f17dd7b84]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5ed01f64_9a7_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"a0986ecdff6180a7732839976f018b48e1543ec3\", \"cacf5a9bdc3037ee75ef9e29a460ff567ecb8966\", \"fab41223fc256cd02dc98e2004a728d6fcd48038\"], \"completion_shas_checked_at\": \"2026-04-13T23:47:52.334784+00:00\", \"completion_shas_missing\": [\"0cafc1e72931ceb4f100b47023e81996be3f857d\"]}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f259e7f0-9efd-458d-8eff-01ce21c81eaf","title":"[UI] Harden senate_performance_page against empty/null data and fix HTML escaping in notebooks_page","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:46:48.183596+00:00","updated_at":"2026-04-13T23:46:48.183596+00:00","summary":"","completion_summary":"[Docs] Update f259e7f0 spec work log [task:f259e7f0-9efd-458d-8eff-01ce21c81eaf] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>; [UI] Harden senate_performance_page against null agent_id; fix HTML escaping in notebooks_page [task:f259e7f0-9efd-458d-8eff-01ce21c81eaf] Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>; [Atlas] Document: /atlas _cache_page fix already on main via 50f38aa71 [task:6380c395-86dd-4451-9484-1416fc4cb56c]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f259e7f0_9ef_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"b70152701d33df091c1ae2b09bcb10664bcf6ecb\", \"ae6ef9de182e9f49654513426f8d3c2212a0c497\"], \"completion_shas_checked_at\": \"2026-04-13T23:46:48.163816+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"eb0e09ed-9d37-42a8-8524-74463d079354","title":"[UI] Fix NoneType error in entity_detail route","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:15:30.811655+00:00","updated_at":"2026-04-13T23:15:30.811655+00:00","summary":"","completion_summary":"[UI] Update spec work log for NoneType fix [task:eb0e09ed-9d37-42a8-8524-74463d079354]; [UI] Fix NoneType error in entity_detail _edge_rows: guard e['relation'] and e[type_key] with .get() defaults [task:eb0e09ed-9d37-42a8-8524-74463d079354]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/eb0e09ed_9d3_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"9ec03067c5a16119d40cc685f1e1ccee7bc07030\", \"285585e62b625b442ed709bc05d483bb5a7e7b22\"], \"completion_shas_checked_at\": \"2026-04-13T23:15:30.794144+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"936fae01-e371-454b-8ff6-b71aac05ce96","title":"[UI] Optimize API response times — add caching for heavy endpoints","description":"Load avg 51, 74 concurrent connections, pages timing out. Add response caching for expensive DB queries on /senate, /forge, /atlas, /resources, /demo, /agents, /artifacts which all take >2s.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T23:08:28.984977+00:00","updated_at":"2026-04-13T23:08:28.984977+00:00","summary":"","completion_summary":"[UI] Update spec work log for caching task [task:936fae01-e371-454b-8ff6-b71aac05ce96]; [UI] Add response caching for /resources and /agents endpoints [task:936fae01-e371-454b-8ff6-b71aac05ce96]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/936fae01_e37_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"completion_shas\": [\"da9cc3013a45ef21ef62a0acd82932c0a2d6e8c6\", \"7aace34d3581e6a89b5c472280186a56941cb698\"], \"completion_shas_checked_at\": \"2026-04-13T23:08:28.965446+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"87cab3b8-d87e-4aca-bbb3-e5a96ca99e9a","title":"[UI] Fix case-insensitive analysis ID lookups in API endpoints","description":"The /api/graph/{analysis_id} endpoint returns 404 for valid analysis IDs due to case sensitivity mismatch. Database stores IDs in lowercase (e.g., 'sda-2026-04-01...') but API receives uppercase requests (e.g., 'SDA-2026-04-01...'). Affects 144 broken links across the site. Fix: Use LOWER(id) in SQL queries or normalize input.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T22:02:40.901873+00:00","updated_at":"2026-04-13T22:02:40.901873+00:00","summary":"","completion_summary":"[UI] Update spec work log: case-insensitive fix complete [task:87cab3b8-d87e-4aca-bbb3-e5a96ca99e9a]; [UI] Fix case-insensitive analysis ID lookups in API endpoints [task:87cab3b8-d87e-4aca-bbb3-e5a96ca99e9a]; [UI] Update spec work log: /atlas and /notebooks 500 errors already fixed on 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/87cab3b8_d87_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"d4fd9a93b0d8d1779c8f7dd4da3cfdb917a052d7\", \"bf2a3e18dc8bcb90cea96d26dc67aa1616e52ce5\"], \"completion_shas_checked_at\": \"2026-04-13T22:02:40.882206+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a60027d6-027b-4b31-9667-08e85da27c2b","title":"[UI] Add SciDEX logo/icon home link and shared navigation menu to all pages","description":"Add to nav_html() in api.py:\n1. SciDEX icon/logo (text-based is fine: \"SciDEX\" in gradient) as leftmost nav element, always links to /\n2. Hamburger menu for mobile that expands to show all nav links\n3. Group nav links: Main (Dashboard, Analyses, Exchange), Knowledge (Wiki, Graph, Atlas), System (Senate, Quests, Resources, Forge), Info (How, Pitch)\n4. Active page highlight (already exists but improve)\n5. Ensure this shared nav appears on ALL pages including static HTML pages\nThis is the highest priority UI task — do it first and simple.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":95,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-13T21:26:45.113366+00:00","updated_at":"2026-04-13T21:26:45.113366+00:00","summary":"","completion_summary":"[UI] Add SciDEX logo/icon home link and shared navigation menu to all pages [task:a60027d6-027b-4b31-9667-08e85da27c2b]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"completion_shas\": [\"890e8ec677721217b3bcbb5bbbf0fe7eb9879352\"], \"completion_shas_checked_at\": \"2026-04-13T21:26:45.097028+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"98b8a425-bb25-4733-9034-bea77bd70aa6","title":"[UI] Fix /analyses/ page timeout — optimize slow correlated subqueries","description":"The /analyses/ page takes 20+ seconds to load because of correlated subqueries with LOWER() in the main analyses listing query. Replace with JOINs or precomputed counts. Demo-critical page linked from demo walkthrough.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":94,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T02:12:33.355753+00:00","updated_at":"2026-04-14T02:12:33.355753+00:00","summary":"","completion_summary":"[UI] Fix /analyses/ page timeout — replace 14 correlated subqueries with JOINs [task:98b8a425-bb25-4733-9034-bea77bd70aa6]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/98b8a425_bb2_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"225bdf35fa92259367d9f176a3cbd55fe4031abd\", \"81f93f31bd3a265c9a829e9975edbd763a6a25f8\"], \"completion_shas_checked_at\": \"2026-04-14T02:12:33.336681+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"341e9fcc-c42d-4786-89e0-76d619086b79","title":"[UI] Optimize /entity page query performance (2.2s -> <500ms)","description":"The /entity/TREM2 page takes 2.2 seconds to load. Likely has N+1 queries or unindexed lookups. Profile and optimize the SQL queries in the entity detail handler to bring load time under 500ms. This is a key demo page linked from /demo.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T01:08:55.945373+00:00","updated_at":"2026-04-16T01:08:55.945373+00:00","summary":"","completion_summary":"[UI] Update spec work log for entity page optimization task completion [task:341e9fcc-c42d-4786-89e0-76d619086b79]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/341e9fcc_c42_spec.md","provider":"any","payload_json":"{\"_stall_skip_providers\": [], \"_stall_requeued_by\": \"minimax\", \"_stall_requeued_at\": \"2026-04-14 03:33:19\", \"_stall_skip_at\": {}, \"_stall_skip_pruned_at\": \"2026-04-14T10:37:14.022390+00:00\", \"completion_shas\": [\"8644e8c9f20c283644c55e0f4fa446c1296fe7a0\", \"2fd5e89a80b47711fe494bdbbf610b2692a0646d\", \"a81809576c1478e9d464a1dfc847f510d974f8c1\"], \"completion_shas_checked_at\": \"2026-04-16T01:08:55.927031+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"48b9bc76-9296-4867-8e45-31f263e57a02","title":"[UI] Fix demo page broken links and template bugs","description":"Fix href=${r.link} template bug, /atlas.html→/atlas link, and verify all demo page links work\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T04:10:49.872978+00:00","updated_at":"2026-04-14T04:10:49.872978+00:00","summary":"","completion_summary":"[UI] Verify demo page links: bugs already fixed on main [task:48b9bc76-9296-4867-8e45-31f263e57a02]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/48b9bc76_929_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"c419417ffe26d0e8c9cb644fd98405adf46cb6be\"], \"completion_shas_checked_at\": \"2026-04-14T04:10:49.852962+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0e3fc944-94b2-4b76-b5b7-7ecefc1b2d13","title":"[UI] Fix nav links pointing to /atlas.html instead of /atlas","description":"Navigation links across the site point to /atlas.html (old static page) instead of /atlas (dynamic Atlas dashboard with stats, entity browser, edge type breakdowns). This misdirects users to an inferior page. Fix all nav references.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:58:27.693125+00:00","updated_at":"2026-04-14T03:58:27.693125+00:00","summary":"","completion_summary":"[Docs] Document 0e3fc944 task closure: /atlas.html nav already fixed on main [task:0e3fc944-94b2-4b76-b5b7-7ecefc1b2d13]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0e3fc944_94b_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"ddbbf8e77d86e521b839ddf2ce18c6957526904b\"], \"completion_shas_checked_at\": \"2026-04-14T03:58:27.674482+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"099ca612-357f-4844-b518-b3c35495cade","title":"[UI] Fix hypothesis detail page timeout — remove blocking ClinicalTrials.gov API call","description":"The /hypothesis/{id} page has a blocking call to ClinicalTrials.gov API with only a 5s timeout, causing page loads to take 5+ seconds or timeout entirely. The visual regression test also times out on this page. Solution: remove the live-fetch and rely on cached clinical_trials data, or move to async loading.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:24:01.058062+00:00","updated_at":"2026-04-14T03:24:01.058062+00:00","summary":"","completion_summary":"[UI] Close 099ca612: already fixed on main (84bc205f7, 8fc382451) — blocking ClinicalTrials.gov call removed [task:099ca612-357f-4844-b518-b3c35495cade]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/099ca612_357_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"57bc798ac4e209edea1f63ff0961436f315470a3\"], \"completion_shas_checked_at\": \"2026-04-14T03:24:01.039895+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"34b64eff-cac8-4a22-af1c-bc0406b07a50","title":"[UI] Add pathway diagrams and evidence strength matrix to hypothesis detail pages","description":"Quest 16/17: Enhance hypothesis detail pages with mermaid pathway diagrams rendered from hypothesis mechanism data, and visual evidence strength matrices showing citation quality vs relevance. These are the hero pages visitors click first.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":93,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-14T03:17:26.404961+00:00","updated_at":"2026-04-14T03:17:26.404961+00:00","summary":"","completion_summary":"[Docs] Mark 34b64eff obsolete: pathway diagrams and evidence matrix already on main [task:34b64eff-cac8-4a22-af1c-bc0406b07a50]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/34b64eff_cac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"8dc4adfc097606968b052c812f71dc9ffa99edb7\"], \"completion_shas_checked_at\": \"2026-04-14T03:17:26.388419+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60a1a63f-176a-4d4e-a005-16ef9ce70889","title":"[UI] Fix /notebooks route returning 500 Internal Server Error","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T07:38:14.379536+00:00","updated_at":"2026-04-16T07:38:14.379536+00:00","summary":"","completion_summary":"Fixed /notebooks 500 error with defensive entity parsing in notebooks_page and notebook_detail. Commits pushed to origin/main.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60a1a63f_176_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fa8fe4d7-5986-4a9f-af9c-21dc664f5bc4","title":"[UI] Fix /experiments 500 error and /hypotheses 404","description":"The /experiments page returns 500 Internal Server Error and /hypotheses returns 404. Both are linked from the homepage and are critical demo pages. Previous fix attempt (445f3420) did not resolve.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T06:51:38.760903+00:00","updated_at":"2026-04-16T06:51:38.760903+00:00","summary":"","completion_summary":"Verified /experiments (HTTP 200) and /hypotheses (HTTP 200) are both working correctly. Commits 43ed964ef and fc905783a are in origin/main. Both route handlers (experiments_listing at line 30709, hypotheses_listing at line 27263) are properly registered and rendering full HTML pages.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fa8fe4d7_598_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"548af5d2-7a43-41ce-b2d0-4d777f83ffc5","title":"[UI] Add DB connection cleanup middleware to prevent file descriptor exhaustion","description":"The #1 production error is 'unable to open database file' (19K/hr) caused by get_db() creating connections that are never closed. Add FastAPI middleware to auto-close DB connections after each request.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T05:54:09.272596+00:00","updated_at":"2026-04-16T05:54:09.272596+00:00","summary":"","completion_summary":"Already done: DB connection cleanup middleware at api.py:627-647. API verified healthy.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/548af5d2_7a4_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1c986ccf-13cd-4d39-b3de-e7d7d60b5683","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T05:51:46.253035+00:00","updated_at":"2026-04-16T05:51:46.253035+00:00","summary":"","completion_summary":"[UI] Update work log for analyses page cards task [task:1c986ccf-13cd-4d39-b3de-e7d7d60b5683]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/1c986ccf-13c_ui_improve_analyses_page_add_cards_with_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 9}, \"completion_shas\": [\"6fbeaff2201e10ee05b632e770374bc4ff5a36b1\"], \"completion_shas_checked_at\": \"2026-04-16T05:51:46.212127+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e14a3683-4380-4651-9a9b-c06bda733625","title":"[UI] Fix /notebooks 500 error - TypeError in entity parsing","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T05:16:51.791764+00:00","updated_at":"2026-04-16T05:16:51.791764+00:00","summary":"","completion_summary":"Verified /notebooks 500 error already resolved - TypeError in entity parsing was fixed by eb392514b (commit a7934e54). Branch fast-forwarded to origin/main. No code changes needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e14a3683_438_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"11ba0ced-cf7d-4eca-b377-b18820985ab0","title":"[UI] Build /showcase page — curated top analyses with rich cards","description":"The /showcase link exists in sidebar nav but returns 404. Build a polished showcase page highlighting top analyses with debate scores, key findings, and visual appeal for demo purposes.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:34:09.267583+00:00","updated_at":"2026-04-16T04:34:09.267583+00:00","summary":"","completion_summary":"Showcase page already built and merged in commit 6d9d9dd45 — [UI] Limit showcase page to top 3 analyses; sort by KG edge count. Work verified on main.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/11ba0ced_cf7_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bb296f89-43d2-4831-9e09-500d17976cb1","title":"[UI] Fix duplicate route definitions in api.py causing dead routes","description":"api.py has duplicate route definitions for /agora, /api/coverage, /api/feedback, /api/webhooks, /hypotheses/{hyp_id}, /status. FastAPI uses the first definition and ignores later ones. Need to remove duplicates or rename the conflicting routes.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:28:32.138421+00:00","updated_at":"2026-04-16T04:28:32.138421+00:00","summary":"","completion_summary":"Investigated duplicate route definitions in api.py — no duplicates found. All 22 apparent duplicates are legitimate REST patterns (GET/POST/DELETE pairs or api_route with different HTTP methods). FastAPI routes are functioning correctly. No code changes required.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/bb296f89_43d_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a7934e54-4aa8-46fc-9dd9-e8bfa64466f4","title":"[UI] Fix 500 errors on entity pages due to NULL field access","description":"Entity pages like /entity/CASP1 crash with TypeError: NoneType not subscriptable. Multiple places in _entity_detail_render access DB fields without None guards: h[title][:60], h[composite_score] > 0.7, html.escape(e[relation]), etc. Fix all None access patterns.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:10:25.723690+00:00","updated_at":"2026-04-16T04:10:25.723690+00:00","summary":"","completion_summary":"[UI] Mark a7934e54-4aa done: entity NULL field fixes [task:a7934e54-4aa]; [UI] Fix 3 None-access bugs in entity detail page [task:a7934e54-4aa]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a7934e54_4aa_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"f5224f3cbfe132399bf5cfd64ca9fdf80a9c2be0\"], \"completion_shas_checked_at\": \"2026-04-16T04:10:25.705003+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6d789cd7-0823-427d-892f-f199633a6a99","title":"[UI] Build /experiments listing page for 188 experiments","description":"Quest 10/16: The /experiments route returns 404. There are 188 experiments in the DB with no listing page. Individual experiment detail pages exist at /experiment/{id}. Need a listing page similar to /analyses with cards, search, filtering by type/disease, and key metrics.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:09:49.892298+00:00","updated_at":"2026-04-16T04:09:49.892298+00:00","summary":"","completion_summary":"Verified /experiments listing page is fully functional with search, type/disease filters, sorting, 63 experiment cards, pagination, and summary stats. Page returns 200, API returns 623 experiments. Task was already completed before this slot claimed it.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6d789cd7_082_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fc7b480-0952-413b-a288-f9de26909835","title":"[UI] Render stored pathway_diagram mermaid on hypothesis pages","description":"110 hypotheses have curated mermaid pathway diagrams stored in the pathway_diagram DB field (graph TD format). These are NOT rendered on hypothesis pages - only auto-generated KG-edge diagrams are shown. Add rendering of the stored pathway_diagram as a 'Curated Mechanism Diagram' section above the auto-generated one, with proper mermaid initialization.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:05:56.473414+00:00","updated_at":"2026-04-16T04:05:56.473414+00:00","summary":"","completion_summary":"[UI] Mark task 7fc7b480 complete - acceptance criteria met [task:7fc7b480-0952-413b-a288-f9de26909835]; [UI] Render stored pathway_diagram as Curated Mechanism Pathway on hypothesis pages [task:7fc7b480-0952-413b-a288-f9de26909835]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7fc7b480_095_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"completion_shas\": [\"4e8818126fde97d282431cc147bb3fbda613318d\"], \"completion_shas_checked_at\": \"2026-04-16T04:05:56.445771+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"46597930-d558-49ef-a448-8eaaf1d05381","title":"[UI] Fix hypothesis page performance - reduce DB queries and optimize rendering","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T04:02:09.044391+00:00","updated_at":"2026-04-16T04:02:09.044391+00:00","summary":"","completion_summary":"[UI] Update slot tracking [task:46597930-d558-49ef-a448-8eaaf1d05381]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/46597930_d55_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"18973443037245856eb63de66583228b220f8ec8\"], \"completion_shas_checked_at\": \"2026-04-16T04:02:09.026016+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0f2c20d4-e85d-45d4-8a26-31d366cb1a48","title":"[UI] Fix slow hypothesis page rendering (3-7s, target <2s)","description":"Hypothesis detail pages take 3-7 seconds to render, exceeding the 2s quality bar. Profile and optimize the /hypothesis/{id} endpoint to achieve sub-2s load times.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T03:50:34.520896+00:00","updated_at":"2026-04-16T03:50:34.520896+00:00","summary":"","completion_summary":"Already done - changes on main","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0f2c20d4_e85_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"727c5c9f-5bdd-4cb1-8d85-e45abd9fc7e7","title":"[UI] Fix slow hypothesis detail page load (>3s, target <2s)","description":"Hypothesis detail pages take 3.3s to load (e.g. /hypothesis/h-de0d4364). Quality bar requires <2s. Profile the route handler to find bottlenecks and optimize. This is critical for demo showcase - hypothesis pages are the hero pages visitors click first.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T03:13:52.901839+00:00","updated_at":"2026-04-16T03:13:52.901839+00:00","summary":"","completion_summary":"[UI] Fix slow hypothesis detail page load - add experiment_detail caching, fix TTL to 60s [task:727c5c9f-5bdd-4cb1-8d85-e45abd9fc7e7]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/727c5c9f_5bd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"ffdac4c9cb2fb6fd6ba0fb205daf3205b1fbd9a0\", \"87b8d95057a19893033a32ef5f186156fae4363c\"], \"completion_shas_checked_at\": \"2026-04-16T03:13:52.886945+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a831d3bc-17a1-4efb-9102-9014ff952dbc","title":"[UI] Fix /exchange page timeout — optimize slow queries and rendering","description":"The /exchange page times out. The sync handler builds enormous HTML server-side with multiple DB queries including correlated subqueries in market movers. Optimize the queries and rendering.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T03:13:32.083424+00:00","updated_at":"2026-04-16T03:13:32.083424+00:00","summary":"","completion_summary":"Task already completed and merged. The three slow queries were optimized: (1) sparkline pre-fetch limited to top 50 displayed hypotheses, (2) 24h price change query replaced with single CTE using ROW_NUMBER() window functions, (3) market movers query similarly optimized with CTE. All changes verified in origin/main and /exchange page returns 200.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a831d3bc_17a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e48c060e-124a-41e0-9e59-946602b03607","title":"[UI] Ensure all 5 layer pages load without errors and have meaningful content","description":"Spot-check: /agora (debates), /exchange (hypotheses), /forge (tools), /atlas (KG), /senate (governance). Fix any 500/502 errors, broken layouts, or empty content areas.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":92,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T02:05:19.540362+00:00","updated_at":"2026-04-16T02:05:19.540362+00:00","summary":"","completion_summary":"All 5 layer pages verified working: /agora (200), /exchange (200), /forge (200), /atlas (200), /senate (200)","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":"one_shot","pr_links":[],"commit_links":[]},{"id":"85358062-08fa-4685-9686-132548858d09","title":"[UI] 'Top-10 of the Week' rotating spotlight on /home + RSS feed","description":"Build a /home spotlight panel showing the 10 highest-Elo cross-domain hypotheses of the past 7 days, refreshed every Monday. Plus an RSS/Atom feed at /feed/top10 for external consumption (Mastodon, etc.). Goal: surface our best ideas to outside readers automatically.","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T03:50:19.588033+00:00","updated_at":"2026-04-28T03:50:19.588033+00:00","summary":"","completion_summary":"The work for this task was already done in a prior run. The commit `ee8894bac` by an earlier agent session implemented the Top-10 of the Week spotlight panel and RSS/Atom feed, and that commit is already merged to `origin/main`. My worktree was based on that same commit — after rebasing against the latest main, there was nothing new to add or change.","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 addressed by ee8894bac: Top-10 of the Week spotlight panel + RSS/Atom feed were implemented in a prior run and are already merged to main.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"54d54ecc-ee02-4847-a1ec-292f8138b08a","title":"[UI] Polish dashboard with live metrics and demo highlights","description":"Quest 10 demo priority: Enhance the main dashboard (/) with better live metrics display, highlight the top 3 demo hypotheses prominently, add quick links to demo-relevant analyses and notebooks. The homepage is the first thing visitors see.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:53:18.504099+00:00","updated_at":"2026-04-16T10:53:18.504099+00:00","summary":"","completion_summary":"Already addressed by 4a3b29a4f: dashboard enhancement with live metrics, demo highlights, and walkthrough links committed and pushed to main. Spec work log corrected commit SHA from 9426ade59 (non-existent) to actual commit 4a3b29a4f.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/54d54ecc_ee0_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60d315c6-3c1f-4b51-9f8e-d1d0f104a5c6","title":"[UI] Global search bar with autocomplete in nav — Quest 8 S8.2","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:44:11.782637+00:00","updated_at":"2026-04-16T10:44:11.782637+00:00","summary":"","completion_summary":"Verified: Global search bar with autocomplete is fully implemented in nav_html() on origin/main. HTML input (lines 2695-2700), debounced 250ms JS autocomplete hitting /api/search?q=...&limit=8 (lines 2731+), color-coded type badges, mobile responsive CSS (line 2454), \"See all results\" link. Task was marked complete but commit was orphaned — work verified present on main via eb8e57b60 and ancestor commits.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60d315c6_3c1_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a11c3add-3d48-4de7-8ee1-5ecfea4176f6","title":"[UI] Enrich dashboard with live stats, top hypotheses, and recent activity feed","description":"Dashboard currently shows minimal info. Add: platform stats (hypotheses, analyses, targets, experiments, wiki pages, KG edges), top 5 hypotheses by score with mini-cards, recent 5 analyses with status, and quick action links. Makes the dashboard a compelling landing page for demos.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:41:32.986088+00:00","updated_at":"2026-04-16T10:41:32.986088+00:00","summary":"","completion_summary":"[Senate] Update work log: task a11c3add enriched dashboard [task:a11c3add-3d48-4de7-8ee1-5ecfea4176f6]; [UI] Enrich dashboard: add targets/experiments stats, mini-card hypotheses, status badges on analyses [task:a11c3add-3d48-4de7-8ee1-5ecfea4176f6]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a11c3add_3d4_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"04a0e5a2-c968-4fbf-b5ab-df44c71a91d0","title":"[UI] Render gene_expression_context on hypothesis pages","description":"69 hypotheses have rich gene expression context data (markdown with Allen Human Brain Atlas data, GTEx FPKM values, cell-type expression patterns) stored in gene_expression_context DB field. This data is NOT rendered anywhere on hypothesis pages. Add a Gene Expression Context section to hypothesis detail pages, rendering the markdown content.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":91,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T10:28:17.821860+00:00","updated_at":"2026-04-16T10:28:17.821860+00:00","summary":"","completion_summary":"Already addressed by 6b69b2fcb: gene_expression_context rendering present in api.py lines 57715-57772, verified on origin/main.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/04a0e5a2_c96_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e2ca9a2e-6f00-448f-93c3-6d5e488fbc95","title":"[UI] Fix None-subscript vulnerabilities in api.py templates","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T14:00:12.503443+00:00","updated_at":"2026-04-25T14:00:12.503443+00:00","summary":"","completion_summary":"Task `e2ca9a2e` is closed. All the None-subscript vulnerability fixes were already live 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":"docs/planning/specs/e2ca9a2e_6f0_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 9, \"safety\": 10}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"q10-u1-DB649BF2","title":"[UI] Polish all pages for demo readiness","description":"Audit all pages (/,/analyses/,/exchange,/wiki,/graph,/senate,/quests,/resources,/forge,/gaps) for: consistent nav, no 500 errors, no broken links, fast loading, consistent card/table styling. Fix any issues found. Ensure hamburger menu works.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:55:53.785773+00:00","updated_at":"2026-04-25T11:55:53.785773+00:00","summary":"","completion_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: commit 522042761 already completed full UI audit. All 10 pages (/,/analyses/,/exchange,/wiki,/graph,/senate,/quests,/resources,/forge,/gaps) return HTTP 200 (root is 302 redirect - normal auth). Hamburger menu CSS present, consistent nav styling verified. No 500 errors, no broken links.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1d56aaa3-9774-4144-aa84-e47eb58e3f63","title":"[UI] Create missing Senate dashboard frontend","description":"The /api/coverage endpoint exists and returns orphan work metrics, but site/senate.html is missing (returns 404). Need to create the Senate dashboard HTML page to display coverage monitoring with auto-refresh. This was marked complete in task 6d500cfd but the deliverable wasn't actually created.","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T11:05:19.515956+00:00","updated_at":"2026-04-25T11:05:19.515956+00:00","summary":"","completion_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/1d56aaa3_977_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: bfda84da6cbf9dc4713d3628c441b9610f978165. Verified /senate returns 200 and renders coverage data from /api/coverage in the dynamic api.py Senate page.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b8fe5306-8e4d-429c-a2af-99184c6b5135","title":"[UI] Fix /showcase page — route defined but not active in running API","description":"The /showcase endpoint is defined in api.py at line 14264 but returns 404 because it was added after the last API restart. Verify the route code is correct and will work once the API is restarted. Also check for other routes that may be defined but not active.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:58:00.979488+00:00","updated_at":"2026-04-18T15:58:00.979488+00:00","summary":"","completion_summary":"Verified /showcase route at line 62003 is correctly defined with @app.get decorator. The 404 was because API was not running, not a code issue. Fixed LIMIT ? → LIMIT %s at line 62289 for consistency. Audited all 46 routes after line 60000 — no incomplete bodies or undefined references found. Pushed commit e6da167ef.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/b8fe5306_8e4_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aa0bc26e-281b-48f1-a599-f0a7e628e077","title":"[UI] Fix entity page 500 — NoneType subscript error on papers with NULL authors/title/journal","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:44:26.841511+00:00","updated_at":"2026-04-18T15:44:26.841511+00:00","summary":"","completion_summary":"[Verify] Entity page papers NULL handling — already resolved [task:aa0bc26e-281b-48f1-a599-f0a7e628e077]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/aa0bc26e_281_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"909c0688-ec05-4d81-9048-2f9d2b900c74","title":"[UI] Add search box to navigation bar for quick search from any page","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:36:37.631996+00:00","updated_at":"2026-04-18T15:36:37.631996+00:00","summary":"","completion_summary":"Nav search bar already on main — verified and resolved [task:909c0688-ec05-4d81-9048-2f9d2b900c74]","completion_notes":"Verified: search box already on main via task 6296e980 (commit f9bc92b81). Added Already Resolved note to spec. Local commit 85c71e52c. Push to GitHub failed (no remote auth). No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/909c0688_ec0_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"85c71e52c\"], \"completion_shas_checked_at\": \"2026-04-18T15:36:37.613351+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"609f3013-8d3b-4a1b-896a-107c53ed1fe3","title":"[UI] Add API auto-reload on code changes via uvicorn --reload","description":"The scidex-api systemd service runs uvicorn without --reload. When api.py is updated via git merges, the running process still serves stale code, causing 500 errors on /atlas and /notebooks. Fix: add --reload to the uvicorn command in the systemd service. This will auto-restart when api.py changes, eliminating stale-code 500s.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:36:13.281203+00:00","updated_at":"2026-04-18T15:36:13.281203+00:00","summary":"","completion_summary":"Already resolved: deploy_api_reload.sh exists on main with --reload --reload-include '*.py'. Verified via git show origin/main:deploy_api_reload.sh. Prior commits e2b92c800 and e37f43760 landed the fix. Only a verification spec update was committed (a8c24786f).","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/609f3013_8d3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: deploy_api_reload.sh exists on main with --reload --reload-include '*.py'. Verified via git show origin/main:deploy_api_reload.sh. Prior commits e2b92c800 and e37f43760 landed the fix. Only a verification spec update was committed (a8c24786f).","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b92e4e2-470a-4830-ab71-5b2fe8a1e291","title":"[UI] Add global search bar with autocomplete to navigation on all pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:35:33.294688+00:00","updated_at":"2026-04-18T15:35:33.294688+00:00","summary":"","completion_summary":"Search bar already on main — verified and marked resolved [task:7b92e4e2-470a-4830-ab71-5b2fe8a1e291]","completion_notes":"Task verified complete. Search bar with autocomplete exists in api_shared/nav.py (navSearchInput line 376, navSearchResults line 381, autocomplete JS lines 383-568). Original commits 756240a4b and d5518b428 are orphan commits on the remote branch — their content was preserved when api_shared/nav.py was extracted from api.py (fe03c1694). Commit 07cd1262c adds the Already Resolved note to the spec.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7b92e4e2_470_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"07cd1262c35d6e0e8c08e2c66f65a66b1e82c3f9\"], \"completion_shas_checked_at\": \"2026-04-18T15:35:33.276020+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c8c5076c-b3a4-4ac5-bc28-6a52ed4d87fc","title":"[UI] Add /demo/walkthrough redirect and fix /notebooks 500 error in production","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:34:33.035967+00:00","updated_at":"2026-04-18T15:34:33.035967+00:00","summary":"","completion_summary":"[Verify] c8c5076c walkthrough redirect and notebooks fix — already resolved","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c8c5076c_b3a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0c12f008-ddbc-4745-af7f-7deca66b8d50","title":"[UI] Render mermaid diagrams in hypothesis descriptions instead of showing raw code","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:34:25.275748+00:00","updated_at":"2026-04-18T15:34:25.275748+00:00","summary":"","completion_summary":"[UI] Fix mermaid rendering in hypothesis descriptions: use div not pre, don't escape source [task:0c12f008-ddbc-4745-af7f-7deca66b8d50]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0c12f008_ddb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5, \"analysis\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"ab26dbdf6\"], \"completion_shas_checked_at\": \"2026-04-18T15:33:58.530628+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cc807612-4836-4b40-8a84-ed84f22bf32e","title":"[UI] Remove duplicate route definitions in api.py","description":"api.py has 5 duplicate route definitions: /agora, /api/coverage, /debates, /hypotheses/{hyp_id}, /status. FastAPI uses first definition, making subsequent ones unreachable dead code. Removed 431 lines. Branch: worktree-fix-debates-dupe\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:30:51.830683+00:00","updated_at":"2026-04-18T15:30:51.830683+00:00","summary":"","completion_summary":"Remove 5 duplicate route definitions in api.py — already resolved by cea4f100d (425 lines dead code removed)","completion_notes":"Task already resolved on main. Commit cea4f100d removed 425 lines of duplicate route definitions. Verification confirms all 5 paths (/agora, /api/coverage, /debates, /hypotheses/{hyp_id}, /status) have exactly 1 definition on origin/main. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cc807612_483_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"cea4f100def6fe432faa7710640de2c4fc0c184a\"], \"completion_shas_checked_at\": \"2026-04-18T15:30:51.807175+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified via Python regex analysis of origin/main api.py at 49d66e413: all 5 paths have exactly 1 route definition. Commit cea4f100d is on direct-origin/main but not yet on origin/main (direct-origin/main has the fix but is ahead of origin/main by ~45 commits).","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ac43d84f-7c45-4df9-947c-3fb50f8fffd4","title":"[UI] Optimize entity page queries — most entities taking 0.8-1.6s","description":"Entity pages for APOE (1.6s), APP (1.5s), MAPT (1.3s), BDNF (1.2s), LRP1/NLRP3 (1.1s) are too slow. Profile and optimize SQL queries on the entity detail page. Target: <500ms for all entities. Previous optimization on TREM2 worked (cached at 3ms) but the optimizations need to apply to all entities.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:30:49.601559+00:00","updated_at":"2026-04-18T15:30:49.601559+00:00","summary":"","completion_summary":"Already resolved: indexes (idx_hypotheses_target_gene, idx_hypotheses_target_pathway, idx_hypotheses_gene_pathway) confirmed present in DB via commit 3db46c8ab. Query times 0-4ms for all target entities, well under 500ms target.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ac43d84f_7c4_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: indexes (idx_hypotheses_target_gene, idx_hypotheses_target_pathway, idx_hypotheses_gene_pathway) confirmed present in DB via commit 3db46c8ab. Query times 0-4ms for all target entities, well under 500ms target.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fcf2de19-e005-45d8-ab57-b2459f930d2d","title":"[UI] Add hypothesis comparison modal to Exchange page","description":"Quest 2/16: Exchange page already has compare checkboxes (compare-cb class) but no comparison modal/panel. Add a comparison view that shows 2-3 selected hypotheses side-by-side with scores, evidence counts, and pathway diagrams.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:28:48.714053+00:00","updated_at":"2026-04-18T15:28:48.714053+00:00","summary":"","completion_summary":"[Verify] Hypothesis comparison modal — already on main [task:fcf2de19-e005-45d8-ab57-b2459f930d2d]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fcf2de19_e00_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"32db7caa-c28e-46cf-baf9-59e4eae03b86","title":"[UI] Fix TypeError in entity page edge rendering","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:22:56.140532+00:00","updated_at":"2026-04-18T15:22:56.140532+00:00","summary":"","completion_summary":"Already resolved: fix present on main in api.py subgraph_widget_html() (line 2042+). All four str() conversion points confirmed. Prior fix commit e0e3b2292 was orphaned but identical fix was independently present from root commit 700e194d0.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/32db7caa_c28_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: fix present on main in api.py subgraph_widget_html() (line 2042+). All four str() conversion points confirmed. Prior fix commit e0e3b2292 was orphaned but identical fix was independently present from root commit 700e194d0.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a41440f1-74d0-46ae-93ed-93eb1e4fcb61","title":"[UI] Build /targets listing page for 150 drug targets","description":"Quest 2/10: 150 targets exist with druggability data but /targets returns 404. Need a listing page with cards showing gene symbol, druggability bucket, target class, score, and hypothesis count.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:19:25.642134+00:00","updated_at":"2026-04-18T15:19:25.642134+00:00","summary":"","completion_summary":"/targets listing page already fully implemented on main (api.py:36002). Verified: gene symbol, druggability bucket, target class, composite score, hypothesis count all rendered in card-based listing. JSON API at /api/targets also exists.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a41440f1_74d_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"763524e5-035c-4acd-8677-3937ec917ab4","title":"[UI] Add Open Graph meta tags for social sharing previews","description":"No Open Graph (og:title, og:description, og:image) or Twitter Card meta tags exist on any page. When SciDEX URLs are shared on social media/Slack/etc, no preview appears. Add OG meta tags to hypothesis pages, analysis pages, wiki pages, and the homepage for rich link previews.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:15:48.333079+00:00","updated_at":"2026-04-18T15:15:48.333079+00:00","summary":"","completion_summary":"Already on main (ec1f30a53): og_meta_tags() in api_shared/helpers.py, 6 OG tag usages across hypothesis/wiki/analysis/dashboard/exchange pages","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/763524e5_035_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already on main (ec1f30a53): og_meta_tags() in api_shared/helpers.py, 6 OG tag usages across hypothesis/wiki/analysis/dashboard/exchange pages","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a31c1245-2c2d-4da0-a47e-b147a2c0c078","title":"[UI] Optimize hypothesis detail page — reduce 17 DB queries and add connection pooling","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:13:21.964758+00:00","updated_at":"2026-04-18T15:13:21.964758+00:00","summary":"","completion_summary":"Already resolved: code on this branch already implements the DB query reductions (parent_title JOIN at 33952, hypothesis_papers LEFT JOIN at 35072, template uses parent_title at 36231) and connection pooling (psycopg_pool in api_shared/db.py). Commit 23a579b68 did the work but orphan branch never merged; changes are on this worktree branch.","completion_notes":"Verification: Optimizations already present in api.py on origin/main at lines 33952 (parent_title JOIN), 35072 (hypothesis_papers LEFT JOIN), 36231 (parent_title in template). Connection pooling via psycopg_pool.ConnectionPool in api_shared/db.py:144-158. Work done in 23a579b68 but was on orphan branch — survives on this branch. Acceptance criteria satisfied.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a31c1245_2c2_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"d554fe40f\"], \"completion_shas_checked_at\": \"2026-04-18T15:13:21.935156+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: code on this branch already implements the DB query reductions (parent_title JOIN at 33952, hypothesis_papers LEFT JOIN at 35072, template uses parent_title at 36231) and connection pooling (psycopg_pool in api_shared/db.py). Commit 23a579b68 did the work but orphan branch never merged; changes are on this worktree branch.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f949d28f-175e-4e2e-8e00-96ad096f8453","title":"[UI] Add universal search bar with autocomplete to navigation","description":"Add a compact search input to the top nav bar that queries /api/search?q=...&limit=5 on keyup (debounced 300ms), showing a dropdown with type-grouped results (hypotheses, wiki, entities). Clicking a result navigates to it. This is Quest 8 S8.2 - critical for demo experience.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:12:45.427949+00:00","updated_at":"2026-04-18T15:12:45.427949+00:00","summary":"","completion_summary":"Universal search bar verified on main via api_shared/nav.py:376-456 — debounced autocomplete, type-grouped results, color-coded icons, keyboard nav","completion_notes":"Verified search bar implementation exists in origin/main at api_shared/nav.py. Implementation includes: navSearchInput at line 377, debounced autocomplete (200ms), type-grouped results with color coding, keyboard navigation (Escape/Arrow/Enter), Ctrl+K shortcut, \"View all N results\" link.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f949d28f_175_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9e24306d-1adc-48c2-8a1e-e1501aec575f","title":"[UI] Add --workers 2 to uvicorn for parallel request handling","description":"Single uvicorn worker causes all requests to serialize. Under load from health checkers and crawlers, pages stall 5-10s waiting in queue. Adding --workers 2 to /etc/systemd/system/scidex-api.service would allow parallel request processing. Requires human operator to restart API.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:10:25.794972+00:00","updated_at":"2026-04-18T15:10:25.794972+00:00","summary":"","completion_summary":"Already resolved: 409f61562 on origin/main. scidex-api.service contains --workers 2 in ExecStart.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9e24306d_1ad_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c15f105f-4e1b-4708-aa00-3ff847c35a2e","title":"[UI] Fix /api/graph/{analysis_id} endpoint returning 404s","description":"Link checker found 17 broken links to /api/graph/{analysis_id}. Two analyses (SDA-2026-04-02-gap-tau-prop-20260402003221 and SDA-2026-04-01-gap-lipid-rafts-2026-04-01) exist in DB with completed status but endpoint returns 404. Need to fix endpoint to properly handle case-insensitive analysis ID lookup and return graph data.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T15:09:31.836196+00:00","updated_at":"2026-04-18T15:09:31.836196+00:00","summary":"","completion_summary":"[Atlas] Fix /api/graph/{analysis_id} 500 error: PostgreSQL dict_row lacks integer indexing","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c15f105f_4e1_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6ae96e37-21a8-4ed5-bf2f-33ea2493fcaa","title":"[UI] Add /dashboard page with platform overview stats and quick links","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T14:56:46.370551+00:00","updated_at":"2026-04-18T14:56:46.370551+00:00","summary":"","completion_summary":"[Verify] Dashboard page already resolved on main [task:6ae96e37-21a8-4ed5-bf2f-33ea2493fcaa]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6ae96e37_21a_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: commit 1724c31f1 on main. All 8 acceptance criteria verified — /dashboard route at api.py:25189 with core stats, 7-day growth, five-layer cards, service health, top hypotheses, recent analyses, 12 quick links, and sidebar navigation.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"62b509d8-facc-441d-b39d-d8a7b4e469cc","title":"[UI] Fix /notebooks 500 error — StaticFiles mount conflicts with page route","description":"The app.mount('/notebooks', StaticFiles(...)) on line 17640 overrides the @app.get('/notebooks') HTML page route on line 14657, causing a 500. Fix by changing the static files mount path to /notebooks-files or similar to avoid the conflict.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T14:06:13.890036+00:00","updated_at":"2026-04-16T14:06:13.890036+00:00","summary":"","completion_summary":"[UI] Fix /notebooks 500 error — rename StaticFiles mount to /notebooks-files in api.py [task:62b509d8-facc-441d-b39d-d8a7b4e469cc]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/62b509d8_fac_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5e083da5-03ea-4567-b98f-9bdf4123ad22","title":"[UI] Fix link checker to handle transient 502 errors","description":"Problem: Link checker creates P90-P100 tasks for 502 errors during API restarts, creating task spam (18K+ false positives in last run).\n\nRoot cause: check_link() doesn't retry transient failures or check API health before crawling.\n\nFix needed:\n1. Add retry logic with exponential backoff for 502/503 errors\n2. Check /api/status before starting full crawl\n3. Filter 502 errors from high-priority task creation\n4. Add --verify flag to re-check broken links before creating tasks\n\nAcceptance:\n- 502 errors retried 3x with backoff before reporting\n- Link checker skips or defers crawl if API unhealthy\n- No P90+ tasks created for transient infrastructure issues\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":90,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-16T13:10:54.724224+00:00","updated_at":"2026-04-16T13:10:54.724224+00:00","summary":"","completion_summary":"[UI] Update spec work log final push [task:5e083da5-03ea-4567-b98f-9bdf4123ad22]; [UI] Fix link checker: exponential backoff retry + 3 attempts for 502/503; update service path [task:5e083da5-03ea-4567-b98f-9bdf4123ad22]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5e083da5_03e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"860e536b-4b93-46ee-9630-a2110cb8b5f5","title":"[UI] Add /targets to navigation menu","description":"Add /targets link to main nav and sidebar, similar to /experiments\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T22:31:42.740962+00:00","updated_at":"2026-04-20T22:31:42.740962+00:00","summary":"","completion_summary":"[UI] Add /targets to main nav and sidebar [task:860e536b-4b93-46ee-9630-a2110cb8b5f5]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/860e536b_4b9_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2077201c-c23e-458e-bce9-1bdbdb94f658","title":"[UI] Add /experiments to navigation menu","description":"The experiments page exists but is not linked from navigation. Add it to the top bar nav (Main group) and sidebar nav (Explore group).\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":89,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T22:29:39.526876+00:00","updated_at":"2026-04-20T22:29:39.526876+00:00","summary":"","completion_summary":"[Spec] Update work log for experiments nav task [task:2077201c-c23e-458e-bce9-1bdbdb94f658]; [UI] Add /experiments to top bar nav (Main) and sidebar nav (Main) [task:2077201c-c23e-458e-bce9-1bdbdb94f658]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2077201c_c23_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3892eff3-3372-4c6a-ba40-4fdb231d5e52","title":"[UI] Learning-path wizard: 3 hyps + 2 debates + 1 paper + quiz","description":"Guided 6-step learning path per field with progress tracking, completion badges, and tier elevation in verifier reputation.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:15:09.731053+00:00","updated_at":"2026-04-27T22:15:09.731053+00:00","summary":"","completion_summary":"[Atlas] Learning path wizard: 3 hyps + 2 debates + 1 paper + quiz [task:3892eff3-3372-4c6a-ba40-4fdb231d5e52]","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-edu-learning-path-wizard_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":"983e492a-0d2c-4e96-a884-27ae145f5c88","title":"[UI] 'First five minutes on SciDEX' guided interactive tour","description":"5-step Shepherd-style tour walking visitors through hero, walkthrough, exchange, contributors; Playwright tests.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T14:18:46.629346+00:00","updated_at":"2026-04-27T14:18:46.629346+00:00","summary":"","completion_summary":"[UI] First five minutes guided tour — tour.js, tour.html, telemetry API, Playwright tests","completion_notes":"All spec acceptance criteria met: /tour landing page with 5 layer cards, 5-step Shepherd-style tour at /demo?tour=1, scidex_tour_seen cookie for first-visit detection, scidex_tour_step localStorage for resume, tour_progress_events telemetry table + POST /api/tour/event + GET /api/tour/recommend, ?notour=1 A/B safety param, mobile-friendly at 375px, 12 Playwright test cases. Fixed pre-existing SyntaxError in exchange_diversity_sampler_page (Python 3.13 f-string parsing). Committed as f41b62410.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/q-onb-first-five-minutes_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":"49611990-b63e-4776-b633-6b23108fa92b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:58:53.000739+00:00","updated_at":"2026-04-26T06:58:53.000739+00:00","summary":"","completion_summary":"Task closed as already resolved. Commit `0b3d6987b` implemented the enrichments to `/analyses` cards with all requested metrics (hypothesis count, debate status/sessions/rounds, top score with visual bar, KG edge count, creation date). The SQL query in `analyses_index()` (api.py:29893-29916) confirms all fields are present in current 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":"Already addressed by 0b3d6987b: /analyses cards enriched with debate count, top score bar, KG edge count, hypothesis count, debate quality, and creation date. Implementation verified in analyses_index() SQL query at api.py:29893-29916.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"445f3420-931e-4339-a981-a90d49185b0e","title":"[UI] Fix /experiments 500 error and /hypotheses 404","description":"The /experiments page returns HTTP 500 and /hypotheses returns 404. These are core navigation pages that must work for demo quality.","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:24:48.185620+00:00","updated_at":"2026-04-26T06:24:48.185620+00:00","summary":"","completion_summary":"Already resolved: both /experiments and /hypotheses return HTTP 200 with valid HTML. Fix landed in 43ed964ef (html variable shadowing + /hypotheses route) and 3c471f192 (empty results edge case). Server has been restarted since; verified both endpoints live.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/445f3420_931_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: both /experiments and /hypotheses return HTTP 200 with valid HTML. Fix landed in 43ed964ef (html variable shadowing + /hypotheses route) and 3c471f192 (empty results edge case). Server has been restarted since; verified both endpoints live.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2eac3b19-2374-4903-8eea-3b8350aff5b4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.407835+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with hypothesis count, debate status/verdict badges, top score bars, KG edge count, creation date, pipeline stages, entity tags, persona badges, score dimensions, featured analyses, and debate quality metrics","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"73461b32-43d1-46fd-998b-01b6fb3ec6ad","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.394347+00:00","summary":"","completion_summary":"Already done - analyses page has 7 metrics per card.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"49fa743f-22c5-4c21-8c5d-1d2f72625776","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.380772+00:00","summary":"","completion_summary":"Already done (4th 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":"edce1968-50b4-4786-891a-02018560cd93","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.366937+00:00","summary":"","completion_summary":"Already done (3rd duplicate). /analyses page has 7 metrics per card.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ab0b96d-c3be-4311-977f-3c3e1f3b82f3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.352558+00:00","summary":"","completion_summary":"Already fully implemented (duplicate). /analyses page shows 7 metrics per card: Hypotheses, Evidence, KG Edges, Debates, Top Score, Strong Hyps, Debate Quality. 192KB page with completeness bars and status badges.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"88d32103-2a28-46b4-a174-f4ca177a1e6e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.337736+00:00","summary":"","completion_summary":"Already complete. /analyses/ page renders rich cards with metrics (hypothesis count, debate status, scores, KG edge count), responsive layout with metric rows and counters.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3bdd9bd2-8a3a-4c15-a791-67d0e4ca0f2f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.323346+00:00","summary":"","completion_summary":"Already fully implemented: /analyses page (192KB) shows rich cards with 7 metrics per analysis: Hypotheses count, Evidence count, KG Edges count, Debates count, Top Score (with visual bar), Strong Hyps count, and Debate Quality. Cards also include completeness bar, status badges, persona indicators, and creation dates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1bd9f6f1-4929-43cf-9aea-7cc7404c31c3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.309456+00:00","summary":"","completion_summary":"Already complete: /analyses/ page has rich cards with hypothesis count, debate status/count/rounds, top score with bar, KG edge count, evidence count, creation date/relative time, pipeline stages, entity tags, score dimensions (novelty/feasibility/impact/confidence), persona badges, verdict badges, depth labels, richness bars, and more. Page renders 200 OK.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8381bbb1-68d6-4055-a0c6-2d53b67dc801","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.295202+00:00","summary":"","completion_summary":"Already implemented — /analyses page has rich cards showing: hypothesis count, debate count & quality, KG edge count, top score with bars, pipeline stage indicators (Debate→Hypotheses→Evidence→KG), score dimension mini-bars (Novelty/Feasibility/Impact/Confidence), verdict badges, entity tags, persona badges, depth labels, notebook badges, last activity timestamps, and more. No further enrichment 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":"155e9556-a33b-4698-8762-99899fc9c198","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.281658+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate status (with rounds/quality), top score with bar chart, KG edge count, creation date (with relative time), entity tags, pipeline stages, verdict badges, depth labels, richness indicators, score dimension mini-bars, persona badges, featured analyses section, activity sparklines, domain distribution, filters, sorting, and pagination. 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":"caef4f61-958e-498e-8367-451c1f69a866","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.268526+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":"0e6223b6-dbef-4a32-ae75-c52f09ee21d8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.254929+00:00","summary":"","completion_summary":"Already fully implemented: /analyses/ page has rich cards showing hypothesis count, debate status (sessions/rounds/quality bars), top score with progress bars, KG edge count, evidence count, creation date with relative time, verdict badges, depth badges, pipeline stages, score dimension mini-bars, persona badges, entity tags, richness indicators, and more. Page includes search, domain/status filters, sort options, pagination, featured analyses, and activity sparkline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"956a3217-6ea6-4dff-81f3-57379eb70b83","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.241265+00:00","summary":"","completion_summary":"Analyses page already had rich cards with all requested metrics (hypothesis count, debate status, top score, KG edge count, creation date). Added module-level logger to fix NameError crashes, added keyword search fallback, optimized featured analyses query with CTEs. Branch: worktree-improve-analyses-page pushed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"100baf53-b0dc-4cc8-83bd-d6f9bb19ab3e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.227234+00:00","summary":"","completion_summary":"Task already complete: /analyses page has rich cards with metrics (hypothesis count, top score, KG edges, creation date), debate status (persona badges, verdict badges), pipeline stages, entity tags with type-coloring (gene/protein/disease/pathway), score dimension bars, filter/sort bar, and responsive grid layout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5a5115bb-424a-4df9-91f4-6c1e22858692","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.213721+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with top score, debate status/rounds/quality, score dimension bars, verdict badges, entity tags, persona badges, richness indicators, pipeline stages, featured analyses section, stats grid with sparklines, and sorting 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":"918ed5da-9ae9-4165-88df-362036c5f34a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.199754+00:00","summary":"","completion_summary":"Already implemented. /analyses/ page has rich cards (.card CSS with hover effects), metrics rows, and stat cards showing: 199 hypotheses (5.5 per analysis), 696,502 KG edges, 47 debates (avg quality 55%), plus pipeline stage visualization. All requested metrics present.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f76b8db7-9d67-4e79-b846-b3a04110a9a2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.185544+00:00","summary":"","completion_summary":"Task already fully implemented: /analyses page has rich cards with hypothesis count, debate status (sessions/rounds/quality/verdict), top score with visual bar, KG edge count, creation date with relative time, score dimension mini-bars (novelty/feasibility/impact/confidence), pipeline stages, depth labels, entity tags, persona badges, top hypothesis preview, richness indicators, stats grid, domain distribution, activity sparkline, filtering and sorting.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4e032c4d-cad9-48ee-9e9e-37e46a6a77d2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.170678+00:00","summary":"","completion_summary":"Already complete (duplicate 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":"b64b48af-941f-4ca7-a647-fed1a41c90d9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.155566+00:00","summary":"","completion_summary":"Already completed — duplicate 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":"fa94e618-0966-4ddb-ad0f-4fb7be3ab61c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.140377+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":"ebb9f017-8ead-4157-a748-c7a0fe9ff12c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.126737+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e2a03a9f-ec9b-4cbc-afa9-0510233bcd5e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.112722+00:00","summary":"","completion_summary":"Analyses page already has rich cards with key metrics (hypotheses, evidence, KG edges, debates, quality scores), debate status badges, verdict indicators, pipeline stages, persona badges, score dimensions, entity tags, and more. 30 cards rendering on page 1. No further improvements 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":"edc734ff-b8cf-4bce-8468-5f6cce1c2106","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.098734+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":"4a431b17-d77f-4b7f-b50f-6241e91e2fd7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.083865+00:00","summary":"","completion_summary":"4a431b17-d77f-4b7f-b50f-6241e91e2fd7","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bc000fce-b2ae-41bd-86dc-f5069bd5910b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.069084+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":"e7c99615-7875-422c-b398-9751ef1d7e5e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.054598+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":"0dd1d31c-0046-4f0e-802c-0d1d5fc11784","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.040637+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with top score, debate status/rounds/quality, score dimension bars (novelty/feasibility/impact/confidence), verdict badges, entity tags, persona badges, richness indicators, pipeline stages, featured analyses section, stats grid with sparklines, and sorting options. Page verified loading at 200 with all elements rendering.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1d8658fa-f265-4839-ad79-5dbe21d00c6b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.023772+00:00","summary":"","completion_summary":"Already complete. The /analyses page has rich cards showing: hypothesis count, debate status (sessions+rounds), top score with color bar, KG edge count, evidence count, creation date, richness indicator, depth badge, verdict badge, pipeline stages, top hypothesis preview, entity tags, score dimensions (novelty/feasibility/impact/confidence), persona badges, duration, domain distribution, activity sparklines. All sorting options (date/score/hypotheses/edges/debates) and filters (domain/status/search) 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":"aafa044f-53aa-4e64-a973-0c2a70100d08","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.006618+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":"6a5d312f-2e6c-4a74-8404-745d2ae86fa7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.989669+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":"d19653e6-0d9a-44be-9652-3af9c5bbfbdc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.926006+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":"2aeff8cc-992e-40ba-abfd-b4bbd295e640","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.905674+00:00","summary":"","completion_summary":"2aeff8cc-992e-40ba-abfd-b4bbd295e640","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ae75e74-4395-47ca-ab39-2b3c138843f8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.889795+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate status (sessions/rounds/quality), top score with bar, KG edge count, creation date, plus additional features: depth label, verdict badge, pipeline stages, entity tags, score dimension mini-bars, persona badges, richness bar, featured analyses, search/filter/sort, pagination. Page renders 200 with 49 card elements.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4a394250-c0bd-400e-a18b-7b6a4b031096","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.874524+00:00","summary":"","completion_summary":"Already fully implemented. /analyses/ (193KB) shows rich cards with: title, completeness bar (6/6), status badges, top hypothesis per analysis, entity tags (genes/diseases/pathways), domain tags, debate activity timestamps, verdict badges, trigger types. Sort by: date, score, hypotheses, KG edges, debates. Stats panel shows 35 analyses, 199 hypotheses, 3094 KG edges, 47 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":"5a76da90-e1e6-4363-99c5-08fc9300ec37","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.856635+00:00","summary":"","completion_summary":"The /analyses/ page already has rich cards with: hypothesis count, KG edge count, debate count+rounds, top score bars, score dimensions (novelty/feasibility/impact/confidence), debate verdict badges, pipeline stage indicators, entity tags, richness bars, depth labels, persona badges, duration badges, notebook badges, featured analyses section, domain distribution chart, and activity sparklines. 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":"6a0c23e0-36ed-419d-a217-beb4f764139c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.839470+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":"3fa93e99-bc59-4424-906d-9fe08a8c388d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.825216+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with hypothesis count, debate status/quality, top score bars, KG edge count, evidence count, creation date with relative time, entity tags, persona badges, pipeline stages, score dimensions, verdict badges, richness indicators, stats grid with sparklines, domain distribution, filtering, sorting, and responsive grid layout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d86bb22d-44d1-4a6c-b343-f5bda001ab93","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.808286+00:00","summary":"","completion_summary":"Dup: /analyses has rich 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":"76b44de8-8b75-4b78-8afc-bd6de42baa9a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.790066+00:00","summary":"","completion_summary":"Duplicate: /analyses has rich cards with metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a1b87862-f8b7-4a90-bdf9-485f1b24b796","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.773329+00:00","summary":"","completion_summary":"Already complete — analyses page has rich cards with hypothesis count, debate count, KG edge count, quality score, and creation dates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5b997468-f2ec-404b-8347-887d06e117fa","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.757036+00:00","summary":"","completion_summary":"5b997468-f2ec-404b-8347-887d06e117fa","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"67cd1804-97ec-4458-9722-677b2c49efbb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.741534+00:00","summary":"","completion_summary":"Analyses listing page already has rich cards: 29 card elements showing hypothesis count, debate count, KG edge count, quality score. Card grid layout with stat-card elements and creation dates. All requested metrics already displayed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6da6d517-7bc3-400d-8834-2b7b1667121e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.725801+00:00","summary":"","completion_summary":"Analyses page already shows rich cards with: hypothesis count, debate count, score, KG edge count, gap source, and status. All key metrics present.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9dca4293-82e0-4d41-88ad-6b8dc165b03b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.710628+00:00","summary":"","completion_summary":"Already complete: /analyses page shows rich cards with metrics (Hypotheses, Strong Hyps, Top Score, KG Edges, Debates, Debate Quality, Evidence), status badges, pipeline stage visualization, domain/subdomain tags, trigger badges, and filter/sort functionality.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c66969ce-ab0d-4b64-af44-49f425079c52","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.694403+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":"b93243e7-1332-45af-9ab8-c3d0ee8acb9c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.678339+00:00","summary":"","completion_summary":"Verified /analyses page already has rich cards with all requested metrics: hypothesis count, evidence count, KG edge count, debate count/status, top score, strong hypotheses ratio, domain tags, creation dates, and walkthrough links. Cards include Featured Analyses section with star badges. 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":"4e570554-4dad-45c8-bddc-3b110fdacf41","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.662665+00:00","summary":"","completion_summary":"Duplicate of fc1087b2. 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":"58712941-10a0-4cb6-a230-0512e238694f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.647336+00:00","summary":"Duplicate task - consolidated","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":"4ead2ec4-2b11-4c9e-b157-edd573e1877d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.632995+00:00","summary":"","completion_summary":"Verified analyses page already has all requested features: rich cards with hypothesis count, debate status (sessions + rounds + quality + verdict badge), top score with color-coded bar, KG edge count, creation date with relative time, plus many additional features: pipeline stages indicator, entity tags, score dimension mini-bars, persona badges, richness bar, depth badge, featured analyses section, search/filter/sort, pagination, stats grid with 9 summary metrics, and activity sparkline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fc1087b2-b05f-4a0b-b37c-ced647254fc9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.615710+00:00","summary":"","completion_summary":"Verified /analyses page already has rich cards with key metrics (hypothesis count, debate status badges, top scores with score bars, KG edge counts, creation dates), sorting and domain/status filters. 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":"3a34125e-4d6c-4075-a192-ae66588e6f23","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.597366+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":"438e3dbe-7f56-4e2f-aac3-db8c1c0aad29","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.581020+00:00","summary":"","completion_summary":"Duplicate — /analyses page already has rich cards with hypothesis count, debate status, KG edges, scores, sorting. Fully 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":"01dd9faa-1b61-4d7d-a533-51d5e515cb74","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.564804+00:00","summary":"","completion_summary":"Analyses page already rich (192KB): shows hypothesis counts, debate status/quality scores, KG edge counts, and analysis cards with key metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fe458ee9-e5e7-4338-bbae-07277c50cd9b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.551193+00:00","summary":"","completion_summary":"Already implemented. /analyses page has rich cards with: hypothesis count (199 total), debate status (47 debates), KG edge count (675K), avg hypothesis score (48%), sort by date/score/hypotheses/edges/debates, top hypothesis preview per card.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"662a9e20-07d9-4a22-934e-e98e26af8b1c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.537138+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate status/quality, top score with dimension breakdown, KG edge count, evidence count, creation date, persona badges, top hypothesis preview, domain filters, and sorting options. Summary stats row shows totals and averages. 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":"bbbdb1b0-cea0-424f-889f-e165b193df90","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.521683+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":"9b5f8723-381b-4425-b770-5f3089c933a9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.506146+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":"e076abce-9865-4549-a65c-8a856bc61cb8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.492390+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":"11800fe3-94bb-42b8-a3b7-8ae07ff5c43a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.478877+00:00","summary":"","completion_summary":"Duplicate 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":"d0466fc7-66ee-4e04-a448-30a66a00d8e0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.462391+00:00","summary":"","completion_summary":"Already implemented: analyses page shows cards with Hypotheses count, KG Edge count, Debate status, and Top Score metrics per analysis.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"58bb6df4-1c63-4493-88fc-7cc8c98bbd70","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.445888+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":"6635b98d-eef6-4259-bd92-92e2b7806c32","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.430766+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate count + quality, top score, KG edge count, evidence count, strong hyps count, creation dates. Also includes persona badges, pipeline stages, dimension bars, entity tags, score bars, and status badges. 30 cards per page with pagination for 47 total analyses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7f0902a7-815b-4bd2-b512-bfc678738220","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.416380+00:00","summary":"","completion_summary":"Already complete: /analyses page has rich cards showing hypothesis count, evidence count, KG edges, debate count/rounds, scores (top score, debate quality, novelty, feasibility, impact, confidence), persona badges, pipeline stages, richness bars, entity tags, and more. Summary stats at top show totals across all 47 analyses.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ad89bffc-c8c7-437c-b6a7-f3c02c8024e0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.401638+00:00","summary":"","completion_summary":"Duplicate — analyses page already has rich 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":"d7533398-3ba7-4b00-94f4-04d2b5e829fc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.385475+00:00","summary":"","completion_summary":"Duplicate task - analyses page already fully implemented with rich metric cards: hypothesis count, debate status/quality, top composite score, KG edges, dates, entity tags, pipeline stages, richness indicators, verdict badges, and more.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6e615d79-db8f-4357-9128-601ec538596b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.369777+00:00","summary":"","completion_summary":"Analyses page already fully implemented with rich cards: hypothesis count, debate count/rounds, debate quality scores, top composite score with color-coded bar, KG edge count, evidence count, creation date with relative time, domain/subdomain tags, entity tags, pipeline stages (Debate→Hypotheses→Evidence→KG), richness indicator, depth badges, verdict badges, top hypothesis preview, trigger/notebook badges, duration, persona badges, featured analyses section, search/filter/sort, domain distribution, and activity sparklines. 30 cards render per page with pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bc2f2eab-3962-4c96-a22e-01cb8721f256","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.354815+00:00","summary":"","completion_summary":"Duplicate. Analyses page has rich cards with all metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"23a5d4ab-4b00-4898-b516-55a884b01b26","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.340983+00:00","summary":"","completion_summary":"Already implemented — /analyses page shows rich cards with: title+status badge, completeness bar, description, top hypothesis preview, entity tags (gene/disease/pathway), domain/age/richness/verdict badges, score dimension bars (Novelty/Impact/Feasibility/Confidence), hypothesis count, debate count+status, KG edge count, evidence counts. 30 analysis cards displayed with filtering (domain, status, sort) and 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":"b2882483-8628-4031-b431-e0110f33a67d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.325753+00:00","summary":"","completion_summary":"Duplicate. Analyses page already has rich cards with hypothesis count, debate status with rounds, top score bars, KG edge count, creation dates, entity tags, and pipeline stages.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dd5ff4eb-34e0-4ebd-af0e-62372158d765","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.311994+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate status with round count, top score with progress bar, KG edge count, creation date, entity tags, pipeline stages, completeness bars, and verdict badges. 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":"146f62e4-4666-46ac-bc7f-f9dd3ed11b69","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.297887+00:00","summary":"","completion_summary":"Already complete: /analyses/ page is 192KB with rich cards showing scores (154 refs), debate status (35 refs), KG edges (4 refs), hypothesis counts (2 refs). Cards show all requested metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4bcd0db2-8981-41e3-b9b1-cef73345b0c8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.282440+00:00","summary":"","completion_summary":"Duplicate. /analyses page already has rich cards with hypothesis count, debate status, scores, KG edges, and dates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"50fa9de1-86dd-45c4-827e-c1524bd5d41b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.269186+00:00","summary":"","completion_summary":"Already complete: the /analyses page has rich cards showing per-analysis: title, status badge, description, top hypothesis name, entity tags (genes/diseases/pathways), richness bar, pipeline stages (Debate→Hypotheses→Evidence→KG), key metrics (hypothesis count, evidence count, KG edges, debate count/rounds), scores (top score, strong hyps ratio, debate quality, novelty, feasibility, impact, confidence), and debate persona badges. Page also has summary stats: 47 analyses, 199 hypotheses, 3094 evidence items, 668K KG edges, 47 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":"bb1d4853-b6ff-4297-ad55-4547ed4a3d40","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.254986+00:00","summary":"","completion_summary":"Already implemented. The /analyses page (192KB, 200 OK) already shows rich cards with: hypothesis count, debate status, top composite score, KG edge count, creation dates. Has stat-card components, metrics-row with metric-val/metric-label CSS classes, 657 metric references, 92 debate references, 31 edge references. 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":"7b064ffa-0847-456d-8591-45b1e2b04262","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.240997+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with hypothesis count, KG edge count, debate count/quality, top score, avg scores (novelty/feasibility/impact), evidence count, entity tags, persona tags, walkthrough badges. Includes search, domain/status filters, sorting by date/score/hyps/edges/debates, and pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b9a325a1-a9db-41d0-9355-090f95f457d3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.226853+00:00","summary":"","completion_summary":"Analyses page already has rich cards with: hypothesis count, debate status (sessions/rounds), top score bars, KG edge count, creation date, richness indicator, depth labels (Comprehensive/Deep/Moderate/Shallow), verdict badges, entity tags, evidence count, domain colors, relative timestamps, notebook indicators, debate quality, personas, featured analyses, activity sparklines, and domain distribution. No 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":"bbf0b4ec-ed86-4679-b05f-3d33993c13d9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.211617+00:00","summary":"","completion_summary":"Verified analyses page already has rich cards with all requested features: hypothesis count, debate status (pipeline stages + persona badges), top score, KG edge count, creation date, evidence count, debate quality, entity tags, verdict badges, score bars, richness indicators, sparklines, and 10 stat summary cards. Filter by domain/status/sort, pagination, and search also present. 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":"a7c1a096-9ef0-4301-b7e8-50c8b61a07c9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.195435+00:00","summary":"","completion_summary":"Already implemented — /analyses page has rich cards with hypothesis count, debate status/verdict badges, top score with bar, KG edge count, creation date with relative time, plus entity tags, persona badges, pipeline stages, score dimension mini-bars, richness indicator, top hypothesis preview, and more. Page serves 200 OK with 30 paginated 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":"7ac94f2c-30f1-46e5-b644-1e21ef37e73c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.180195+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page already shows rich cards with hypothesis count, debate status (sessions/rounds), top score with visual bar, KG edge count, creation date with relative time, plus entity tags, pipeline stages, score dimensions, persona badges, verdict badges, richness bars, and depth labels. 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":"40751743-ab81-4332-a877-3134f0e68d9a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.164445+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":"ca9a57da-3957-4b84-98ee-0bdce1363ae9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.148757+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":"8693eb84-19a9-4ec9-ba49-d3634a0b4d78","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.134973+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":"d560d13d-9f52-4d88-883f-3d5606dfb35e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.121122+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":"1789fac4-ecd6-4514-8024-5b8e34dd30b0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.107214+00:00","summary":"","completion_summary":"Duplicate — analyses page already shows rich cards with all requested metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6fa8a40c-4205-4755-a188-8238ea2d27be","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.091661+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":"21fb2c46-6934-49d1-94ee-fea3f0e7a56b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.077046+00:00","summary":"","completion_summary":"Analyses page already shows rich cards: 133KB content with hypothesis counts, debate status, quality scores (with score bars), KG edge counts, and creation dates. 33 analysis links with full metadata.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"72a54e39-fca9-4e23-a9d7-82ffb6e8d6ca","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.063200+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":"61d5605f-53c3-40f8-aaac-fc69db9eec83","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.049379+00:00","summary":"","completion_summary":"Improved /analyses page: added inline quick-stats strip below card titles, dedicated debate summary section with consensus verdict, compact table view toggle with localStorage persistence, and better card visual hierarchy with section dividers","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"024e821d-2e45-43ea-8a55-b0e2f23c5757","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.036298+00:00","summary":"","completion_summary":"Already implemented. The /analyses page has rich cards with: hypothesis count, debate status/rounds, top score with bar, KG edge count, evidence count, creation date (relative), depth badge, verdict badge, pipeline stages, score dimensions (novelty/feasibility/impact/confidence), entity tags, persona badges, and featured analyses section. 182 metric elements rendered.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"19946ae4-ef91-4a24-b608-15b9117b4306","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.022177+00:00","summary":"","completion_summary":"Improved /analyses page: batched N+1 entity/persona queries into single SQL queries for faster page load, added empty state with clear-filters link when no results match, widened card grid to 460px min for better readability on desktop, added showing X-Y of Z count indicator","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"424439ec-9111-4a25-b259-df26e6375fbd","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:35.007639+00:00","summary":"","completion_summary":"Already complete — analysis cards already show hypothesis count, KG edge count, debate rounds, top score, featured badges. Stats grid at top shows totals for analyses, hypotheses, evidence items, KG edges, 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":"ac78bb2e-2d02-41cc-be01-3ac070b1aaf7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.991650+00:00","summary":"","completion_summary":"Analyses page already has rich cards with key metrics (hypothesis count, KG edges, debate rounds, top score), debate status badges, pipeline stages, depth labels, entity tags, persona badges, score dimension bars, featured section, filters, and activity sparklines. 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":"7939e877-c9a8-41b3-bf6d-4e8c030f768f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.957891+00:00","summary":"","completion_summary":"Already complete — /analyses/ page shows rich cards with hypothesis count, KG edge count, debate rounds, top score, featured badges, color-coded borders. Also includes stats grid (47 analyses, 199 hyps, 3082 debate rounds, 636K edges), sparkline activity chart, filter bar with search/sort/status filters. Cards are responsive and link to analysis 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":"1bd17f40-5943-4163-9699-bdbcc54ceb87","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.943084+00:00","summary":"","completion_summary":"The /analyses page already has extremely rich analysis cards with: hypothesis count, evidence count, KG edges, debate count/rounds, top score bars, debate quality bars, pipeline stages (Debate→Hypotheses→Evidence→KG), score dimensions (Novelty/Feasibility/Impact/Confidence), persona badges, entity tags, richness completeness bars, depth labels, featured analyses section, 9-stat grid, search/filter/sort, and pagination. All requested metrics and debate status are present — 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":"820f3bbf-4260-4ad6-8883-bcd69dbbb320","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.928682+00:00","summary":"","completion_summary":"Already implemented. /analyses/ page (132KB) shows rich cards with: hypothesis count, KG edge count, debate count, top composite score, top hypothesis title, evidence count, avg debate quality, novelty/feasibility/impact/confidence scores, key entities (genes, diseases, pathways), debate personas, creation date, status badges. Supports search, domain/status filters, sort by date/score/hypotheses/edges/debates, and pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"510d9062-08d9-42e1-a396-f2a7738b9d8a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.912550+00:00","summary":"","completion_summary":"Analyses page already has rich cards: featured section with metrics (hypotheses, KG edges, debate rounds, top score), all analyses grid with pipeline stages (Debate→Hypotheses→Evidence→KG), metrics rows (hypotheses/evidence/KG edges), top hypothesis preview, status badges, richness indicators, domain tags, and trigger badges. 32 cards with full metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f7e1cf0b-8329-43a2-a4e1-cec74d2bf0d1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.898820+00:00","summary":"","completion_summary":"Already complete: /analyses/ page shows rich cards with hypothesis counts, KG edge counts, top scores, debate status, and creation dates.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e30079bf-37ee-4970-b2c3-eb2bf1c848e6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.884038+00:00","summary":"","completion_summary":"Fixed /analyses page: status=all filter bug (normalized status early to prevent 'all' being passed as DB filter value), improved responsive card grid (460px min-width, single column on mobile), added empty state message. Branch: worktree-fix-analyses-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":"29d5c699-9314-4473-ab7b-a3b8fd0d7be0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.866762+00:00","summary":"","completion_summary":"Already complete: /analyses page already renders rich cards with all requested metrics — hypothesis count, debate sessions/rounds, top score with bar, KG edge count, creation date with relative time, plus evidence count, pipeline stages, score dimensions, entity tags, persona badges, richness indicator, and featured analyses section.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ebd12a12-a54c-40e9-adfb-13f40f2ccee7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.850553+00:00","summary":"","completion_summary":"Already implemented: /analyses page has 33 analysis cards showing hypothesis count, KG edges, debate rounds, top score percentage, featured badge, creation date, sparklines, and status indicators. Cards link to analysis 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":"56f36a46-70ad-4e49-a46b-8282f6f8de55","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.833171+00:00","summary":"","completion_summary":"Verified analyses page already has rich cards with all requested metrics: hypothesis counts, debate status indicators, composite scores, KG edge counts, and creation dates. Page shows 32+ analysis cards with stat-card components. 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":"a34b3052-b9b5-4e25-b6ce-2331feb99d1f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.817537+00:00","summary":"","completion_summary":"Verified: the /analyses page already has all requested features — hypothesis count, debate status (pipeline stages + quality scores + round counts), top score bars, KG edge counts, creation dates with relative time. Also has: evidence counts, figure counts, persona indicators, survival rates, token costs, duration badges, richness dots, walkthrough badges. 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":"5e137a20-41ab-4784-80bd-a3532e80f8ec","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.800698+00:00","summary":"","completion_summary":"Analyses page already has rich cards with: hypothesis count, KG edge count, debate sessions+rounds, top score with color bar, avg debate quality, evidence count (distinct PMIDs), richness/completeness bar, depth badges (Comprehensive/Deep/Moderate/Shallow), entity tags from KG, domain accent colors, relative timestamps, notebook indicators, persona tags, featured analyses section, search/filter/sort/pagination. 132KB page. 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":"3f314a58-09aa-41ee-b570-c7a838eb2726","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.784377+00:00","summary":"","completion_summary":"Analyses page already has rich cards with: hypothesis count, debate status (completed/running/failed), top score with bar chart, KG edge count, relative creation date, pipeline stage indicators, top hypothesis preview, evidence count, debate quality, richness dots, domain colors, notebook badges. Far exceeds requirements.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bba9ef66-5f12-41be-a873-f4251b46c9d4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.768854+00:00","summary":"","completion_summary":"Enhanced /analyses page: added domain distribution bar chart in stats grid, success rate stat card with progress bar, new-this-week count, NEW badges for recent analyses (last 3 days), and muted em-dash display for zero-value metrics instead of showing 0. Branch: worktree-improve-analyses-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":"151ae9e3-d3cb-41d5-96ce-758bd2166884","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.754643+00:00","summary":"","completion_summary":"Improved /analyses page: fixed sort select attribute bug, added result count with search query display, empty state for no results, card/table view toggle with localStorage persistence, domain distribution mini-chart in stats grid, and table row hover styles","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2290030b-2c6a-4f4d-9da4-ada2d4ecca68","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.741313+00:00","summary":"","completion_summary":"Already fully implemented: /analyses page shows rich cards with hypothesis count, debate status/rounds, top score bars, KG edge count, evidence count, avg debate quality, completeness bars, depth badges (Comprehensive/Deep/Moderate/Shallow), domain distribution, activity sparklines, featured analyses, search/filters/sort/pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"38f70522-aae5-4f4a-a7f7-43d520bfc3cb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.727746+00:00","summary":"","completion_summary":"Added score dimension mini-bars (novelty, feasibility, impact, confidence) and debate persona badges (Theorist, Skeptic, Domain Expert, Synthesizer) to /analyses page cards. Also added JSON parsing for persona data and color-coded icons.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3097c9f9-3270-43f2-aafc-257659ebcc12","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.711963+00:00","summary":"","completion_summary":"Improved /analyses page: default filter to completed analyses, dim empty analyses with reduced opacity, show filtered count in page title. All requested metrics (hypothesis count, debate status, top score, KG edges, creation date) were already present — verified 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":"e0f03845-6f17-49a2-af20-7928309ea5d6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.696397+00:00","summary":"","completion_summary":"Added avg hypothesis score stat card with progress bar, completion rate indicator, domain distribution bar chart, per-card analysis depth labels (Shallow/Moderate/Deep/Comprehensive), and enhanced featured analysis cards with top hypothesis preview and evidence count","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f45fbff2-ee87-426a-812b-ea019e2ebd2d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.680058+00:00","summary":"","completion_summary":"Enhanced /analyses page cards with: KG entity tags (gene/disease/pathway from hypothesis targets), domain-colored left accent borders, completeness progress bars replacing dots, last debate activity timestamps. Improved visual hierarchy.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d9b6d2b4-d4cb-4ce0-bf3a-701c651d60cb","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.666855+00:00","summary":"","completion_summary":"Improved /analyses page featured section: now uses WALKTHROUGH_IDS (top 3 richest analyses) for consistency with /showcase. Featured cards link to /walkthrough/ deep-dive view. Added Papers count and Debate Quality metrics to featured cards. Refactored inline HTML into readable loop.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0a69c465-2592-440d-8d00-18252990b9dc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.652088+00:00","summary":"","completion_summary":"Improved /analyses page cards with: domain color-coded left border accents, debate consensus ratio metric (surviving/generated hypotheses), cost badges showing API spend, failure reason display for failed analyses, animated pulse border for running analyses, grid/list view toggle, and 'showing X of Y' result count.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c7116e66-f7c2-4ded-97eb-9ae960967c7f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.637528+00:00","summary":"","completion_summary":"Task already complete. The /analyses page already renders rich cards with: hypothesis count, debate status with rounds, top score bar, KG edge count, evidence count, creation date with relative time, pipeline stage indicators, richness dots, domain/status filters, sort options, featured analyses section, and paginated grid layout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6d5f337e-c485-4370-812c-b0841f1e874b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.622330+00:00","summary":"","completion_summary":"Already complete: /analyses page already has rich cards with hypothesis count, debate status/rounds/quality, top score with color bars, KG edge count, creation date with relative time, evidence count, pipeline stages, richness dots, featured analyses section, search/filter/sort, stats grid, and activity sparkline.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b5b2418b-8043-4cda-872c-ae804c61c147","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.608677+00:00","summary":"","completion_summary":"Analyses page already has rich cards showing hypothesis count (64), debate status (32), top scores (33), KG edge count (34), and creation dates. 989-line page with 33 card elements, filtering, and 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":"882dc4db-36fc-427f-a63c-f73493849cf2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.593466+00:00","summary":"","completion_summary":"Duplicate of task 61fe1fc9 already completed. Analyses page has rich cards with status badges, question preview, top hypothesis, pipeline stages, metrics (hypotheses, evidence, KG edges, figures, debates, scores, debate quality), richness dots, featured section, sparkline, and sort/filter/pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"61fe1fc9-2421-4983-bc67-df4885e579e2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.579375+00:00","summary":"","completion_summary":"Already implemented. Analyses page has rich cards with: status badges, question preview, top hypothesis preview, pipeline stages (Debate→Hypotheses→Evidence→KG→Figures), metrics row (hypotheses, evidence, KG edges, figures, debates, top score, debate quality), richness dots, featured section, sparkline activity, search/filter/sort/pagination. 33 cards rendered with full metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bbd8c3a1-1453-47e6-892c-5c9a5cc80323","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.565556+00:00","summary":"","completion_summary":"Analyses page already has rich cards showing: hypothesis count, KG edge count, debate count, top score, evidence count, quality score, featured analysis section, sorting by date/score/hypotheses/edges/debates, filtering by domain/status/search, and activity sparklines. 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":"e11884ed-7c00-40b7-89bf-71bf6e132785","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.551409+00:00","summary":"","completion_summary":"Analyses page already shows rich cards with all requested metrics: hypothesis count, debate status (rounds, quality), top score, KG edge count, evidence count, creation dates, status badges, pipeline stage indicators, and filter bar. 192 metric labels across 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":"0977311e-23ee-46bc-b752-0993ebe242b6","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.537184+00:00","summary":"","completion_summary":"Already implemented — duplicate of task 45044331 completed earlier. /analyses/ page already has rich cards with hypothesis counts, debate status (sessions/rounds/quality), top scores with bar charts, KG edge counts, creation dates, pipeline stage indicators, richness dots, featured analyses section, and comprehensive filters.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"45044331-5e2a-4b0e-8674-97e056cfbe69","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.523098+00:00","summary":"","completion_summary":"Already implemented — /analyses/ page already has rich cards with: hypothesis counts, debate status (session/round counts + quality), top scores with bar chart, KG edge counts, pipeline stage indicators, evidence counts, richness dots, domain/subdomain tags, time ago, trigger badges, notebook badges, duration badges, top hypothesis preview, featured analyses section with showcase link, search/filter/sort bar, stats grid with sparkline, and status distribution bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1465466f-1f23-411d-8c2e-61a98cfd0389","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.508588+00:00","summary":"","completion_summary":"/analyses already has rich cards with all metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8631815e-d20e-4d48-b15a-887ac9064de8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.492782+00:00","summary":"","completion_summary":"Already verified: /analyses has 33 rich cards with all requested metrics.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"068dfa41-285e-4f59-bffb-2fca259f70af","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.478687+00:00","summary":"","completion_summary":"Added figure count metric to /analyses page cards: per-analysis figure count from artifacts table, Figures pipeline stage indicator, figures stat in top stats grid, and updated richness indicator to include figures (7 dots). The page already had hypothesis count, debate status, top score, KG edges, and dates — figures was the missing piece.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8d387520-10d3-4b1d-94a4-152f0d129cf8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.465270+00:00","summary":"","completion_summary":"Already verified: /analyses has 33 rich cards with hypothesis count, KG edges, debate rounds, top score, status badges, search/sort/filter. 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":"1268fffe-9e30-4809-82b1-32fc72997702","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.451032+00:00","summary":"","completion_summary":"Verified /analyses page already has rich cards with key metrics: hypothesis count, KG edges, debate rounds, top score %, creation dates, status badges (complete/running/failed), featured tags, search, sort, and filter. 33 analysis cards rendered. 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":"b7b56bd5-1f21-45ea-a54a-7aa91cd0f7e2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.437041+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":"c951b64b-d6fc-4745-815c-1944f494fbdf","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.422541+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":"1c731944-e800-4779-85a8-7a66107330a5","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.409092+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":"06a75b9e-dfc9-4c55-9e61-70cab3846022","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.395543+00:00","summary":"","completion_summary":"Duplicate of completed task a5698006. Already implemented — /analyses/ page has rich cards with hypothesis count, debate status/count, top score with score bars, KG edge count, creation date, pipeline stages, status badges. Includes search, filters, and sorting.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a5698006-145e-4d7c-bd78-89e1b9e29c5c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.380836+00:00","summary":"","completion_summary":"Already implemented — /analyses/ page has rich cards showing hypothesis count, debate status/count, top score with score bars, KG edge count, creation date, pipeline stages, status badges. Includes search, domain/status filters, and sort by date/score/hypotheses/edges/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":"72ebeeee-69b7-4310-bd8e-8aa9711044cd","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.366575+00:00","summary":"","completion_summary":"Already completed - /analyses page has rich cards with: hypothesis count, debate status (sessions + rounds), top score (with color bar), KG edge count, evidence count, creation date (with relative time), pipeline stages indicator, richness dots, domain badges, featured analyses section, activity sparkline, search/filter/sort controls, and debate quality 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":"93db3bb8-4936-4945-8f1c-5d30d8985671","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.351230+00:00","summary":"","completion_summary":"Task already complete. The /analyses/ page already has rich cards showing: hypothesis count, debate status (sessions + rounds), top score (with colored bar), KG edge count, creation date (with relative time), pipeline stage indicators (Debate→Hypotheses→Evidence→KG), evidence count, debate quality, richness dots, trigger badges, notebook badges, featured analyses section, search/filter by domain/status, 5 sort options, pagination, activity sparkline, and comprehensive stats grid.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"080a91b2-898a-4264-8694-437c55acee61","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.337671+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":"0ca3a8ee-160f-43b7-8811-dceb9542dccc","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.323038+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":"ce87e8d1-6b8e-465c-b6c6-84449e662db2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.308579+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":"5785cd38-3357-4b65-b01a-255c1aed32a9","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.294135+00:00","summary":"","completion_summary":"Already complete: /analyses page has rich cards with hypothesis count, debate status (sessions+rounds), top score bar, KG edge count, creation date, pipeline stages, richness dots, evidence count, debate quality, featured analyses section, and search/filter/sort controls.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c43acf40-34f3-4364-a72b-bd4c8fc0cdc7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.280670+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested features: key metrics (hypotheses, evidence, KG edges, debates, scores), debate status (session count, round count, quality score), pipeline stages, featured analyses, stats grid with activity sparkline, filters, and responsive layout. 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":"6354db27-e7e6-42ca-8500-42abe22c7c66","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.267488+00:00","summary":"","completion_summary":"Fixed featured analyses SQL query (HAVING without GROUP BY -> proper subquery join), added status distribution bar, per-analysis averages, running count, and 14-day activity sparkline to stats grid","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a310867e-9d4c-487a-8c67-c62ebe13426e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.253702+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, debate status (sessions/rounds/quality), top composite score with visual bar, KG edge count, evidence count, creation date with relative time, pipeline stage indicators (Debate → Hypotheses → Evidence → KG), richness dots, notebook badge, trigger type, top hypothesis preview, and featured analyses section. Stats grid shows totals. Filters: search, domain, status, sort (date/score/hypotheses/edges/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":"482507b0-db42-4fd3-b5f2-7338fb763cb1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.238850+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page has rich cards with all requested metrics per analysis - hypothesis count, evidence count, KG edge count, debate count, top score, and debate quality. Also includes stats grid, filter bar, pipeline stage badges, and responsive grid layout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"10fd47ae-0dfe-481c-8d30-9b7d63f2a0f0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.224231+00:00","summary":"","completion_summary":"Task already fully implemented. The /analyses page (api.py line 4903-5170) renders rich cards for each analysis with: title, question preview, status badge, domain/subdomain tags, relative time, duration, trigger source, notebook badge, richness dots (6-point scale), pipeline stages (Debate→Hypotheses→Evidence→KG), top hypothesis preview, and full metrics row (hypothesis count, evidence count, KG edge count, debate sessions/rounds, top score bar, debate quality bar). Also includes search, domain/status filters, sort options (date/score/hypotheses/edges/debates), featured analyses section, summary stats grid, and pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7c1271c9-cff3-439d-8e2a-e4d68cea612f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.209963+00:00","summary":"","completion_summary":"Already implemented. The /analyses page already has rich cards showing: hypothesis count, evidence count, KG edge count, debate status with rounds, top score percentage bar, debate quality, creation date, status badges, top hypothesis, richness dots, and trigger badges.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97c12ddf-cd35-4bce-89ea-3065f5cf4c4a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.194800+00:00","summary":"","completion_summary":"Task already implemented. The /analyses page already shows rich cards with: hypothesis count, evidence count, KG edges, debate count with rounds, top score with score bar, and debate quality. Also has stats grid summary, filter bar with search/domain/status, and status badges. No further 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":"ad2fc0d8-75c6-403e-aea1-c926e4ba76a3","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.179655+00:00","summary":"","completion_summary":"Added visual pipeline status indicator to analyses cards showing 4 stages (Debate → Hypotheses → Evidence → KG) that light up with colored styling when completed. The page already had rich cards with metrics, question preview, top hypothesis, status badges, richness dots, and featured section. Pipeline indicator adds at-a-glance understanding of analysis completeness.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a85e8d8b-f9eb-4f3d-861c-cd40cd924e2a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.166541+00:00","summary":"","completion_summary":"Already implemented. /analyses page already shows rich cards with 6 key metrics per analysis: Hypotheses count, KG Edges, Top Score (with score bar), Debates (session count + rounds), Evidence count, and Debate Quality score. Also has status badges, trigger badges, top hypothesis previews, richness indicators, and question previews. 30 cards visible per page with pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5109e809-3261-46c3-af85-65ed3f5eaa16","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.152496+00:00","summary":"","completion_summary":"Already implemented. /analyses/ page has rich cards with: hypothesis count, evidence count, KG edges, debate sessions/rounds/quality, top score bars, status badges, relative dates, richness indicators, top hypothesis preview, featured section, domain/subdomain tags, trigger/notebook/duration badges, search/filter/sort/pagination. All 30 cards render 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":"363683b3-91bb-4894-b990-1365d2477f79","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.138923+00:00","summary":"","completion_summary":"Analyses page already has rich cards with all requested metrics: hypothesis count, evidence count, KG edges, debate count/rounds, top score with color-coded bars, debate quality, status badges, top hypothesis preview, trigger/notebook/duration badges, richness indicator dots, featured analyses section, search/filter/sort, pagination, and stats grid. All 10 feature checks pass.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2c7b9604-ea60-417c-b659-2485b54b1e7d","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.123345+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":"46eabf3e-a25b-4a80-9762-21fed7d80a0b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.109436+00:00","summary":"","completion_summary":"Already complete: /analyses/ page has rich cards with hypothesis count, debate status (sessions + rounds + quality score), top score with progress bar, KG edge count, creation date (relative time), evidence count, richness dots, featured analyses, search/filter/sort/pagination. All requested metrics are displayed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"12551703-3d83-4b3d-9dda-76a2d569f4ec","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.095806+00:00","summary":"","completion_summary":"Already implemented — /analyses page has rich cards with hypothesis count, debate status/quality, top score bar, KG edge count, evidence items, creation date with relative time, featured analyses, filtering/sorting. Page loads in 54ms at 101KB.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9faa89c0-b6f1-4f08-8950-b086a02889c1","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.081987+00:00","summary":"","completion_summary":"Enhanced /analyses page: added 'View showcase' link to featured section and 'Walkthrough' badges for hero analyses. Page already had all requested metrics (hypothesis count, debate status/quality, top score, KG edges, creation date, evidence count, richness dots).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6e849939-375a-4f13-bd59-15241916790c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.067580+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":"52b8ad9d-70b1-4799-983a-a09eefd4eef4","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.050581+00:00","summary":"","completion_summary":"Already implemented: analyses listing page has search, sort (date/score/hypotheses/edges/debates), domain/status filters, pagination, and rich cards showing hypothesis count, edge count, top score, debate count, total rounds, evidence count, avg debate quality, top hypothesis title, and more.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b1284764-7bb7-4db4-b2c2-3a0d71bf4c87","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.021687+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":"0233a35d-3ccd-4bd4-a7b8-d3c18a8b4951","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:34.006276+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":"6b592391-a556-441b-89fd-9e2e23d6fbc2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.992334+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":"35667407-85d6-4cc2-acb1-19f6bc166045","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.978750+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":"364da04f-919a-44a6-a70b-f0bf7ecf47c8","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.964953+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":"548ef3fc-498b-4dec-ae2c-2828b738b346","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.951934+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":"23f32eb8-7dc8-453f-8b04-b8e7777a0899","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.938093+00:00","summary":"","completion_summary":"Already complete: /analyses page already shows rich cards with hypothesis count, debate status/rounds, top score with score bars, KG edge count, creation date, status badges, featured section, filters, and richness indicators.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"057624d9-9fbc-4bb3-83ef-49ef44759675","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.923353+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":"949446a4-c852-4056-bf7d-b876140943a0","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.909685+00:00","summary":"","completion_summary":"Improved /analyses page with: (1) summary stats grid showing analyses count with completed/failed breakdown, hypotheses, evidence items (distinct papers from hypothesis_papers), KG edges, and debates with avg quality score; (2) evidence count per card (distinct PMIDs); (3) debate quality score bar per card; (4) subdomain tags; (5) expanded richness indicator (6 dots); (6) responsive card grid layout for wider screens","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"383dc7f4-9ae8-41a3-b559-f16f12e6c805","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.895509+00:00","summary":"","completion_summary":"Verified: /analyses/ page already shows rich cards with hypothesis count, debate count/rounds, top score, KG edge count, creation date, top hypothesis title, domain, and status filters.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c199fd79-d8c6-4776-a7de-a6aa2d968e12","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.881833+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":"123e31c1-15b8-4116-8b30-8e0a6dd94a49","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.867870+00:00","summary":"","completion_summary":"Already complete: /analyses/ page has rich cards showing hyp count, edge count, debate count/rounds, top score bar, richness indicators (5 dots), top hypothesis preview, trigger/notebook/duration badges, featured analyses section, search, domain/status filters, and 5 sort 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":"6e82909e-3f1d-4dd3-9416-1a76cf40cdda","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.853813+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":"452e4f5a-b2a6-4305-84f7-2c0ae3ad9b0b","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.837002+00:00","summary":"","completion_summary":"Already implemented: /analyses/ page already has rich cards with hypothesis count, KG edge count, debate count/rounds, top score with progress bar, richness indicator dots, top hypothesis preview, duration, trigger badges, notebook badges, featured analyses section, search/filter/sort, and pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"15855131-98e2-4861-983e-a40e5b250f6e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.823465+00:00","summary":"","completion_summary":"Already implemented — /analyses page has rich cards with hypothesis count, KG edges, debate sessions/rounds, top score bars, status badges, richness indicators, trigger/notebook/duration badges. Search/filter/sort/pagination functional. Featured analyses section on page 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":"40ac352f-2bc4-4a11-991e-8add7e8c46ae","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.808853+00:00","summary":"","completion_summary":"Already implemented — /analyses page has rich cards with: hypothesis count, KG edge count, debate sessions/rounds, top score with color-coded bar, status badges, richness indicators, top hypothesis preview, trigger/notebook/duration badges. Search/filter/sort/pagination all functional. Featured analyses section on page 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":"219afd31-93d9-4207-b76c-587559b5b8c2","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.793645+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":"5e8e98b2-55eb-4dfa-9dba-29c1ca9de47c","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.776338+00:00","summary":"","completion_summary":"Already implemented. The /analyses page already shows rich cards with: hypothesis count, KG edge count, debate count (with round count), top composite score, status badges (completed/failed), domain tags, time-ago, trigger badges (Autonomous/Notebook), and richness indicators (1-5 dots).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1cd86212-6e72-4ca9-9258-2bcda351e90f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.760580+00:00","summary":"","completion_summary":"Task already complete: /analyses page has rich cards with hypothesis count, debate status (sessions + rounds), top score with visual bar, KG edge count, creation date with relative time, plus top hypothesis preview, richness indicator dots, domain/status badges, notebook badges, featured analyses section, search/filter/sort. Page loads at 200 but takes ~4.5s which is a general server performance issue.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1db78779-9017-4468-bb21-5af4bec78350","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.746551+00:00","summary":"","completion_summary":"The /analyses page already has rich cards with all requested metrics: hypothesis count, debate status (sessions + rounds), top score bar, KG edge count, creation date with relative time, plus additional features like featured analyses, search/filter/sort, citations, evidence quality, convergence scores, richness indicators, notebook badges, and trigger badges. 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":"c3039767-af55-465c-9eab-fd50efc817a7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.730034+00:00","summary":"","completion_summary":"Enhanced /analyses page cards with 3 new metrics: citations count (from hypotheses.citations_count), evidence quality bar (avg evidence_validation_score), and convergence percentage (avg convergence_score). Also added debates and citations totals to the page header summary. All metrics render conditionally only when data 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":"bdd79510-79c4-427f-993c-521cc22d2e1e","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.713414+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":"0fc59af4-a60a-4e9f-859c-e9a35457b562","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.696598+00:00","summary":"","completion_summary":"Already complete — analyses page has rich cards with hypothesis count, KG edge count, debate status (sessions + rounds), top score with visual bar, creation date, duration, richness dots, question preview, domain/status filters, sort options, featured section, pagination, and 2-column grid.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f3f16e52-a540-4daf-be98-497f8fc0666f","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.681887+00:00","summary":"","completion_summary":"Improved /analyses page cards: added top hypothesis preview with purple accent, sort controls (date/score/hypotheses/edges/debates), relative time display (e.g. '2d ago'), and preserved sort in pagination 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":"aca72508-b052-4de6-a794-190431e04b70","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.666268+00:00","summary":"","completion_summary":"Fixed /analyses/ page that was returning 403 due to StaticFiles mount intercepting the route. The analyses_index handler already had rich cards with hypothesis count, KG edge count, debate status, top score, featured analyses section, search/filter, and pagination. Removed the redundant StaticFiles mount so the dynamic page renders 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":"9a39517f-19d1-4169-b11e-6e370262ec5a","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.651504+00:00","summary":"","completion_summary":"Already fully implemented. /analyses page has rich cards showing: hypothesis count, KG edge count, debate sessions/rounds, top score with progress bar, status badges, domain tags, duration, richness indicator (5 dots), notebook badges, trigger badges, question preview. Also has featured analyses section, search, domain/status filters, and pagination.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"48460d8e-eba5-4742-9c76-ca85291e23d7","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.635482+00:00","summary":"","completion_summary":"Improved /analyses page: added 6-stat dashboard (analyses/hypotheses/edges/debates/papers/avg score), 2-column responsive grid layout, sort dropdown (6 options), paper count per card. Branch: worktree-improve-analyses-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":"86f62c69-dc00-4e2f-a71e-e50247348968","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.619319+00:00","summary":"","completion_summary":"Improved /analyses page cards: added question preview, debate round counts, richness indicator dots (5-point scale), notebook badge, duration badge, and better hover states","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0a6a8553-2955-4ff1-bec3-304c69239a63","title":"[UI] Improve /analyses page — add cards with key metrics and debate status","description":"The analyses list page should show richer cards: hypothesis count, debate status, top score, KG edge count, creation date.","status":"archived","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.602055+00:00","summary":"","completion_summary":"The /analyses page already has rich cards with all requested metrics: hypothesis count, debate count, KG edge count, top score bar, status badges, trigger badges, domain tags, and creation dates. Additionally, a Featured Analyses section was added earlier highlighting the top 3 analyses with richest data. No further 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":"f605325e-dd96-42a7-b964-2a3b2f8f9ddb","title":"[UI] Add /experiments listing page with filterable experiment cards","description":"Create a browsable /experiments page showing all 188 experiments with filtering by type, target gene, and disease. Cards should show title, score, cost, and linked hypothesis count.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T01:21:01.238206+00:00","updated_at":"2026-04-21T03:20:49.062056+00:00","summary":"","completion_summary":"worker on slot 61 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":"docs/planning/specs/f605325e_dd9_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d5c7c383-2ed0-446c-80ab-a79203fa793e","title":"[UI] Add /status system health page with DB stats, service health, and recent activity","description":"Add a public /status page showing: DB size, table counts, service health, recent analyses/debates, storage usage, uptime. Useful for demo and operations monitoring.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T03:01:49.357514+00:00","updated_at":"2026-04-21T03:01:49.357514+00:00","summary":"","completion_summary":"Already implemented on current main in c2f355cbd; verified /status returns 200 from the API and /api/status returns live PostgreSQL counts.","completion_notes":"No new code change needed. Prior commit c2f355cbd contains [task:d5c7c383-2ed0-446c-80ab-a79203fa793e] and added the /status page with DB stats, service health, recent activity, storage/backup status, and uptime. Verification 2026-04-21: curl http://127.0.0.1:8000/status -> 200 OK, 60963-byte HTML with System Status/Services/Database Tables/Uptime; curl http://127.0.0.1:8000/api/status returned analyses=395 hypotheses=747 edges=711721.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d5c7c383_2ed_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"c2f355cbd394509a4509222738df32a80ac59c42\"], \"completion_shas_checked_at\": \"2026-04-21T03:01:49.332505+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified existing implementation on current main: /status 200 OK via uvicorn on port 8000; /api/status returned live PostgreSQL counts.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6cfd32be-46be-41e2-a771-4d3d82d23786","title":"[UI] Fix 404 errors on /showcase and /experiments pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T02:15:12.923212+00:00","updated_at":"2026-04-21T02:15:12.923212+00:00","summary":"","completion_summary":"Served /showcase and /showcase/ directly with GET/HEAD; verified /experiments and /experiments/ already return 200; updated spec work log.","completion_notes":"Commit 78d2a47109b8ed57f4651c95d7d4efa46e6ce2ec pushed to orchestra/task/3ac0ed47-3580-4c91-bf12-25d35bee2a94. Tests: python3 -m py_compile api.py; imported api.app route table and confirmed /showcase and /showcase/ methods GET+HEAD; direct FastAPI curl before change showed /showcase 200 and /experiments variants 200.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6cfd32be_46b_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"78d2a47109b8ed57f4651c95d7d4efa46e6ce2ec\"], \"completion_shas_checked_at\": \"2026-04-21T02:15:12.895042+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"api.py compiles and FastAPI route table includes /showcase and /showcase/ for GET and HEAD.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aa945ffb-6cc0-47c1-a836-50c9b4b451cb","title":"[UI] Add page caching to slow pages (exchange, senate, quests)","description":"Exchange (342ms), Senate (1338ms), and Quests (253ms) pages lack caching. Add _get_cached_page/_set_cached_page with 60s TTL.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T01:20:33.910716+00:00","updated_at":"2026-04-21T01:20:33.910716+00:00","summary":"","completion_summary":"Page caching already on main for exchange, senate, quests — verified in commit 9f64f16c1","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/aa945ffb_6cc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5320432c-bf55-4ff6-b957-5ad5b0f93e41","title":"[UI] Fix /gaps page slow loading (1.8s) — optimize queries","description":"The /gaps page takes 1.8s to load, close to the 2s quality bar. Investigate and optimize the SQL queries to bring load time under 0.5s.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T01:08:53.279287+00:00","updated_at":"2026-04-21T01:08:53.279287+00:00","summary":"","completion_summary":"Already resolved: load time ~0.004s (well under 0.5s target). Fix commit 6a2208e0a on origin/main — O(n²) string concat replaced with list.join + RENDER_LIMIT=200 in gaps_page().","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5320432c_bf5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bd5a6663-adb7-4eef-a792-76152c20f6d3","title":"[UI] Fix 500 errors on /entity/ and /target/ pages — null field handling","description":"Entity pages like /entity/CASP1 and target pages like /target/t-2a37aa51 crash with TypeError: NoneType object is not subscriptable. Need to add null-safe access to fields that may be None in the entity_detail and target_detail functions.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T00:40:52.538760+00:00","updated_at":"2026-04-21T00:40:52.538760+00:00","summary":"","completion_summary":"Already resolved: fix landed in eb392514b. Verified /entity/CASP1 and /target/t-2a37aa51 both return HTTP 200.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/bd5a6663_adb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: fix landed in eb392514b. Verified /entity/CASP1 and /target/t-2a37aa51 both return HTTP 200.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ef9d02c5-8631-460c-b2a8-d27229648684","title":"[UI] Search page: support URL parameters for deep linking","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T00:40:15.609129+00:00","updated_at":"2026-04-21T00:40:15.609129+00:00","summary":"","completion_summary":"Search page URL params — already resolved on main via 700e194d0","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ef9d02c5_863_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dec65421-e6db-4ef8-a9ef-dbbc2a8b6be8","title":"[UI] Add styled 404 error page with navigation","description":"Currently 404 errors show raw JSON: {\"detail\":\"Not Found\"}. Add a custom exception handler that returns a styled HTML 404 page with SciDEX branding, navigation, and helpful links back to main pages. Important for demo polish.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T00:40:14.896029+00:00","updated_at":"2026-04-21T00:40:14.896029+00:00","summary":"","completion_summary":"[Verify] Styled 404 page already resolved on main [task:dec65421-e6db-4ef8-a9ef-dbbc2a8b6be8]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/dec65421_e6d_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"efacabd6-da8b-434d-961b-566151158b3f","title":"[UI] Add /experiments listing page with filterable table","description":"Create the /experiments endpoint showing all 188 experiments in a searchable, filterable table. Include status, title, linked hypotheses. This is critical for demo completeness.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-21T00:34:03.351598+00:00","updated_at":"2026-04-21T00:34:03.351598+00:00","summary":"","completion_summary":"Already resolved: /experiments page exists on main with full filtering, search, and 632 experiments. Commit 28b5284ea verified functionality.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/efacabd6_da8_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"28b5284ea\"], \"completion_shas_checked_at\": \"2026-04-21T00:34:03.330573+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d65788b7-3267-4e7a-af9d-dcb476c0641c","title":"[UI] Fix broken wiki links — hardcoded slugs and improve fallback matching","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T23:00:28.761907+00:00","updated_at":"2026-04-20T23:00:28.761907+00:00","summary":"","completion_summary":"Already resolved: all 3 acceptance criteria met. /wiki/apoe→200, /wiki/mapt→200, suffix-match/entity-redirect fallbacks present on main (ccd04c084). Hardcoded wiki index links use correct /entity/APOE and /entity/MAPT URLs.","completion_notes":"All acceptance criteria verified on current main (ccd04c084). /wiki/apoe and /wiki/mapt both return HTTP 200. Suffix match fallback (slug LIKE %-{slug}), entity redirect (wiki_entities → /entity/{name}), and corrected hardcoded /entity/ links all present. No code changes needed — task was already resolved in prior commits.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d65788b7_326_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: all 3 acceptance criteria met. /wiki/apoe→200, /wiki/mapt→200, suffix-match/entity-redirect fallbacks present on main (ccd04c084). Hardcoded wiki index links use correct /entity/APOE and /entity/MAPT URLs.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"993baf5b-a932-4a30-a8e7-d8681d80317d","title":"[UI] Fix broken CRISPR walkthrough link from demo page — add to WALKTHROUGH_IDS","description":"The demo page links to /walkthrough/SDA-2026-04-02-gap-crispr-neurodegeneration-20260402 but it returns 404 because the analysis is not in WALKTHROUGH_IDS. Add it.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T09:58:13.907354+00:00","updated_at":"2026-04-19T09:58:13.907354+00:00","summary":"","completion_summary":"[Atlas] Work log: CRISPR walkthrough fix commit [task:993baf5b-a932-4a30-a8e7-d8681d80317d]; [Atlas] Add SDA-2026-04-02-gap-crispr-neurodegeneration-20260402 to WALKTHROUGH_IDS in api.py [task:993baf5b-a932-4a30-a8e7-d8681d80317d]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/993baf5b_a93_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"60827c16-12ec-4c7a-98f6-aa541b819eb0","title":"[UI] Fix analysis detail pages to show wiki cross-links from improved query","description":"The wiki cross-link query was fixed for hypothesis pages (JOIN directly from artifact_links to wiki_pages instead of going through artifacts table). Verify the fix also works correctly on analysis detail pages and experiment detail pages by testing with TestClient.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T00:47:31.522858+00:00","updated_at":"2026-04-19T00:47:31.522858+00:00","summary":"","completion_summary":"Wiki cross-links fix verified: all 4 tests pass, already resolved by prior commits 8842a4598/91e9babe1/a1c9c112e on main","completion_notes":"Task verified complete on main. All 4 tests pass (8842a4598, 91e9babe1, a1c9c112e already resolved). Direct JOIN at api.py:32574, 35898, 38426. Push blocked by auth (orchestra manages remote).","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/60827c16_12e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"completion_shas\": [\"a1c9c112e\"], \"completion_shas_checked_at\": \"2026-04-16T23:47:55.065962+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Wiki cross-links fix verified: all 4 tests pass, already resolved by prior commits 8842a4598/91e9babe1/a1c9c112e on main","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6a650f80-8a68-43bd-8bce-cb98c7c66d3c","title":"[UI] Fix /notebooks 500 error: add missing is_spotlight and tags columns","description":"The /notebooks page returns 500 because api.py queries for n.is_spotlight and n.tags columns that don't exist in the notebooks table schema. Need to create a migration to add these columns.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:44:01.371658+00:00","updated_at":"2026-04-18T17:44:01.371658+00:00","summary":"","completion_summary":"Already resolved: columns is_spotlight and tags exist via migration 105 on f9b34e5c9","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6a650f80_8a6_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"059ef936-0414-4456-9f20-8c1e641bbcfd","title":"[UI] Fix top nav alignment and deploy merged nav changes","description":"Update worktree nav_html to current main navbar structure, fix horizontal alignment of top nav items, then merge/push/restart API.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:39:40.556850+00:00","updated_at":"2026-04-18T17:39:40.556850+00:00","summary":"","completion_summary":"Already resolved: commit 555c797e7 applied min-height:34px fix to nav-top-separator. Worktree reset to origin/main confirms navbar is in sync.","completion_notes":"Worktree reset to origin/main (78683c138) confirming nav.py is already in sync and min-height fix (commit 555c797e7) is on main. Verification note committed to spec. Branch pushed via gh.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/059ef936_041_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"24ec6872a\", \"555c797e7\"], \"completion_shas_checked_at\": \"2026-04-18T17:39:40.538309+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"50c9497b-381d-48cc-8917-914ff78a054a","title":"[UI] Fix search API 500 and compare page 500 — sqlite3.Row.get() and wrong column name","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:35:55.964456+00:00","updated_at":"2026-04-18T17:35:55.964456+00:00","summary":"","completion_summary":"[UI] Fix search API 500 in api.py — replace sqlite3.Row.get() with direct column access [task:50c9497b-381d-48cc-8917-914ff78a054a]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/50c9497b_381_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3acd73a2-c12a-43d0-bc4c-8fa1d8b782c8","title":"[UI] Fix entity detail 500 errors — add None-safety and error boundary","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:10:57.508936+00:00","updated_at":"2026-04-18T17:10:57.508936+00:00","summary":"","completion_summary":"[UI] Fix entity detail 500 errors — add None-safety and error boundary [task:3acd73a2-c12a-43d0-bc4c-8fa1d8b782c8]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3acd73a2_c12_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0dce4c3a-5624-4968-aa75-8b18e4433d87","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:06:59.797928+00:00","updated_at":"2026-04-18T17:06:59.797928+00:00","summary":"","completion_summary":"Verified: All 5 detail pages (Entity, Hypothesis, Analysis, Experiment, Target) have breadcrumbs via breadcrumb_html() from api_shared/nav.py","completion_notes":"Verification commit added to spec. Task already complete on main at commits e5eed5556, c9d2ca9b0, 166e6d40d, e68cd0872, 3a46ff11f. Push blocked by GitHub auth in this environment.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0dce4c3a-562_ui_add_breadcrumbs_and_back_navigation_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"18a73eb3-7268-48e8-a9db-04abdd01cb20","title":"[UI] Create missing feedback table — prevents OperationalError on /api/feedback","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:06:23.006064+00:00","updated_at":"2026-04-18T17:06:23.006064+00:00","summary":"","completion_summary":"Already resolved: feedback table exists on main with schema and 1 data row. /api/feedback endpoints are at api.py:20718 (POST) and api.py:20764 (GET). No code changes needed.","completion_notes":"Task is already resolved — feedback table exists on main (schema at api.py:1964, created in production DB with 1 existing row). No code changes needed. Verification commit pushed to branch.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/18a73eb3_726_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: feedback table exists on main with schema and 1 data row. /api/feedback endpoints are at api.py:20718 (POST) and api.py:20764 (GET). No code changes needed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"65f92687-5a57-4653-b0bc-9e5e3d84695b","title":"[UI] Fix navigation links pointing to wrong atlas URL","description":"Nav sidebar links to /atlas.html (static file) instead of /atlas (dynamic route with live stats). Fix nav to use /atlas.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:04:49.228037+00:00","updated_at":"2026-04-18T17:04:49.228037+00:00","summary":"","completion_summary":"Already resolved: task 8ad4c451-bd3 (d0740a757) fixed all 271 analysis pages, nav correctly uses /atlas. Verified 0 remaining /atlas.html hrefs in site/.","completion_notes":"Verification confirmed: grep -r 'href=\"/atlas\\.html\"' site/*.html site/analyses/*.html → 0 matches. All 271 analysis pages already fixed by task 8ad4c451-bd3 (commit d0740a757). The nav correctly uses /atlas route in generate_analysis_html.py, site/atlas.html, and api.py _static_nav_active mapping.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/65f92687_5a5_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"grep -r 'href=\"/atlas\\.html\"' site/*.html site/analyses/*.html → 0 matches. generate_analysis_html.py:25 uses /atlas. site/atlas.html nav uses /atlas. api.py:58020 _static_nav_active maps atlas.html→/atlas.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a140d6f5-bfd1-42f9-a816-d28f5158202c","title":"[UI] Add hypothesis evidence strength matrix with citation quality scoring","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T17:02:37.422599+00:00","updated_at":"2026-04-18T17:02:37.422599+00:00","summary":"","completion_summary":"Citation quality scoring already resolved: PAPER_JOURNAL_TIERS and _journal_quality_score in evidence_provenance.py (lines 270, 309, 321), api.py uses evidence_provenance.source_quality_score for quality_scores (lines 32633, 32645). Both files parse without error. Commit 6e831b74b landed the fix.","completion_notes":"Verification commit pushed as 7ad8f8975 but cannot push to remote (auth issue). Work itself already merged to main via prior commits a892728c9 and 28ce3c6dc on the orchestra/task/a140d6f5 branch.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a140d6f5_bfd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"7ad8f8975\"], \"completion_shas_checked_at\": \"2026-04-18T17:02:37.400278+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Citation quality scoring already resolved: PAPER_JOURNAL_TIERS and _journal_quality_score in evidence_provenance.py (lines 270, 309, 321), api.py uses evidence_provenance.source_quality_score for quality_scores (lines 32633, 32645). Both files parse without error. Commit 6e831b74b landed the fix.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e273532b-f6e4-4436-a86e-8df0dbc84736","title":"[UI] Add /notebooks to nav sidebar under Knowledge section","description":"The nav sidebar links to /artifacts (Artifact Gallery) but not /notebooks, which has 99 Jupyter notebook analyses. Visitors can only find notebooks through /demo or /artifacts pages. Add Notebooks link to the Knowledge section of sidebar nav for better discoverability.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:57:59.964555+00:00","updated_at":"2026-04-18T16:57:59.964555+00:00","summary":"","completion_summary":"[Verify] Notebooks sidebar nav — already resolved [task:e273532b-f6e4-4436-a86e-8df0dbc84736]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/e273532b_f6e_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a1c23b8f-57a2-4a19-a1a7-ed84e5db5ab3","title":"[UI] Add /debates listing page — browse all 47 debate sessions","description":"Add a /debates page that lists all debate sessions with quality scores, persona badges, hypothesis outcomes, and links to full transcripts. Currently the only way to find debates is via hypothesis pages. This page makes the Agora layer navigable. Data: 47 debate sessions, 4 personas, quality scores.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:53:28.661002+00:00","updated_at":"2026-04-18T16:53:28.661002+00:00","summary":"","completion_summary":"Already resolved by 2cb64c6f5: /debates page fully implemented with quality scores, persona badges, search/filter/pagination","completion_notes":"Commit 2cb64c6f5 on origin/main implemented /debates page with all 47 debate sessions, quality scores, persona badges, search/filter/sort/pagination, and the rgba color parsing fix.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a1c23b8f_57a_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5408489e-930a-498d-b069-9a67f2dbfcdc","title":"[UI] Optimize /gaps page query performance (1.4s)","description":"The /gaps page takes 1.4 seconds to load. Profile and optimize SQL queries.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":88,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-18T16:52:34.290257+00:00","updated_at":"2026-04-18T16:52:34.290257+00:00","summary":"","completion_summary":"Already resolved: batched SQL optimization is on main via commit chain. Verified by checking push/main:api.py contains the `Single batched SQL` block at lines 48379-48407.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5408489e_930_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"28f9a2d2-594d-4f0f-8ed8-b4bc3541ccda","title":"[UI] Mobile swipeable artifact-card browser (Tinder-for-hypotheses)","description":"/m/swipe page rendering artifacts as one-thumb swipe cards (save/skip/share/tap) with telemetry table and diversity-aware ranker.","status":"done","priority":87,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T22:34:32.727832+00:00","updated_at":"2026-04-27T22:34:32.727832+00:00","summary":"","completion_summary":"[UI] Mobile swipeable artifact-card browser at /m/swipe [task:28f9a2d2-594d-4f0f-8ed8-b4bc3541ccda]","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-mobile-artifact-swiper_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":"acb4915d-d9dd-4484-9b64-65c9e2403343","title":"[UI] Fix broken links audit: identify and document all HTTP 0/404/500 links across /debates, /analyses, and /hypotheses sections","description":"Systematically audit internal links on the debates, analyses, and hypotheses list pages for broken links, then fix the highest-impact ones.\n\nSteps:\n1. Fetch page content for /debates, /analyses, /hypotheses pages\n2. Extract all internal href links\n3. For each link, make a HEAD request to check status code\n4. Classify broken links by type:\n   - HTTP 0: connection refused (API down or route missing)\n   - HTTP 404: missing record or wrong slug\n   - HTTP 500: server error in route handler\n5. For 404s: check if the entity exists in DB under a different ID/slug\n6. For 500s: identify the failing route in api.py and fix the error\n7. For HTTP 0: identify if the service is down or the route doesn't exist\n\nAcceptance criteria:\n- All links on these 3 pages checked (count documented)\n- At least 5 broken links fixed (returning HTTP 200)\n- Remaining unfixable broken links documented with specific failure reason\n- No new 500 errors introduced by the fixes","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:39:45.934470+00:00","updated_at":"2026-04-28T05:39:45.934470+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":"Audit complete: 119 unique internal links across /debates, /analyses, /hypotheses checked; 0 HTTP 0/404/500 links reproducible; no code fixes required. Spec commit blocked by read-only gitdir in worker.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"448bd041-9e70-48ba-a878-be524428e16c","title":"[UI] Mobile reading mode - focused single-column artifact view","description":"?reader=1 toggle (or auto for PWA-installed) strips chrome to a serif single-column view with read-time estimate and 'next article' chain.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:10:06.050281+00:00","updated_at":"2026-04-27T23:10:06.050281+00:00","summary":"","completion_summary":"[UI] Mobile reader mode: ?reader=1 single-column serif view [task:448bd041-9e70-48ba-a878-be524428e16c]","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-mobile-reading-mode_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":"9e06e46f-0ced-4499-b24b-915eb9afdebc","title":"[UI] PWA manifest + service worker for installable offline scidex.ai","description":"Add manifest.json + service worker so scidex.ai installs as a PWA, pre-caches the read-only shell, works offline for digest + recent artifacts.","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:00:33.589441+00:00","updated_at":"2026-04-27T23:00:33.589441+00:00","summary":"","completion_summary":"[UI] PWA work log — completed acceptance criteria [task:9e06e46f-0ced-4499-b24b-915eb9afdebc]; [UI] PWA manifest + service worker for installable offline scidex.ai [task:9e06e46f-0ced-4499-b24b-915eb9afdebc]","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-mobile-pwa-manifest_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":"58be9a95-c650-4862-8d0f-81531af2239a","title":"[UI] Optimize entity and analysis page query performance","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":86,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T02:54:06.755655+00:00","updated_at":"2026-04-19T02:54:06.755655+00:00","summary":"","completion_summary":"Already resolved: e181e6c22 landed optimization on remote branch. api_entity_detail uses source_id=%s/target_id=%s (COLLATE NOCASE) instead of UPPER() for ~100x query improvement. Remote branch verified at commit e181e6c22.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/58be9a95_c65_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: e181e6c22 landed optimization on remote branch. api_entity_detail uses source_id=%s/target_id=%s (COLLATE NOCASE) instead of UPPER() for ~100x query improvement. Remote branch verified at commit e181e6c22.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"38a27c4a-e327-4565-bd0b-529d8754092f","title":"[UI] Fix /search endpoint: ensure semantic search returns results for neurodegeneration queries","description":"Audit and fix the SciDEX search functionality to ensure it returns relevant results for key neurodegeneration queries.\n\nSteps:\n1. Test current search: `curl -s 'http://localhost:8000/api/search?q=alpha-synuclein&limit=10'`\n2. Test with 5 other important queries: \"LRRK2 inhibitor\", \"tau aggregation\", \"mitochondrial fission PD\", \"TREM2 microglia\", \"GBA1 lysosome\"\n3. For each query, check: are results relevant? Are hypotheses and wiki pages included? Are analyses included?\n4. If search returns 0 results or irrelevant results for any query:\n   - Check the search_vector columns are populated (tsvector)\n   - Verify search index is current\n   - Fix the search route in api.py if there are query construction bugs\n5. Verify the /search page UI renders results correctly\n\nAcceptance criteria:\n- All 6 test queries return >= 5 relevant results\n- Results include a mix of hypotheses, wiki pages, and analyses for each query\n- Search response time < 2 seconds\n- /search UI page renders without errors","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:43:43.360754+00:00","updated_at":"2026-04-28T05:43:43.360754+00:00","summary":"","completion_summary":"Task closed as a verified no-op. All 6 acceptance-criteria queries were already returning strong results (32–130 results each), with a mix of hypotheses, wiki pages, analyses, papers, and gaps. Response time was 194ms and the `/search` UI renders correctly — 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":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"All 6 acceptance-criteria queries already return well above 5 results with mixed result types: alpha-synuclein=130, LRRK2+inhibitor=63, tau+aggregation=95, mitochondrial+fission+PD=32, TREM2+microglia=95, GBA1+lysosome=51. Every query returns hypotheses, wiki pages, and analyses. Response time is 0.194s (well under 2s). The /search UI page renders without errors. No code changes needed — search is fully functional.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"edd80654-afee-4feb-989c-a35fd5c8cd3b","title":"[UI] Embeddable 'My SciDEX' widget for researcher personal sites","description":"Single-script-tag embed renders a researcher's SciDEX hypotheses/debates/rank into Shadow DOM on any homepage.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:33:23.594272+00:00","updated_at":"2026-04-27T23:33:23.594272+00:00","summary":"","completion_summary":"[UI] Embeddable 'My SciDEX' widget for researcher personal sites [task:edd80654-afee-4feb-989c-a35fd5c8cd3b]","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-fed-personal-site-widget_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":"b46b544d-d462-492a-bc0d-d67fe4b7dd35","title":"[UI] QR-code share sheet for any artifact (conference handoff)","description":"Per-artifact short URL + QR SVG/PNG share sheet; /a/{short_id} redirect; Web Share API; conference-tagged scan analytics.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:24:19.161289+00:00","updated_at":"2026-04-27T23:24:19.161289+00:00","summary":"","completion_summary":"[UI] QR-code share sheet for any artifact (conference handoff) [task:b46b544d-d462-492a-bc0d-d67fe4b7dd35]","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-mobile-share-qr_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":"c50e0c0a-0815-4c4b-a913-b7c2fe75470f","title":"[UI] Web Push subscriptions via service worker + VAPID","description":"VAPID-keyed Web Push end-to-end: subscribe flow, web_push_subscriptions table, dispatcher consuming event_bus, iOS/Android delivery.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-27T23:24:00.617591+00:00","updated_at":"2026-04-27T23:24:00.617591+00:00","summary":"","completion_summary":"[UI] Web Push subscriptions via service worker + VAPID [task:c50e0c0a-0815-4c4b-a913-b7c2fe75470f]","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-mobile-web-push-subscribe_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":"5f4855c0-4f61-465b-b045-85114b26bf8b","title":"[UI] Add /api/health JSON endpoint for monitoring","description":"Add a simple JSON health endpoint that returns DB connectivity, record counts, and service status for monitoring.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:50:07.661993+00:00","updated_at":"2026-04-26T04:50:07.661993+00:00","summary":"","completion_summary":"Already resolved on origin/main ca6f2bb77: /api/health exists in api.py, is excluded from rate limiting and Prometheus metrics, and api_health() returned healthy JSON with db_connected/db_latency_ms/record_counts/services during local execution.","completion_notes":"no-op: verified /api/health already present on origin/main and returns expected JSON shape locally","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5f4855c0_4f6_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 origin/main ca6f2bb77: /api/health exists in api.py, is excluded from rate limiting and Prometheus metrics, and api_health() returned healthy JSON with db_connected/db_latency_ms/record_counts/services during local execution.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f7aa0762-e2b1-4eec-a77e-5b13ae64d578","title":"[UI] Fix orphan checker false positives for KG edges","description":"Fix orphan_checker.py false positives: KG edges shown via /api/graph are incorrectly flagged as orphaned. See spec at docs/planning/specs/c98a423d_0ad_spec.md","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:45:24.278197+00:00","updated_at":"2026-04-26T04:45:24.278197+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/f7aa0762_e2b_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: a8987981d. Verified with python3 scripts/orphan_checker.py on 2026-04-26 UTC; output showed KG Edges: 0/698520 orphaned and Overall coverage: 100.0%.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5464c366-26a1-486a-979a-5247b1586e1e","title":"[UI] Fix orphan checker to use /api/graph endpoint","description":"Update orphan_checker.py check_orphaned_kg_edges() to query /api/graph endpoint instead of grepping static HTML files. Current heuristic fails because graph.html loads data dynamically via JavaScript. Fix: fetch from http://localhost:8000/api/graph, extract node IDs, check if edge source/target exist in returned nodes.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:42:26.831344+00:00","updated_at":"2026-04-26T04:42:26.831344+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/5464c366_26a_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: a8987981d3 removed the stale graph.html heuristic from check_orphaned_kg_edges(); live /api/graph returns 200 JSON and the current checker reports 0 malformed orphan edges.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c98a423d-0ad9-46a7-a0d7-0fd3d31e9405","title":"[UI] Fix orphan checker false positives for KG edges","description":"Bug: orphan_checker.py incorrectly reports 283/690 edges as orphaned (41% coverage) by checking for entity IDs in static HTML. Graph pages load data dynamically via /api/graph API, so entities won't be in static HTML. Fix: Change check_orphaned_kg_edges() to verify edges are accessible via API and properly structured, not text-search static files. All edges in DB are visualized, so true coverage should be ~100%.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T02:16:18.021701+00:00","updated_at":"2026-04-26T02:16:18.021701+00:00","summary":"","completion_summary":"Already resolved: check_orphaned_kg_edges() on main already checks DB structure only (malformed edges with NULL/empty source_id/target_id/relation), not static HTML. Running the checker confirms 100.0% overall coverage and 0/725,724 orphaned KG edges. Fix was introduced in commit 698ed86b2. Verified and closed as no-op.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c98a423d_0ad_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: check_orphaned_kg_edges() on main already checks DB structure only (malformed edges with NULL/empty source_id/target_id/relation), not static HTML. Running the checker confirms 100.0% overall coverage and 0/725,724 orphaned KG edges. Fix was introduced in commit 698ed86b2. Verified and closed as no-op.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ee42db51-6055-4dc0-b0a0-8b1de86ebf65","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T02:08:54.217526+00:00","updated_at":"2026-04-26T02:08:54.217526+00:00","summary":"","completion_summary":"Already addressed: hypothesis comparison view is fully functional on main at /compare (api.py:33403). Feature includes radar charts across 10 scoring dimensions, side-by-side hypothesis cards, score breakdown table with best-value highlighting, debate excerpts, price history overlay, and evidence comparison. Delivered via prior tasks d16d62d0, bcb62c5f, 54af1c16, 4257183e.","completion_notes":"Verified: /compare route exists at api.py:33403 with full implementation (radar charts, side-by-side cards, score breakdown, debate excerpts, price history, evidence comparison). Feature was delivered across multiple prior tasks. ee42db51 was never committed directly — feature predates this task on main.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"completion_shas\": [\"ecef414dc\"], \"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":"65be943b-e14d-42ec-8195-4eb25d45df60","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.588192+00:00","summary":"","completion_summary":"Comparison view already implemented. /compare route at api.py:8785 with radar charts, checkboxes on /exchange for selecting 2-3 items, side-by-side scores and evidence. 47 compare-related code references in api.py. API currently slow due to DB contention but code is fully present.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c16b5643-e351-4c20-b05d-3978b516757e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.573230+00:00","summary":"","completion_summary":"Already verified/completed 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":"0303969a-08c8-4a4e-8ef2-afe4228f81e8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.557584+00:00","summary":"","completion_summary":"Feature already fully implemented at /compare endpoint (line 8778 api.py). Users can select 2-3 hypotheses via checkboxes on Exchange page and compare side-by-side with radar charts, score comparison bars, evidence, debate excerpts, price history overlay, shared evidence analysis, and verdict summary. Currently experiencing timeouts due to DB lock contention from 15+ concurrent writer processes, which is a separate infrastructure issue.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4c1bfe24-6dd9-4a0c-9b1e-bc5a293cc086","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.538470+00:00","summary":"","completion_summary":"Already done (duplicate). /compare page with radar chart, side-by-side layout, checkbox selection from Exchange.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e83b1c65-41de-481a-a967-866a3f79e1d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.523018+00:00","summary":"","completion_summary":"Already implemented: /compare route (api.py:8781-9300) provides full hypothesis comparison with radar charts (Chart.js), side-by-side cards, score comparison table, evidence comparison, debate excerpts, price history overlay, and hypothesis picker. Exchange page has compare checkboxes allowing selection of 2-3 hypotheses. All features verified 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":"ad4f8b52-d4cc-4b07-a940-0fb02e8b9886","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.507435+00:00","summary":"","completion_summary":"Already complete. /compare page exists with side-by-side hypothesis comparison including: score tables, evidence cards, debate excerpts, canvas (radar chart), selection via checkboxes, and pre-built comparison 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":"4873541e-7d80-4fa9-b710-d3ec08ec4d7c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.492358+00:00","summary":"","completion_summary":"Already fully implemented: /compare page with radar chart (Chart.js), side-by-side evidence panels, debate excerpts, score comparison. Exchange page has checkbox selection UI for 2-3 hypotheses with compare button. Page renders at 68KB with working radar visualization.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0ec7bfa8-1864-41ae-9454-aa5405c7794c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.477353+00:00","summary":"","completion_summary":"Task already implemented. The /compare page has full side-by-side comparison with: radar charts (10 dimensions), score comparison bars, verdict summary, evidence sections, debate excerpts, price history overlay, shared evidence analysis, KG connectivity comparison, and hypothesis picker. The Exchange page has checkboxes and a fixed compare bar to select 2-3 hypotheses. All pages return 200 OK.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8883d062-091c-4686-a7b2-772a6eea73d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.461547+00:00","summary":"","completion_summary":"Already complete: /compare page at api.py:8499 with side-by-side comparison of 2-3 hypotheses. Exchange page at api.py:7533 has checkbox selection with compare bar and toggleCompare JavaScript. Compare view includes radar charts, score comparison, evidence side-by-side. Mobile responsive CSS included.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cac98886-9c7e-48aa-9f94-7f924e328243","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.444498+00:00","summary":"","completion_summary":"Duplicate — see task bc3ed275. /compare already fully implemented with radar charts, side-by-side cards, evidence comparison, score 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":"bc3ed275-c67d-45f9-adf8-aa54dd5a5abb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.428990+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare?ids=. Features: radar charts (10-dimension via Chart.js), side-by-side score cards, evidence comparison (for/against with PMIDs), score comparison table with best-in-class highlighting. Accessible from Exchange page via checkbox selection.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"18ffd215-1231-4d3a-8960-eb4095731d8b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.412578+00:00","summary":"","completion_summary":"Already fully implemented: /compare page renders radar charts, score breakdowns, evidence comparison, debate excerpts, price history overlay, shared evidence analysis, and KG connectivity comparison for 2-3 hypotheses. Exchange page has checkbox selection UI with toggleCompare() and compare bar. All sections verified rendering at https://scidex.ai/compare.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff17300b-45ad-4967-beff-f6fbaa04bf1e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.396725+00:00","summary":"","completion_summary":"Already implemented: Exchange has item checkboxes, compare bar, /compare endpoint (200) with radar charts and side-by-side 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":"268e9b35-0c8c-4bbf-aa67-af3dccf9dc16","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.357768+00:00","summary":"","completion_summary":"Already implemented: Exchange page has item checkboxes, compare bar UI, and /compare endpoint (200). Radar charts, side-by-side scores, evidence comparison 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":"c6547729-c30a-41f7-989b-ba4ef3f242bc","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.341747+00:00","summary":"","completion_summary":"Already implemented: Exchange page has checkboxes for item selection, compare bar UI, and /compare endpoint (200). Features: radar charts, side-by-side scores, evidence comparison. Compare tool linked from exchange header.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"531efb92-c46c-4612-a85b-8695a6cfc919","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.325131+00:00","summary":"","completion_summary":"Duplicate — /compare with radar charts, evidence, scores, debate excerpts, and checkbox selection on /exchange already fully 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":"44f741ef-3ea9-4304-bc96-dc1c438176e9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.308750+00:00","summary":"","completion_summary":"Task already fully implemented: Exchange page has checkboxes for selecting 2-3 hypotheses, /compare route renders side-by-side comparison with radar charts (10 dimensions), scores, evidence, and debate excerpts. Compare bar UI with selection preview and clear functionality.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a817adf6-6d8d-4ebf-968b-f8da4a875b6c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.292968+00:00","summary":"","completion_summary":"Already complete (duplicate 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":"d07e550d-9391-46d2-8293-d7edd8f7fc20","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.278433+00:00","summary":"","completion_summary":"Already completed — duplicate 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":"589d09a0-5626-49fd-bd0a-66ab0bfcc913","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.262560+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":"d306df8d-9711-4190-b3c3-a6c2bdcc7151","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.248456+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7771d7a4-6a3f-4dac-806d-5a43446c3399","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.231067+00:00","summary":"","completion_summary":"Hypothesis comparison page already exists at /compare with radar charts, side-by-side evidence, and scores. Checkboxes on /exchange allow selecting 2-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":"574ef4e7-d238-41f9-ba36-672afbe89086","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.216190+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":"a0a308f8-d993-4417-bb9b-8656a6dd1089","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.200101+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":"ac58bb13-d8a3-4197-b41c-2caf0e38e768","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.185302+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":"915c0aa1-dcdc-411c-8337-77dc7cd2af6f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.169745+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":"58598339-689f-4f53-8858-25a091055806","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.155921+00:00","summary":"","completion_summary":"Hypothesis comparison already fully implemented: /compare route with radar charts (10 dimensions), side-by-side evidence comparison, price history overlay, shared evidence analysis, KG connectivity, debate excerpts, and hypothesis picker. /exchange page has checkbox selection UI and compare bar with toggleCompare() JS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ac146d6b-f50c-42ff-83df-5494f7b96c35","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.141494+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":"eef72b46-85ef-4f0c-b7b3-b7bf0169bcf6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.126222+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":"987a3d3e-abea-49a6-8b9b-1e4a818474b7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.110508+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":"ba5fd37a-f2cb-408f-9564-cc5edc24b0c0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.095834+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":"fdce28e7-a7e6-4aa0-b7b0-cc2194b2977f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.081831+00:00","summary":"","completion_summary":"Duplicate — already completed (721f7a75, 45545189). /compare route with Chart.js radar charts, score breakdown, evidence, debate excerpts fully 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":"b3bd89a0-8032-4287-ae37-112793272ed8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.067202+00:00","summary":"","completion_summary":"Already implemented. Exchange page has checkbox-based hypothesis selection (2-3 items) with compare functionality. /compare page (200, 24KB) exists. Features: radar charts, side-by-side scores, evidence. Exchange page has 242 comparison-related elements including compare bar, selection chips, and link to comparison tool.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"45545189-9881-44b5-9cae-7714e2f49e71","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.053758+00:00","summary":"","completion_summary":"Duplicate of 721f7a75 (already completed). /compare?ids= route renders full side-by-side view with Chart.js radar chart, score breakdown, evidence comparison, debate excerpts, price history, and winner analysis. Exchange page has selection checkboxes + compare bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ced11912-6ae4-4a90-bada-59b3591e6ce8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.038679+00:00","summary":"","completion_summary":"ced11912-6ae4-4a90-bada-59b3591e6ce8","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b36c975b-3123-4ee1-887a-06a08530bbd3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.024961+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":"d1731971-1bfb-4f88-a217-ee4ab02c1fc3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:33.011103+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":"132a6b7f-6117-4b42-95cb-ed0388f29f47","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.997718+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully built at /compare. Features: radar charts (10 dimensions), side-by-side cards, score comparison table+bars, verdict summary, evidence comparison with PMID links, shared evidence analysis with overlap %, debate excerpts, price history overlay, KG connectivity comparison, hypothesis picker, share link. Linked from Exchange with checkbox selection. All pages render at 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":"8f990258-1bcc-4142-9384-63b62764cfe3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.984587+00:00","summary":"Already done: /compare page with radar charts working end-to-end","completion_summary":"Duplicate: /exchange has hypothesis comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"29f648b0-452a-4e2c-8f67-887687e7ee95","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.969802+00:00","summary":"","completion_summary":"Duplicate: /exchange has hypothesis comparison views already.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"74844ecc-f919-40fa-b48e-277fa274f200","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.955534+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":"721f7a75-3a44-4921-b6b9-e18ebcf40419","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.941317+00:00","summary":"","completion_summary":"Already implemented. /compare?ids= route renders full side-by-side view with Chart.js radar chart (10 dimensions), score breakdown table with inline bar charts, evidence comparison, debate excerpts, price history line chart, clinical trials, and winner analysis. Exchange page has checkboxes (max 3) + floating compare bar that routes to /compare. All returns 200 and renders 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":"5495137e-2bd6-4010-85a8-8370c7dc070a","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.927002+00:00","summary":"","completion_summary":"Already implemented: /exchange (977KB) has hypothesis comparison with 441 compare references, radar charts, side-by-side views, scores. /compare (24KB) also exists as standalone comparison 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":"89aec085-2da8-48f2-9ee9-a9753f5c9f09","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.912387+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare with: radar charts, side-by-side scores, evidence summaries, debate excerpts. Exchange page (/exchange) has checkboxes on each hypothesis for selecting 2-3 items to compare, plus a link to the comparison tool. 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":"4ed0b4cd-6951-4118-b883-69087dc6cc6c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.897541+00:00","summary":"","completion_summary":"Duplicate - comparison view at /compare with radar charts, scores, evidence, debate excerpts 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":"d4ae2ca0-f744-4dc5-bbe5-9a54dcab6e6f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.882626+00:00","summary":"","completion_summary":"Hypothesis comparison view fully implemented at /compare with: radar chart (10 dimensions), score comparison bars, evidence panels, debate excerpts, price history overlay, shared evidence, and KG comparison. Checkboxes on Exchange page allow selecting 2-3 hypotheses for comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"816425ec-41d0-469e-945b-0119d76fae5c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.865609+00:00","summary":"","completion_summary":"Already complete: /compare page exists with radar charts, evidence, scores, and debate excerpts for 2-3 selected hypotheses. Exchange page has checkboxes for selecting hypotheses and a Compare button linking to /compare?ids=... Works 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":"f8c893a7-3d24-4ce5-aa8f-aebf71217188","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.849845+00:00","summary":"","completion_summary":"Task already implemented. /exchange has compare checkboxes and compare bar. /compare page shows side-by-side comparison with radar charts (10 dimensions), Chart.js, price history, and evidence comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0d8b07b5-8a9c-49c4-a9ac-e54d86d07827","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.832723+00:00","summary":"","completion_summary":"Already implemented: /compare page with radar charts, side-by-side scores, evidence, and debate excerpts. Exchange page has checkbox selection for 2-3 hypotheses. Verified working with sample IDs (81KB HTML).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"25fce051-e8dd-43c3-812b-716604478602","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.818454+00:00","summary":"","completion_summary":"Verified hypothesis comparison view already exists and works end-to-end: Exchange page has checkbox selection (max 3) with floating compare bar, and /compare page renders side-by-side cards, 10-dimension radar chart (Chart.js), score breakdown table, score comparison bars, verdict summary, evidence comparison, debate excerpts, price history overlay, shared evidence analysis with overlap metrics, and KG connectivity comparison. All features functional — tested with 2 and 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":"a694628b-29ea-4eba-83b3-9a06e13c7705","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.804060+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":"3d339a14-6a92-4c13-b126-15e1422cee49","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.787895+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":"f3b9ea7e-a2a5-4528-9697-f6c8271149e9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.773718+00:00","summary":"","completion_summary":"Duplicate. /compare 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":"885635d3-9259-4abc-ab04-20a033c3b472","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.759754+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"23423f3e-2e4c-422b-9e65-3ab4a18d85d6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.745110+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f5348da2-ff15-469a-82d8-b7b9427f355c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.730602+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare. Features: radar chart (Chart.js, 10 dimensions), side-by-side cards with composite/price/evidence, 10-dimension score comparison table with winner highlighting, visual score bars, evidence comparison (supporting + contradicting with PMIDs), verdict summary, hypothesis picker with add/remove, and debate excerpts. Exchange page has checkboxes and compare bar for selecting hypotheses. 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":"eed1ae00-65fb-40a5-a024-dc9dd461e80c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.715020+00:00","summary":"","completion_summary":"Duplicate. 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":"581944a2-901f-43a1-b2f7-e378433f4af1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.699697+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare with: radar charts (10 dimensions), side-by-side cards, score comparison table, evidence comparison (for/against with PubMed links), verdict summary (dimensions won), hypothesis picker, score delta bars, debate excerpts with persona colors, price history overlay chart, shared evidence analysis, and KG connectivity comparison. Exchange page has compare checkboxes and goCompare() flow. All rendering 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":"dd026d87-e831-4396-b0b8-525c611d99ff","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.684361+00:00","summary":"","completion_summary":"Duplicate of afef04d5. Comparison view already exists at /compare with radar charts, scores, evidence side-by-side. Exchange has checkbox selection.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2ea6b65b-8e13-41eb-a95c-7fdb0a2014d9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.669164+00:00","summary":"","completion_summary":"Verified: /compare already has full hypothesis comparison view — radar chart (Chart.js) comparing 10 scoring dimensions, side-by-side score tables, evidence comparison, and debate excerpts. Supports 2-3 hypotheses via ?ids= parameter. Landing page shows top hypotheses for easy selection.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"afef04d5-25f4-4bc2-8522-4ca3d38d242e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.653917+00:00","summary":"","completion_summary":"Hypothesis comparison view fully implemented. /compare page (67KB with hypotheses) shows side-by-side radar charts, scores, and evidence. Exchange page has checkbox selection (up to 3), compare bar with preview, and link to /compare tool. 20+ chart/score/evidence references on comparison 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":"21c83ee6-acf8-4503-977e-6f20eb622066","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.638507+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6915c579-4ab4-4e2c-af80-5fa3314000f2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.623701+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare (line 8438 in api.py). Exchange page has checkbox selection for 2-3 hypotheses with compare button. Compare page includes: radar charts (Chart.js), evidence comparison, scores, debate excerpts, side-by-side layout. 67KB rendered page. 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":"220e3e75-1051-44de-a559-b2ca376e06c2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.608889+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"31438cf7-d36b-4d50-9252-5bbc341e6f77","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.595088+00:00","summary":"","completion_summary":"Already complete: /compare page exists with radar charts, score breakdowns, evidence comparison, debate excerpts, price history overlay, shared evidence, and KG comparison. Tested with 2 hypotheses — renders all 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":"8004fbef-5f33-4929-8393-b66e9ec010c5","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.581382+00:00","summary":"","completion_summary":"Duplicate. /compare 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":"02ecac1b-b84e-4af9-a278-04f6071bd64f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.564947+00:00","summary":"","completion_summary":"Duplicate of 00e6715d. /compare page already exists with side-by-side radar charts, evidence comparison, score bars, debate excerpts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"00e6715d-b7d8-4cbe-8892-5f999a9d5fda","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.551294+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare. Features: side-by-side radar charts, evidence comparison, score bars, debate excerpts. Exchange table has checkbox selection (max 3). The /compare page supports ?ids= parameter. Returns 404 on running server due to stale code but on-disk implementation is 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":"e8bb907f-ceae-446f-b9ad-39592bc931c8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.534101+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare with side-by-side radar charts, evidence, scores, and debate excerpts. Exchange page has compare bar UI for selecting hypotheses. HTTP 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":"70cb2db2-8a64-4ff0-8bba-65470d1f9500","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.520722+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":"7acf3f94-5725-40de-9cf3-5ea94ce6c5b0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.505953+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bf17fc8c-2584-4787-af94-185289e4530c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.490991+00:00","summary":"","completion_summary":"Duplicate/already done.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e2342e2e-e116-46d1-a6cc-d38890e00534","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.476515+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"170d7492-1119-480c-a4d1-6104f2246d3f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.460894+00:00","summary":"","completion_summary":"Already implemented. /compare page (200 OK) allows selecting hypotheses for side-by-side comparison with radar charts, evidence, scores, and debate excerpts. Exchange page has 441 references to compare/comparison functionality.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6229902a-64f9-49d5-be56-3842effc96d2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.443328+00:00","summary":"","completion_summary":"Duplicate task — already verified complete. /compare page has radar charts, side-by-side cards, score comparison table. Exchange has checkbox selection for 2-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":"1644c5a8-eaea-413f-a5e4-73865c9a90d3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.424920+00:00","summary":"","completion_summary":"Already fully implemented: /compare page with radar charts (10 dimensions), side-by-side hypothesis cards (scores, price, evidence counts), score comparison table, and evidence comparison. Exchange page has checkbox selection with compare bar for picking 2-3 hypotheses. Page renders 200 OK.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fa0b9ed8-8536-4e1e-b52a-204a3eb05b3f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.390841+00:00","summary":"","completion_summary":"Verified hypothesis comparison view works end-to-end. Exchange page has compare checkboxes (max 3), floating compare bar with preview, and goCompare links to /compare?ids=. Compare page renders radar chart, side-by-side cards, score comparison bars, evidence sections, debate excerpts, price history overlay, verdict summary, and hypothesis picker — all working at 200 OK. No fixes 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":"ee47dfb7-fa6b-45d5-9f20-5fe04620753f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.375769+00:00","summary":"","completion_summary":"Already complete: /compare page exists (66KB HTML) with radar charts, 10-dimension scoring, evidence for/against, debate excerpts, price history, and hypothesis picker. Exchange page has compare checkboxes (236 references) linking to it.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5d2b4fe6-7e25-4fc7-ace8-8f9c8651ffb8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.358473+00:00","summary":"","completion_summary":"Already fully implemented: Exchange page has hypothesis checkboxes, floating compare bar with preview cards, and /compare endpoint with radar charts, score breakdown tables, evidence comparison, debate excerpts, verdict summary, and hypothesis picker. All 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":"2183ff09-68af-4f55-8250-f87d1e10212d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.341008+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":"f5344cb2-b860-48f3-831b-77e6692649ce","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.325220+00:00","summary":"","completion_summary":"Duplicate of 8b5aad4a already completed. Comparison view fully implemented at /compare with radar charts, side-by-side cards, score comparison table/bars, evidence, verdict summary, hypothesis picker, and debate excerpts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"32843a15-992e-44d9-ba9f-6996e115d167","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.309933+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":"be681448-0c79-47ab-a546-58e18fc96d6d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.292277+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ed166c86-ece9-4005-965e-37c6deefb213","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.277136+00:00","summary":"","completion_summary":"Duplicate — /compare page already built with radar charts and side-by-side comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"48df3414-e35e-4be8-983c-5b45002952ee","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.263690+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":"378ab047-9db7-4584-a8f6-4115dc1e06d7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.248779+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bb066a60-3c06-4311-bd54-b3baaeb6e9c0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.234420+00:00","summary":"","completion_summary":"Hypothesis comparison already built at /compare. Supports selecting 2+ hypotheses via ?ids= parameter. Shows side-by-side radar charts, score dimensions, evidence comparison. 19KB empty, 51KB with data. Exchange page already has compare checkboxes linking to this 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":"8b5aad4a-a0ee-4e55-b7ad-36cdc93d7167","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.220181+00:00","summary":"","completion_summary":"Comparison view already fully implemented at /compare. Includes radar charts, side-by-side cards, score comparison table and bars, evidence comparison, verdict summary, hypothesis picker, and debate excerpts. Page loads correctly (200) with actual hypothesis 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":"0a4ac084-26bf-4624-9f4d-f390d00daf1b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.202657+00:00","summary":"","completion_summary":"Already implemented. /compare page has: radar charts (10 dimensions), side-by-side hypothesis cards with scores/evidence counts, score comparison table with winner highlighting, evidence comparison (supporting + contradicting), and verdict summary. Exchange page has checkboxes for selecting 2-3 hypotheses with compare bar. Both /compare and /compare?ids=... 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":"dba1afd5-fb2b-4985-8109-4abc9a0a260b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.187413+00:00","summary":"","completion_summary":"Already fully implemented: /compare route with radar charts (Chart.js 10-dim overlay), score comparison table + bars + verdict, evidence for/against with PMID links, debate excerpts (4 personas), price history overlay, shared evidence analysis, KG comparison. Exchange page has checkbox selection UI with fixed bottom bar, max 3 hypotheses, and 'Compare Side-by-Side' 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":"76f11b1f-674f-44f5-a437-4df53a938913","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.173600+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":"0a933923-031c-4eae-8196-f86afe945f02","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.158811+00:00","summary":"","completion_summary":"Task already fully implemented. Exchange page has checkbox selection UI with floating compare bar for picking 2-3 hypotheses. /compare page renders: radar chart (10 dimensions), side-by-side score cards, score breakdown table + visual bars, verdict summary, evidence for/against, shared evidence analysis, debate excerpts, price history overlay chart, KG connectivity comparison, hypothesis picker (add/remove), and copy link 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":"96d3886a-d8d4-4500-8bbd-0b1f488ef266","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.145006+00:00","summary":"","completion_summary":"Already implemented: /compare endpoint with radar charts (Chart.js, 10 dimensions), side-by-side cards, score bars, score breakdown table, evidence for/against, debate excerpts, price history overlay, shared evidence analysis, KG connectivity comparison, verdict summary, hypothesis picker, and shareable links. Exchange page has compare checkboxes and sticky comparison bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f0228ade-a179-42e2-9bd8-682ca161d0a1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.131934+00:00","summary":"","completion_summary":"Feature already fully implemented. Exchange page has checkboxes for selecting 2-3 hypotheses with floating compare bar. /compare route renders side-by-side view with radar charts (10 dimensions), score tables, evidence comparison, debate excerpts, price history overlay, shared evidence analysis, KG comparison, and hypothesis picker. All pages verified returning 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":"ba160bf2-a013-4c39-b638-1ea78d15a231","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.118277+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented: Exchange page has checkbox selection UI with compare bar, navigates to /compare?ids= page with 10-dimension radar charts, side-by-side score tables, evidence comparison, debate excerpts, price history overlay, shared evidence analysis, and KG connectivity comparison. Supports 2-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":"c77cc45f-76ce-463a-92f3-3c59b8e862db","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.104612+00:00","summary":"","completion_summary":"Compare view fully implemented at /compare?ids=. Features: Chart.js radar chart comparing 10 dimensions, score comparison bars, verdict summary (dimensions won), evidence section (supporting/contradicting), debate excerpts with persona quotes. Exchange page has checkboxes on each row with toggleCompare() and compare bar. Add/remove hypothesis dropdown 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":"2fd5edf7-0b63-4309-91d5-220db7d9eb53","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.091663+00:00","summary":"","completion_summary":"Already implemented. Exchange page has comparison checkboxes on all hypothesis rows with a fixed comparison bar (select up to 3). /compare?ids= route at api.py:8044 renders full side-by-side comparison with: radar charts (10 dimensions), score comparison table with highlights, evidence for/against, verdict summary, price history overlay, shared evidence analysis, KG connectivity comparison, and debate excerpts color-coded by persona. Verified working live at scidex.ai.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d1de897a-0d3f-4c4c-bd15-86c55ba8571c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.078189+00:00","summary":"","completion_summary":"Comparison view already fully implemented at /compare with radar charts (10 dims), side-by-side cards, score comparison bars, evidence sections (for/against with PMIDs), debate excerpts, verdict summary, price history overlay, and hypothesis picker. Accessible from Exchange checkboxes. Returns 200 with all features rendering.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d66a8250-589d-4826-a467-8c30344e2423","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.063209+00:00","summary":"","completion_summary":"Already implemented: /compare page at api.py:8043 with side-by-side hypothesis comparison. Features: radar charts (10 dimensions), score comparison bars, evidence sections, debate excerpts, verdict summary. Checkboxes on Exchange page for selecting hypotheses. Working with real data (51KB page for 2 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":"09fd47a7-921a-4be6-9b38-0136ca02ef12","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.050516+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare with: radar charts (10 dimensions), side-by-side score tables, evidence comparison, price history overlay, shared evidence analysis, KG connectivity stats, debate excerpts. Exchange page has checkbox selection UI with toggleCompare() and compare bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4be2b8b1-e797-42f5-891e-0735787ece4d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.036879+00:00","summary":"","completion_summary":"Already fully implemented. /compare page exists with side-by-side hypothesis comparison including radar charts, 10-dimension scores, evidence sections, debate excerpts, sparklines. Exchange page has compare checkboxes on all 199 hypothesis rows (204 compare-related elements). Supports 2-3 hypothesis selection via URL params.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"10b4e77b-a53d-4d12-a4c1-3373c4f4e008","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.022168+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare route (api.py lines 8043-8540). Features include: Chart.js radar charts with 10 dimensions, side-by-side score cards, score comparison table with bars, verdict summary (wins per dimension), price history overlay chart, shared evidence analysis with overlap calculation, KG comparison, and debate excerpts. Exchange page has checkbox selection for 2-3 hypotheses with Compare 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":"93a64046-52f9-47ed-a5e5-02aad93f3087","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:32.008463+00:00","summary":"","completion_summary":"Complete — /compare page with radar charts, side-by-side cards, score bars, evidence comparison (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":"7a0f518c-4189-4fd8-9ee1-61999fa5769d","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.994550+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented at /compare with: radar charts (10 dimensions), side-by-side cards, score comparison bars, evidence for/against, verdict summary, debate excerpts, price history overlay, and hypothesis picker. Exchange page has checkboxes to select 2-3 hypotheses. All working (200 OK).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ddd51511-9587-435c-a8bd-5d13ee310912","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.980997+00:00","summary":"","completion_summary":"Already fully implemented — /compare page has radar charts, side-by-side cards, score comparison bars, evidence comparison, verdict summary, debate excerpts, price history overlay, and hypothesis picker. Exchange page has checkboxes for selecting hypotheses to compare.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"db6f9eb5-a0a3-4f5a-b822-8e22b3085728","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.967938+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented on main: /compare route has side-by-side cards, 10-dimension radar chart (Chart.js), score breakdown table, score comparison bars, verdict summary, evidence comparison, debate excerpts, price history overlay chart, shared evidence analysis, KG connectivity comparison, hypothesis picker (add/remove), and share link. Exchange page has 201 checkboxes with floating compare bar. All features working at /compare?ids=...","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff19a7c8-805d-4261-8939-4b7c18294a35","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.955374+00:00","summary":"","completion_summary":"Polished hypothesis comparison view: fixed stale example IDs in empty /compare page (now shows top hypotheses dynamically), added Copy Link share button on compare results, added comparison feature callout with link on Exchange page. Core comparison already had radar charts, score bars, evidence, debate excerpts, price history, shared evidence, KG comparison, and verdict summary.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f4650d83-942f-42f1-bc9e-a6ca0fd91ce3","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.941781+00:00","summary":"","completion_summary":"Feature already fully implemented: Exchange page has compare checkboxes and floating compare bar, /compare route has radar charts, score comparison table, evidence comparison, verdict summary, score delta bars, debate excerpts, and hypothesis add/remove picker. Verified both pages return 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":"17986e54-b4cd-414d-a259-9cd085ff50e2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.926967+00:00","summary":"","completion_summary":"Feature already fully implemented: Exchange page has compare checkboxes on all hypotheses with sticky compare bar; /compare?ids= page renders radar charts (10 dimensions), side-by-side cards, verdict summary, score breakdown table, evidence for/against, and debate excerpts. All 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":"f3f1122e-8fa0-4dd4-a23c-0e93748e5807","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.912967+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented: Exchange has checkboxes for selecting 2-3 hypotheses, sticky compare bar with preview cards, /compare endpoint with radar charts (10 dimensions), score bars, evidence for/against, debate excerpts, verdict summary, and hypothesis picker. Verified working with curl tests.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"311852b1-a3b7-4898-96ef-041c55b08d43","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.898512+00:00","summary":"","completion_summary":"Enhanced /compare hypothesis comparison view with 3 new sections: (1) Price History Overlay chart showing price trajectories over time via Chart.js time scale, (2) Shared Evidence Analysis showing papers cited by multiple hypotheses with overlap percentage and Venn-style metrics, (3) KG Connectivity Comparison showing side-by-side edge counts, top node types, and top relations. The existing compare page already had radar charts, verdict summary, score bars, evidence cards, and debate excerpts — these additions complete the picture.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"431a52ad-acba-4fac-8bcd-4d7c6c5edf77","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.884849+00:00","summary":"","completion_summary":"Already complete: /compare page exists with radar charts, score comparison bars, 10-dimension score breakdown, evidence sections, and debate excerpts. Exchange page has compare checkboxes on each hypothesis row with a compare bar UI. Tested with 2 hypotheses - full side-by-side comparison 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":"d9d33a2f-97f4-422f-8a78-d7fb02702bf9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.870089+00:00","summary":"","completion_summary":"Feature already fully implemented: /compare route with side-by-side cards, 10-dimension radar chart (Chart.js), score breakdown table, score comparison bars, evidence (for/against with PMID links), debate excerpts with persona colors, verdict summary, dynamic add/remove hypothesis picker, max 3 hypotheses. Exchange page has checkbox selection with compare bar. All pages return 200, edge cases handled.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d8563b3b-5d9c-47e0-b188-e8823fbdb220","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.854551+00:00","summary":"","completion_summary":"Enhanced /compare page with price history sparklines, convergence scores, and shared gene/pathway detection. Cards now show price trends with SVG sparklines, convergence confidence indicators (color-coded), and a banner when compared hypotheses share target genes or pathways.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"06c876c5-386f-4211-9e0e-36e24beba2ec","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.838621+00:00","summary":"","completion_summary":"Already complete: /compare page exists at api.py:6916 with radar chart (10 dims via Chart.js), side-by-side cards, score comparison bars, score breakdown table, evidence comparison (for/against with PMIDs), debate excerpts, verdict summary, hypothesis picker, and checkbox selection from Exchange 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":"ee7e57da-a622-42ee-b16b-d638fa5c745b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.825065+00:00","summary":"","completion_summary":"Hypothesis comparison already fully implemented at /compare route. Features: radar chart (10 dimensions), score comparison bars, evidence sections, debate excerpts, verdict summary. Supports 2-3 hypotheses via checkboxes on Exchange page. Verified working with top-scored 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":"09ff6a66-c3ce-4229-895a-3ee5b065de10","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.810923+00:00","summary":"","completion_summary":"Duplicate of task 084d499a already completed. /compare page has 10-dimension radar charts, side-by-side cards, score tables, visual bars, evidence comparison, debate excerpts, verdict summary, and hypothesis picker. Exchange page has checkbox-based compare UI with floating bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"084d499a-d2b4-407c-9d05-a75f1ad764f6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.796151+00:00","summary":"","completion_summary":"Already implemented. /compare page has: 10-dimension radar charts via Chart.js, side-by-side cards (composite score, price, evidence counts), score comparison table with best-in-dimension highlighting, visual score comparison bars, evidence comparison (supporting + contradicting with PMIDs), debate excerpts, verdict summary (dimensions won), and hypothesis picker for add/remove. Exchange page has checkbox compare UI with floating compare bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a9cf54cb-d2f0-4cf4-84e8-8fbf5ff051cc","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.778363+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare with radar charts, score breakdowns, evidence comparison, and debate excerpts. Compare bar on Exchange page selects hypotheses for comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2b3b8f0e-8077-46b5-ae0b-f31eef016e30","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.756736+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists: /compare route (line 6836) with Chart.js radar charts, side-by-side evidence comparison, and debate excerpts. Exchange page has integrated checkboxes on each hypothesis row with toggleCompare() JS and a compare bar UI for selecting 2-3 hypotheses. All working end-to-end (tested with top 3 hypotheses, returns 63KB 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":"8cb57ac2-2e59-4d2f-a763-9d7f95e62dc1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.731961+00:00","summary":"","completion_summary":"Compare view already fully implemented at /compare. Features: radar chart (10 dimensions via Chart.js), side-by-side hypothesis cards with scores/evidence counts, score comparison table with winner highlighting, score delta bars, evidence comparison (supporting + contradicting with PMID links), debate excerpts from debate_sessions, verdict summary showing dimension wins, and hypothesis picker for adding/removing hypotheses. Exchange page links to compare view (236 references). Verified working with real hypothesis IDs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c64afb8c-256c-4d92-8998-4b8a202e6488","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.714605+00:00","summary":"","completion_summary":"Hypothesis comparison view already fully implemented. Exchange page has compare checkboxes (max 3). Clicking 'Compare' redirects to /compare?ids=... which renders radar charts (Chart.js), side-by-side score cards, score comparison table, debate excerpts, and verdict. Verified /compare?ids=h-61196ade,h-4fabd9ce returns 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":"cdc06650-60d1-4bf6-aff5-92e95f8260e8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.695989+00:00","summary":"","completion_summary":"Already verified complete in previous task 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":"366b34fc-976c-4736-be6b-2001dacc8159","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.677278+00:00","summary":"","completion_summary":"Already implemented. /compare route exists at api.py:6732-7050 with: radar chart overlay (10 dimensions, 3 colors), side-by-side hypothesis cards, score breakdown table, evidence comparison (for/against), debate excerpts, verdict summary (per-dimension winner), and hypothesis picker. Exchange page has checkbox selection UI (compare-cb class) with max 3 selection and fixed bottom preview bar. Verified: /compare?ids=h-51e7234f,h-4fabd9ce returns 200 with all 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":"827963d6-b8b0-4e2e-822a-6f48434d4ad0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.658347+00:00","summary":"","completion_summary":"Already implemented. /compare page exists with radar charts (Chart.js 10-dimension comparison), side-by-side score cards, score breakdown table, score comparison bars, evidence for/against with PMIDs, debate excerpts with persona labels, verdict summary (dimension wins), and hypothesis picker (add/remove). Exchange page has compare checkboxes on all 201 rows with sticky compare bar at bottom. All features from task description are present and 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":"eadd89fa-96b5-4a9b-a0b4-a580a9ad0aeb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.640712+00:00","summary":"","completion_summary":"Already implemented at /compare?ids=... page. Supports 2-3 hypotheses side-by-side with Chart.js radar charts, evidence comparison, score tables, and debate excerpts. Exchange page links to comparison view.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0e4721f3-67f5-4774-9fc4-1e925bac3cba","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.624802+00:00","summary":"","completion_summary":"Already implemented: Exchange has compare checkboxes with floating compare bar, /compare page has radar charts, side-by-side cards, score breakdown table, evidence for/against, debate excerpts, verdict summary, and hypothesis picker. 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":"471bdf9a-734b-4d00-ac55-99ffb8b0a231","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.608645+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":"318dfd99-e1ea-4f5a-88eb-9476f6ceb09b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.590699+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":"99627abf-f9fb-4ad6-843a-a053a1355cf4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.573370+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":"046939aa-7e90-4fcf-bdbf-67e561fa037c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.557701+00:00","summary":"","completion_summary":"Duplicate - already verified complete. /compare?ids=X,Y page with radar charts, score breakdowns, evidence, and debate excerpts. Exchange has compare checkboxes.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"13d433a0-c542-4f9c-860b-872326c9116f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.540119+00:00","summary":"","completion_summary":"Already complete. Exchange page has compare checkboxes per hypothesis. /compare?ids=X,Y page shows: side-by-side radar charts (10 dimensions), verdict summaries, score breakdowns, evidence comparison, and debate excerpts. Compare bar with JS selection on Exchange 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":"84153dbd-0dd8-4223-b188-5b5febf6c39b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:31.522088+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":"41bd9577-e8d0-43d6-b400-8d288cfac497","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.872461+00:00","summary":"","completion_summary":"Feature already fully implemented: Exchange page has checkboxes for selecting hypotheses, a floating compare bar with preview cards, and Compare button. /compare?ids= endpoint renders full side-by-side view with radar charts, score bars, evidence comparison, debate excerpts, and verdict summary. All 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":"3f35439b-0ba2-437e-8932-3c5119cab876","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.858971+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":"d4d06a5b-f2d5-4d20-8184-8ad4c30c3ae2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.844149+00:00","summary":"","completion_summary":"Already completed as task 1ac206f0. /compare page has radar charts, evidence comparison, debate excerpts, score table, verdict. Fixed duplicate verdict rendering in worktree-enhance-compare-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":"5d3a1f86-2b5b-4cd4-813b-d80a27d2e9eb","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.829406+00:00","summary":"","completion_summary":"Enhanced hypothesis comparison view: added interactive hypothesis picker (add/remove without leaving page), visual score comparison bars, fixed duplicate verdict display. Pushed 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":"1ac206f0-51b5-441e-a3f5-190d26ce1ec8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.815375+00:00","summary":"","completion_summary":"Comparison page already had all features (radar chart, evidence comparison, debate excerpts, score table, verdict). Fixed duplicate verdict rendering — removed dead first verdict_html block and duplicate template reference.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fdc445b-f5f4-4f99-be4e-1a2ed74c7a0a","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.800591+00:00","summary":"","completion_summary":"Already fully implemented: /compare page with radar charts, side-by-side cards, score breakdowns, evidence comparison, and debate excerpts. Exchange page has checkbox selection and compare button. Spec at docs/planning/specs/ee42db51_exchange_compare_spec.md.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7ed9feb3-a688-4e9d-9474-f73e64515ecf","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.782532+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare?ids=id1,id2,id3. Features: checkboxes on Exchange page to select 2-3 hypotheses, sticky compare bar at bottom, side-by-side view with overlaid radar charts (Chart.js), score comparison table, evidence comparison, and debate excerpts. Verified working with top 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":"541748c7-8cb0-4fe9-b39a-693f8a65f35c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.749266+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05a4eefc-0d25-4894-a4cd-87fe191b7581","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.734993+00:00","summary":"","completion_summary":"Already implemented: Exchange page has hypothesis checkboxes with floating compare bar, and /compare page has Chart.js radar chart (10 dimensions), side-by-side score cards, evidence comparison with PMID links, debate excerpts per persona, and verdict summary.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8958e4f8-f99c-44dd-bd30-d6ab13448b64","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.719199+00:00","summary":"","completion_summary":"Duplicate of d1e2a5af. Already implemented at /compare with radar charts, side-by-side cards, evidence comparison, verdict summary, debate excerpts, and score tables.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d1e2a5af-dc33-4a12-aecd-88461af6fa12","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.704025+00:00","summary":"","completion_summary":"Already implemented. The /compare page has: radar charts (10 dimensions), side-by-side hypothesis cards with scores and prices, evidence comparison (for/against with PMIDs), verdict summary with dimension wins, debate excerpts, and a score comparison table. Accessible via /compare?ids=h-xxx,h-yyy.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"57499963-4712-4e5b-a4ae-9052379473f2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.688000+00:00","summary":"","completion_summary":"Already implemented by another slot: Exchange page has hypothesis checkboxes with floating compare bar, and /compare page has Chart.js radar chart (10 dimensions), side-by-side score cards, evidence comparison with PMID links, debate excerpts per persona, and verdict summary showing dimension wins.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1c0d01a9-d355-465f-a63e-b374565260e4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.671481+00:00","summary":"","completion_summary":"Duplicate. Exchange page exists with comparison capabilities.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e88cf64c-c7ac-4606-887b-f67295b03915","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.654956+00:00","summary":"","completion_summary":"Fixed /compare route — hypothesis_debates JOIN used wrong column name (session_id vs debate_session_id). Compare view was already fully implemented with radar charts, evidence, scores, debate excerpts. API restart needed to apply 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":"3bc7d803-3450-4ded-9fb0-9400728571ce","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.638789+00:00","summary":"","completion_summary":"Already completed in prior session (commit 8a8ac75). Comparison view fully implemented: Exchange checkboxes, floating compare bar, /compare endpoint with radar charts, verdict summary, key differences, score breakdown, evidence, and debate excerpts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b78c104-3ee3-4989-8bab-6723dcfd8149","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.623506+00:00","summary":"","completion_summary":"Already fully implemented: Exchange page has compare checkboxes (max 3), sticky compare bar with preview, and /compare?ids= page with radar chart (10 dimensions via Chart.js), side-by-side cards (scores, prices, evidence counts), verdict summary (dimension wins), score breakdown table, evidence comparison (for/against with PMIDs), and debate excerpts. All verified 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":"68149f09-372e-4b0d-b620-8a6c0e134b8b","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.608989+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":"8f425959-3f8e-408d-ad17-aa24a5bc0bf1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.594468+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":"a44db2b7-efa8-432d-b022-c78e9b3439e4","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.580175+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare with checkbox selection (2-3 hypotheses) on Exchange page. Shows radar chart (10 dimensions), score breakdown, evidence comparison, and debate excerpts side-by-side. All working and returning 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":"8f94d520-fd37-4488-816e-5c9bc490ec86","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.566261+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":"3fa55562-af54-4211-8d26-8335b16fcba7","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.552380+00:00","summary":"","completion_summary":"Comparison view already exists at /compare with radar charts, evidence (11 refs), scores, debate excerpts, and side-by-side layout. Exchange page has checkbox selection UI that redirects to /compare?ids=. Verified with real data (30KB response, 200 OK).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f7d6e6c3-b37b-4678-b1c3-5caea66a2865","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.539104+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":"87fcc5b3-d057-4e35-96c6-64e542aeca30","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.525436+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":"ddc23fee-2fa2-4131-b54e-25ee79ac14c6","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.511352+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":"e60c7591-0d6e-488f-8a42-099df1d5e25c","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.497431+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":"9f8ad806-c690-4210-9e41-4d0a7017118f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.481153+00:00","summary":"","completion_summary":"Enhanced /compare page with: price history sparklines in comparison cards, Key Differences section showing top 5 most-divergent dimensions with bar charts, strengths/weaknesses per hypothesis in verdict summary, and fixed debate lookup to use hypothesis_debates junction table with analysis_id fallback. Score change deltas shown when debate junction has before/after 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":"e1cfcabe-03e4-49f1-9f1f-7f82d3239754","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.466133+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":"d49328be-1e50-4969-a499-12fe6e75e780","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.451958+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":"7a275157-ed25-462a-9071-bb738ade052f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.438891+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":"f73118eb-0539-405d-b48b-60e299b5faf8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.425571+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":"a51d717e-6e1d-4f45-a59b-813961c11415","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.412638+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f0c6687d-1023-4ef8-a9fb-4c52f9a4cc39","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.399375+00:00","summary":"","completion_summary":"Already implemented in commits 779228c and earlier. Hypothesis comparison panel with quick-preview tray, verdict summary, pathway diagrams, insights, and sharing already live on /exchange.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"83d97e01-d543-4de3-8001-39626964ab25","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.386189+00:00","summary":"","completion_summary":"Verified: /compare page already exists with side-by-side radar charts, evidence, scores comparison.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b0b2289a-4b13-46c1-8fa0-79bdd5dac654","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.372734+00:00","summary":"","completion_summary":"Already implemented: Exchange page has compare checkboxes (max 3), sticky compare bar with JS logic, and /compare endpoint with radar charts (10 dimensions), score breakdown table, evidence comparison, debate excerpts, key insights, and key differences. Verified: /compare?ids=h-019ad538,h-044ee057,h-05b8894a returns 200. Exchange page has 161 compare-related elements. 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":"54171002-366d-45e8-b58b-0544da919fa8","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.358791+00:00","summary":"","completion_summary":"Already fully implemented at /compare?ids=... — has side-by-side cards, Chart.js radar overlay, score breakdown table, evidence comparison with PubMed links, and debate excerpts. Exchange page has checkbox UI with compare bar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c527c477-2f52-4d39-87c7-9222736780c2","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.345129+00:00","summary":"","completion_summary":"Enhanced /compare page with Key Insights section (leader + per-hypothesis dimension wins), Key Differences section (top 5 score spreads with visual bars), Copy Link + Print buttons, and print-friendly CSS. Branch: worktree-add-hypothesis-comparison","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a5a9dd17-5dbf-44f5-a825-6128c05b194e","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.329786+00:00","summary":"","completion_summary":"Already implemented — /compare page exists with Chart.js radar chart overlay, score breakdown table, evidence comparison, debate excerpts. Exchange page has checkbox selection with compare bar for selecting 2-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":"27a8a74e-ebb7-4868-98a4-24e6d990d6cd","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.315310+00:00","summary":"","completion_summary":"Already implemented — /compare page exists with: side-by-side cards, Chart.js radar chart overlay, score breakdown table, evidence comparison, debate excerpts. Exchange page has checkbox selection with compare bar for selecting 2-3 hypotheses. 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":"e8b26a60-d610-4483-b581-b028a77c44a9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.300901+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0148e302-7a29-4f68-8375-e7321ea459ef","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.286817+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":"16778816-5ed6-4fbd-91b7-6afe1ae412be","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.271724+00:00","summary":"","completion_summary":"Already implemented: Exchange page has checkbox selection for 2-3 hypotheses with sticky compare bar, /compare page shows radar charts (10 dimensions), score breakdown table, evidence comparison with PubMed links, and debate excerpts. Both 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":"3a09aca1-9b04-4d3b-a61d-05698f5c23b0","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.257183+00:00","summary":"","completion_summary":"Hypothesis comparison view already exists at /compare with: checkboxes on /exchange page for selecting 2-3 hypotheses, side-by-side comparison, radar chart overlay of 10 dimensions, score tables. Returns 200. No 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":"dd3c47c5-2601-4f79-bf98-97d9d79e9a7f","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.242970+00:00","summary":"","completion_summary":"Already implemented: /compare route with radar charts (Chart.js, 10 dimensions), side-by-side cards, score breakdown table, evidence comparison, debate excerpts. Exchange page has checkbox selection + floating compare bar for up to 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":"fe21fbc7-587e-4db7-be87-1e49bbfc3e73","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.228089+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"006da53b-d955-4ccf-83d4-ffd7fdc518ae","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.214366+00:00","summary":"","completion_summary":"Duplicate of 292d2d91. Already implemented: /compare endpoint provides full side-by-side radar chart, score breakdown, evidence, and debate comparison for 2-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":"292d2d91-d9b8-4c27-a2c2-f59b2673f9b1","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.200272+00:00","summary":"","completion_summary":"Already implemented. /compare endpoint (api.py:5339-5559) provides full side-by-side view with: 10-dimension radar chart overlay, score breakdown table with best-value highlighting, evidence comparison (for/against), debate excerpts. Exchange page has checkbox selection UI (up to 3) with floating compare bar. Verified working with 200 response and 34KB HTML 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":"5aebca1c-ced7-4f9b-9067-ac93d3cbfbd9","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.185465+00:00","summary":"","completion_summary":"Already implemented. The Exchange page has compare checkboxes on each hypothesis card, a compare bar showing selected items, and a Compare button that links to /compare?ids=... The /compare page renders side-by-side radar charts, scores, evidence, and debate excerpts. Verified both pages load 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":"7f51a77a-1263-4a7b-8292-b901994ef697","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.171851+00:00","summary":"","completion_summary":"Exchange page has hypothesis comparison features.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7d397d99-c26b-44c9-a2de-bb105917dfe5","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.158483+00:00","summary":"","completion_summary":"Feature already fully implemented. Exchange page has checkbox selection for up to 3 hypotheses with a fixed compare bar. /compare page renders side-by-side with 10-dimension radar charts (Chart.js), score breakdown table, evidence comparison with PubMed links, and debate excerpts with persona coloring. All verified working at /compare?ids=h-e12109e3,h-d2df6eaf,h-5dbfd3aa.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"40ed8eda-d989-4c5f-b35a-e9dd8546b844","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.144761+00:00","summary":"","completion_summary":"Enhanced /compare page with: (1) Winner summary section showing which hypothesis leads in most dimensions with LEADER badge, (2) Inline bar chart visualization in score breakdown table cells, (3) Price history overlay line chart comparing price trends over time, (4) Clinical trials comparison section showing trials per hypothesis. Branch: worktree-hyp-comparison-view","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a164dc6d-1159-4327-8128-4c5b7bd1b420","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.","status":"archived","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.131633+00:00","summary":"","completion_summary":"Fixed 500 error on /compare page (double-braced dict syntax in f-string causing unhashable type error). Added evidence comparison section showing supporting/contradicting papers with PubMed links. Comparison view now has: side-by-side cards, radar chart, score breakdown, evidence details, and debate excerpts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f38b1b34-9df1-4ae1-814d-fdeecdc1aec6","title":"[UI] Harden link checker against transient API restart cascades","description":"Reduce false broken links and runtime blowups when scidex-api restarts mid-crawl by adding outage-aware retry behavior and clear reporting.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:44:43.750205+00:00","updated_at":"2026-04-19T04:44:43.750205+00:00","summary":"","completion_summary":"Already resolved: bc490b64d. link_checker.py has full transient-outage hardening (is_transient_outage, reconcile_transient_failures, suppress_transient_http0_noise) wired into main loop; all acceptance criteria met on origin/main.","completion_notes":"Hardening already present on main. Evidence: is_transient_outage() at line 528, reconcile_transient_failures() at line 573, suppress_transient_http0_noise() at line 766, generate_report() includes transient_outage_count at line 1218, and main loop wires all three at lines 1293/1325. Code inspection and syntax check confirms all acceptance criteria met. Commit bc490b64d landed the fix.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f38b1b34_9df_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: bc490b64d. link_checker.py has full transient-outage hardening (is_transient_outage, reconcile_transient_failures, suppress_transient_http0_noise) wired into main loop; all acceptance criteria met on origin/main.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"64c4130e-9c6b-44f8-b26e-19e5b997dde5","title":"[UI] Fix artifact version history None crash and cache corruption recovery","description":"Fix two bugs: (1) artifact_detail crashes with AttributeError when version_tag/changelog are null in DB, (2) page_cache.db corruption silently fails without recovery. Fix: null coalescing for version history fields, _init_disk_cache deletes and recreates corrupt DB file.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:34:57.192009+00:00","updated_at":"2026-04-19T04:34:57.192009+00:00","summary":"","completion_summary":"Already resolved: fixes landed in origin/main commit 15c1dc260","completion_notes":"Both fixes are already present on origin/main (commit 15c1dc260). api.py has null-coalescing (`v.get('field') or ''`) and cache.py has corrupt DB recovery. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/64c4130e_9c6_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"164a3c5a-9479-4f31-8ae0-326384af322e","title":"[UI] Fix /notebooks route: add missing tags and is_spotlight columns","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:33:30.831036+00:00","updated_at":"2026-04-19T04:33:30.831036+00:00","summary":"","completion_summary":"Already resolved: fix already on main via migration 047_add_notebooks_spotlight_and_tags_columns.py (700e194d0). api.py queries both is_spotlight (line 49645) and tags (lines 49624, 49628) columns.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/164a3c5a_947_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"935d3ab5-8319-46bb-ac10-b24a33ec849c","title":"[UI] Make Mermaid diagrams pan by drag at native size","description":"Update shared Mermaid rendering so pathway diagrams render at normal intrinsic size inside a bounded viewport and can be inspected by click-drag panning across hypothesis, analysis, and wiki pages.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:31:14.193851+00:00","updated_at":"2026-04-19T04:31:14.193851+00:00","summary":"","completion_summary":"Already resolved: site/mermaid-pan.js exists (256 lines), CSS .mermaid-preview/.mermaid-lightbox* classes in style.css, /mermaid-pan.js route in api.py, SciDexMermaid.renderAll() calls in hypothesis/analysis/wiki/entity pages [task:935d3ab5-8319-46bb-ac10-b24a33ec849c]","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/935d3ab5_831_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5, \"analysis\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"bd3b63bd8\"], \"completion_shas_checked_at\": \"2026-04-19T04:31:14.174507+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified origin/main at 82b308a3c: site/mermaid-pan.js serves functional mermaid pan/zoom; style.css has .mermaid-preview/.mermaid-lightbox* at lines 1651-1721; api.py:35067-35068, 38756-38759, 52364, 54091, 54396, 57730, 65652 include /mermaid-pan.js and SciDexMermaid.renderAll() on hypothesis, analysis, wiki, entity pages. Acceptance criteria satisfied.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2904cc7b-c6f5-443c-8e17-be2298217255","title":"[UI] Add hypothesis comparison view to Exchange","description":"Allow selecting 2-3 hypotheses to compare side-by-side: radar charts, evidence, scores, debate excerpts.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:19:05.433522+00:00","updated_at":"2026-04-19T04:19:05.433522+00:00","summary":"","completion_summary":"Already addressed: /compare route fully implemented at api.py:31182 with radar charts, evidence comparison, debate excerpts, price history overlay, and interactive hypothesis picker. Linked from Exchange page. Feature landed on main via commits 6bdea2afd, 8a34099f7, 9ab5dde54, bef77697a.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2904cc7b-c6f_ui_add_hypothesis_comparison_view_to_ex_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6c4a33ec-cebb-486c-8369-e14afbcf8459","title":"[UI] Fix /experiments 500 error: html module UnboundLocalError","description":"The /experiments page returns 500 due to UnboundLocalError on html module in the running server. The on-disk code appears correct but the running server has a stale version. Need to verify on-disk code is clean and ensure next restart resolves the issue. Also check for any html variable shadowing in the experiments_listing function.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:14:33.482169+00:00","updated_at":"2026-04-19T04:14:33.482169+00:00","summary":"","completion_summary":"Verify /experiments 500 error fix already on main: page_html variable used, no html shadowing, api.py compiles cleanly. No code changes needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/6c4a33ec_ceb_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5012fd03-aa38-46b1-921a-175590291f01","title":"[UI] Add /api/experiments JSON endpoint with pagination and filtering","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:10:46.759031+00:00","updated_at":"2026-04-19T04:10:46.759031+00:00","summary":"","completion_summary":"[Verify] /api/experiments already on main — duplicate task [task:5012fd03-aa38-46b1-921a-175590291f01]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5012fd03_aa3_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"83b3ba921\"], \"completion_shas_checked_at\": \"2026-04-16T20:40:24.733906+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d5cd9059-26fb-4642-aa7f-92f5ce4943ce","title":"[UI] Add /forge/pubmed-pipeline HTML page for PubMed evidence pipeline","description":"Create HTML page for /forge/pubmed-pipeline that shows PubMed pipeline status, recent runs, and trigger button. Currently linked from sidebar but returns 404.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:05:24.571780+00:00","updated_at":"2026-04-19T04:05:24.571780+00:00","summary":"","completion_summary":"Already resolved: 1f623c757. Page /forge/pubmed-pipeline returns 200, trigger button present on origin/main lines 48481-48509","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d5cd9059_26f_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 1f623c757. Page /forge/pubmed-pipeline returns 200, trigger button present on origin/main lines 48481-48509","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ed34d52-d413-4a0c-8518-96801235c9d4","title":"[UI] Add 500 error handler with traceback display and fix stale cache issues","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:04:04.611713+00:00","updated_at":"2026-04-19T04:04:04.611713+00:00","summary":"","completion_summary":"[Verify] 500 error handler + stale cache — already resolved [task:5ed34d52-d413-4a0c-8518-96801235c9d4]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5ed34d52_d41_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a266c543-c42e-4a53-941e-fed8c594dec7","title":"[UI] Add missing type colors to nav search dropdown (notebook, debate, gap)","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T04:02:48.387011+00:00","updated_at":"2026-04-19T04:02:48.387011+00:00","summary":"","completion_summary":"[Verify] Colors already present — no code changes needed [task:a266c543-c42e-4a53-941e-fed8c594dec7]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a266c543_c42_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: colors for debate/gap/notebook already present in api_shared/nav.py (line 414). Confirmed via git diff origin/main -- api_shared/nav.py returns empty.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2a172292-fe0f-4101-898d-647717aebc1c","title":"[UI] Fix site-wide broken links and 404 pages","description":"Run link_checker.py to identify all broken links across the site, then fix routing issues in api.py and broken href references in templates. This improves demo quality by ensuring every page is navigable.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:58:32.628470+00:00","updated_at":"2026-04-19T03:58:32.628470+00:00","summary":"","completion_summary":"Already resolved: 0b843670a. Prior investigation confirmed zero broken internal links after crawling 1119 pages; no code changes needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2a172292_fe0_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0fb66e79-45ed-4121-af46-180ba7d9d3cd","title":"[UI] CI: Smoke-test all pages and fix any broken links or 500s","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:57:19.521564+00:00","updated_at":"2026-04-19T03:57:19.521564+00:00","summary":"","completion_summary":"FAIL — server offline; prior verification showed 10/33 pages 500 due to DB corruption","completion_notes":"Verification evidence: API server offline (all pages return 000/connection refused). Prior run on Apr 17 showed PARTIAL with 10/33 pages 500ing due to DB corruption. Commit 9c50afa9f records current state. Cannot push - git credentials unavailable from this sandbox.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0fb66e79_45e_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"fail","verification_notes":"Server offline; Apr 17 smoke test showed PARTIAL result (10/33 pages 500 due to scidex.db corruption). All pages currently return 000 (connection refused). Worktree at commit 9c50afa9f.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05c938c1-14ab-4c66-bdeb-1d74ec4478e7","title":"[UI] Add page caching to slow entity and wiki pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:52:45.610985+00:00","updated_at":"2026-04-19T03:52:45.610985+00:00","summary":"","completion_summary":"Page caching already in main via commits 9304f013ac (entity) and 700e194d0 (wiki); py_compile passes","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/05c938c1_14a_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"completion_shas\": [\"6489a64401a8527850cc5b9798e5499a1a21a140\"], \"completion_shas_checked_at\": \"2026-04-16T20:24:04.539489+00:00\", \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"81bd94ac-1aaa-4d29-b6ec-5d5510e60eaf","title":"[UI] Add /experiments listing page with search and filtering","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:46:37.058785+00:00","updated_at":"2026-04-19T03:46:37.058785+00:00","summary":"","completion_summary":"[UI] Fix SQLite placeholder %s → ? in /experiments listing query [task:81bd94ac-1aaa-4d29-b6ec-5d5510e60eaf]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/81bd94ac_1aa_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5104ec7f-6a64-43b0-b222-9ca312ad2b68","title":"[UI] Add /api/experiments JSON endpoint and include experiments in search results","description":"Add /api/experiments JSON endpoint with pagination and filtering (type, disease, status). Also add experiments to the /api/search results so they appear in unified search. 188 experiments exist but have no API access.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:43:41.161430+00:00","updated_at":"2026-04-19T03:43:41.161430+00:00","summary":"","completion_summary":"Task verified already resolved: /api/experiments endpoint exists on main at line 10013 with pagination/filtering, and experiments are included in /api/search at lines 14000-14015. Original work via commit 51a81098b. Only a spec work log update was needed.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/5104ec7f_6a6_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ff9db36b-df93-40cf-b29d-12432875fef1","title":"[UI] Fix health endpoint — replace missing knowledge_nodes table with canonical_entities","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:38:58.461879+00:00","updated_at":"2026-04-19T03:38:58.461879+00:00","summary":"","completion_summary":"Already resolved: 84e687f39fc4bc943b74dbc2b00c62abd6ed1e53. Health endpoint uses canonical_entities (not knowledge_nodes). curl http://localhost:8000/api/health returns healthy status.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ff9db36b_df9_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: 84e687f39fc4bc943b74dbc2b00c62abd6ed1e53. Health endpoint uses canonical_entities (not knowledge_nodes). curl http://localhost:8000/api/health returns healthy status.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"db5bc3f7-1c3f-403a-a0dc-d4b7cb385006","title":"[UI] Add /papers listing page — browse 2374 scientific papers","description":"Create a /papers page to browse all 2374 papers in the SciDEX database. Show title, authors, journal, year, citation count, and link to hypothesis connections. Support search, sort by citations/year, and pagination. This completes the Atlas layer navigation.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:37:06.118830+00:00","updated_at":"2026-04-19T03:37:06.118830+00:00","summary":"","completion_summary":"Already resolved: /papers page was added to main via commit ae601ae71. Verified live at localhost:8000/papers — search, sort, filter, pagination all functional. Route confirmed at api.py:65973 on origin/main. Updated spec with verification evidence.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/db5bc3f7_1c3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"e57b831ba\"], \"completion_shas_checked_at\": \"2026-04-19T03:37:06.100207+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: /papers page was added to main via commit ae601ae71. Verified live at localhost:8000/papers — search, sort, filter, pagination all functional. Route confirmed at api.py:65973 on origin/main. Updated spec with verification evidence.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fc48c61d-8061-46aa-b85e-3fe39fbdc998","title":"[UI] Add /status to sidebar navigation under Operations","description":"Add /status link to sidebar nav Operations group\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:36:27.599018+00:00","updated_at":"2026-04-19T03:36:27.599018+00:00","summary":"","completion_summary":"Already addressed: /status link already exists in sidebar under System group (added in modularization commit 10b333a2d on 2026-04-16). curl localhost:8000/status returns 200.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/fc48c61d_806_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4389919c-b605-4057-9dfa-48e064113a0c","title":"[UI] Add /experiments listing page for 188 experiments","description":"Individual experiment detail pages exist but there is no /experiments listing page. Visitors cannot discover experiments without going through the exchange. Add a listing page similar to /analyses/ with filtering.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:28:55.486725+00:00","updated_at":"2026-04-19T03:28:55.486725+00:00","summary":"","completion_summary":"Already resolved on main: /experiments returns HTTP 200, /api/experiments JSON API works with 632 experiments","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/4389919c_b60_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2911d59b-19f7-4e9a-af46-6199cdf3e391","title":"[UI] Remove duplicate lowercase analyses that have no content","description":"There are duplicate analyses in the DB with lowercase IDs (e.g., sda-2026-04-01-gap-004) that mirror uppercase ones (SDA-2026-04-01-gap-004). The lowercase ones have 0 hypotheses and 0 debates. They clutter the /analyses/ page. Remove or hide the empty lowercase duplicates.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:21:55.663010+00:00","updated_at":"2026-04-19T03:21:55.663010+00:00","summary":"","completion_summary":"Already resolved: filter + 1 delete committed by prior agents (145343741). DB now has 0 truly empty all-lowercase sda- analyses.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/2911d59b_19f_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: filter + 1 delete committed by prior agents (145343741). DB now has 0 truly empty all-lowercase sda- analyses.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4d6dc15f-8f53-4990-a6b7-8ad29e58052f","title":"[UI] Fix 404 on /agora route and verify all main navigation pages","description":"The /agora page returns 404. This is a core navigation page for the Agora debate layer. Investigate and fix. Verify all 5 layer pages render.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:20:57.012655+00:00","updated_at":"2026-04-19T03:20:57.012655+00:00","summary":"","completion_summary":"[Verify] /agora route fix — PASS [task:4d6dc15f-8f53-4990-a6b7-8ad29e58052f]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/4d6dc15f_8f5_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"[Verify] /agora route fix — PASS [task:4d6dc15f-8f53-4990-a6b7-8ad29e58052f]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7d688f0f-d47a-414d-80f7-4e67de04b1df","title":"[UI] Fix link checker creating false P90+ tasks for transient 502s","description":"Link checker creates many P90+ tasks for 502 errors during service restarts. Per AGENTS.md: NEVER create P90+ bug tasks for 502 errors - they're transient. Fix: Add retry logic for 502s (wait 2min, retest), filter transient ones, cap 502 priority at 80.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:19:16.665974+00:00","updated_at":"2026-04-19T03:19:16.665974+00:00","summary":"","completion_summary":"Already resolved on origin/main. 502 retry logic, transient filtering, and priority capping (max 60) all confirmed in link_checker.py lines 43, 402-410, 893, 939, 1167-1171.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7d688f0f_d47_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 5}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4cbdc22a-abc7-4fbd-a605-51dd66a987b1","title":"[UI] Add /quests and /resources links to main navigation on all pages","description":"Update nav_html() in api.py to include links to /quests (Mission Control) and /resources (Resource Costs) in the navigation bar. These should be visible on every page. Coordinate with Quest 10 UI tasks for consistent nav design.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":85,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T03:00:06.691846+00:00","updated_at":"2026-04-19T03:00:06.691846+00:00","summary":"","completion_summary":"Already addressed: Navigation links for /quests and /resources were already present in nav_html() in api_shared/nav.py and post_process.py. Verified by curl that both links render on pages. Original task commit was on orphan branch (cf8a966 not found). Commit added verification note to spec.","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":"700f48d0-91c7-4377-9690-38696030c9bc","title":"[UI] Show commit metadata from commit hash links","description":"Improve commit hash links on quest and related pages so clicking or hovering reveals commit message and pertinent metadata instead of only the raw hash.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:10:16.194985+00:00","updated_at":"2026-04-19T05:10:16.194985+00:00","summary":"","completion_summary":"Already resolved: feature landed on ba324f9e0. Quest/task pages render commit hashes as interactive data-commit-hash buttons bound to /api/commit/{hash} with modal viewer.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/700f48d0_91c_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: feature landed on ba324f9e0. Quest/task pages render commit hashes as interactive data-commit-hash buttons bound to /api/commit/{hash} with modal viewer.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"56261b62-19cf-4ad8-ac86-f2bb49cc42c4","title":"[UI] Add /wiki endpoint for browsing imported NeuroWiki pages","description":"Create /wiki and /wiki/{slug} endpoints. /wiki shows a browsable index of all imported wiki pages grouped by type (genes, proteins, mechanisms, therapeutics). /wiki/{slug} renders the markdown content with SciDEX styling, KG sidebar, and related hypotheses.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":84,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:07:38.601784+00:00","updated_at":"2026-04-19T05:07:38.601784+00:00","summary":"","completion_summary":"Already resolved: /wiki index at api.py:50445, /wiki/{slug} detail at api.py:53672","completion_notes":"Verification confirms /wiki endpoints already exist on origin/main at api.py:50445 (wiki_index) and api.py:53672 (wiki_page with KG sidebar). No code changes needed - task was already implemented prior to this task ID being created.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"48c796bbf\"], \"completion_shas_checked_at\": \"2026-04-19T05:07:38.584963+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ebc6e76d-18d0-4d2b-af99-bf87771e7dec","title":"[UI] Knowledge graph visualization: verify /graph page renders and shows connected entities for top 5 diseases","description":"Audit and fix the knowledge graph visualization page to ensure it renders connected entities for the most important diseases.\n\nSteps:\n1. Check /graph page: `curl -s 'http://localhost:8000/graph'` — does it return HTTP 200?\n2. Check /api/kg endpoint: `curl -s 'http://localhost:8000/api/kg?disease=parkinson'` — are edges returned?\n3. For each of the top 5 diseases (Parkinson's, Alzheimer's, ALS, Huntington's, FTD):\n   - Verify the graph shows >= 10 connected entities\n   - Check that edges are labeled with relationship types\n4. If graph is broken or shows too few nodes:\n   - Check kg_edges count: only 2224 total for 17K+ wiki pages is very low\n   - Ensure graph API returns all relevant edges, not just a truncated set\n   - Fix any rendering issues in the graph page\n5. If graph data is thin, add 50+ edges for the most common PD/AD pathways\n\nAcceptance criteria:\n- /graph page returns HTTP 200 and renders without JS errors\n- Each of 5 diseases has >= 10 visible nodes in the graph\n- At least 50 edges visible per disease view\n- Edge relationship types are labeled on the graph","status":"done","priority":83,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T05:58:28.710454+00:00","updated_at":"2026-04-28T05:58:28.710454+00:00","summary":"","completion_summary":"[Verify] Knowledge graph visualization — PASS [task:ebc6e76d-18d0-4d2b-af99-bf87771e7dec]","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":"[Verify] Knowledge graph visualization — PASS [task:ebc6e76d-18d0-4d2b-af99-bf87771e7dec]","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"68432c89-301c-4d8b-906d-9b2de8a24d55","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T03:00:24.323233+00:00","updated_at":"2026-04-26T03:00:24.323233+00:00","summary":"","completion_summary":"[UI] Mobile responsive: add explicit repeat(4,1fr) CSS selectors and replace remaining hardcoded 4-col grids with auto-fit [task:68432c89-301c-4d8b-906d-9b2de8a24d55]","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":"c3f6ceec-1b45-4f38-bbbc-77722f18da45","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.159585+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":"1ba0c681-f92c-4ae2-8094-9014a37ad792","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.145372+00:00","summary":"","completion_summary":"Already verified/completed 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":"29a336b4-a03d-4db1-9faf-7fce0ad76222","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.131840+00:00","summary":"","completion_summary":"Duplicate. Mobile responsive done: hamburger nav, @media queries, overflow-x tables.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"103f576e-406f-4c1c-970b-0f7b37150c14","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.117199+00:00","summary":"","completion_summary":"Mobile responsive already implemented. Nav has hamburger button + sidebar overlay for mobile (768px breakpoint). 33 @media queries, 80 overflow-x:auto table wrappers, 48 viewport meta tags. Grids collapse from 5/4 columns to 2 on mobile. Search bar goes full-width. All pages have responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e8b43983-cb1e-4e22-b092-0317db35bc12","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.102223+00:00","summary":"","completion_summary":"Already fully implemented. 46 @media queries, 403 responsive CSS patterns across api.py. Breakpoints at 1100px, 768px, 480px. Multiple dedicated commits for mobile responsiveness including card stacking, table horizontal scroll, sidebar collapse, flex-wrap, and grid layouts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fe33b42-c015-46e7-8532-4bf79c896b81","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.088226+00:00","summary":"","completion_summary":"Already implemented. All main pages have responsive CSS: 4-6 @media queries per page (768px/480px breakpoints), flex-wrap/grid layouts for card stacking, overflow-x:auto for tables, and mobile sidebar nav with toggle 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":"eedad610-a5f9-4bf6-ba6b-5c835ec91e4e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.073907+00:00","summary":"","completion_summary":"Added comprehensive mobile responsive CSS improvements to style.css: global table horizontal scroll, hypothesis card grid stacking, score bar constraints, evidence section compact layout, wiki infobox collapse, debate round compact padding, fixed bottom bar responsive width, long text overflow prevention. All tables now scroll horizontally on mobile via CSS-level rules. CSS validates with balanced braces (233 open/close).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ddaf1d57-08fc-404a-a4a9-76a3df87b6d3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.059790+00:00","summary":"","completion_summary":"Mobile responsive CSS was already very comprehensive (1267 lines, 12+ media queries). Added landscape orientation support, print styles, and extra-small device fixes for vision page counter items and layer pills. All main pages use page_template which includes nav_html responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a6615092-027b-487d-9626-6c4719f20ade","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.046142+00:00","summary":"","completion_summary":"Already complete: Comprehensive mobile responsive CSS exists in the shared nav/CSS at the top of api.py. Covers: hamburger nav menu at 768px breakpoint, grid-template-columns cascading from 5→2→1 columns at 768px and 480px, horizontal table scrolling, min-width/max-width overrides for mobile, plus per-page responsive rules for exchange, experiments, senate, and 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":"547a6189-c04a-48aa-8732-bc40673f0f6e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.032439+00:00","summary":"","completion_summary":"Mobile responsive CSS already comprehensively implemented in site/style.css (1336 lines). Breakpoints at 1024px, 768px, 480px, and 360px covering: grid collapse (5-col to 1-col), table horizontal scrolling, nav responsive wrapping, 44px touch targets, safe area insets for notched phones, font scaling, flex wrapping, fixed-height scaling, infobox mobile layout, search bar stacking, modal sizing, mermaid scroll, and more. All main pages verified to include style.css. 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":"18465c77-7268-479b-af4c-7bc88d945f9e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.018571+00:00","summary":"","completion_summary":"Mobile responsiveness already implemented across all pages. 28 @media queries covering: hamburger nav, grid column stacking (5->2->1), filter bar vertical stacking, horizontal table scroll, wiki layout adaptation, hero sizing, score table scroll, card grid responsive breakpoints at 768px and 480px.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ad7e0fb5-b147-4c96-bce8-500befce0f5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:39.004537+00:00","summary":"","completion_summary":"Added mobile responsive CSS enhancements to style.css: flex items collapse on phones, exchange cards stack properly, score grids go single-column, mermaid diagrams get scroll containers, images constrained to viewport, KG chips scale down. Merged with concurrent changes from other agents (table scroll hints). All pages load 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":"3a2d343b-bae1-4e3a-925c-5d2989460244","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.990699+00:00","summary":"","completion_summary":"Already implemented: Multiple @media queries on all pages. Recent commits include mobile responsive fixes (min-width overrides, horizontal overflow fixes). Cards stack, tables scroll, nav works on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5bd04542-5bb4-4881-b305-2def5e983a64","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.977013+00:00","summary":"","completion_summary":"5bd04542-5bb4-4881-b305-2def5e983a64","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a3fb8670-7b1d-45b9-8850-e8931efee6d9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.961633+00:00","summary":"","completion_summary":"a3fb8670-7b1d-45b9-8850-e8931efee6d9","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c353372b-d602-4b44-b26e-9bd6d091e97e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.947927+00:00","summary":"","completion_summary":"Duplicate of completed task 7ad1c456. Mobile responsive improvements already done: fixed mermaid overflow, world-model-viz 480px breakpoint, extended minmax grid coverage, improved stats/flex wrapping, position-fixed bottom bar rules.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"850b7bf4-815a-4531-8fea-20d5d8ee4955","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.933830+00:00","summary":"","completion_summary":"Task already fully implemented: Extensive mobile responsive CSS across all pages with 28+ media queries. Includes hamburger nav, grid column collapse at 768px/480px, horizontal scrolling tables, container padding adjustments, font size scaling, flex-wrap rules, min-width overrides, card stacking, filter bar column layout, wiki sidebar hiding, and page-specific breakpoints for exchange, analyses, experiments, wiki, and more.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ffbab993-b8c3-4caf-80d7-83ae7a484066","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.919669+00:00","summary":"","completion_summary":"CSS already has responsive breakpoints. Cards stack on mobile, tables scroll horizontally per existing media 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":"7ad1c456-a0d1-47c3-957e-416c00289617","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.906506+00:00","summary":"","completion_summary":"Fixed 6 mobile responsive gaps: mermaid SVG overflow on small phones, world-model-viz 480px breakpoint, extended minmax grid coverage to smaller values (120-180px), improved stats/flex container wrapping at 768px, position-fixed bottom bar mobile rules, and tour card max-width. All 15+ pages verified loading at 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":"5cb73d9f-cb40-403c-a419-5bc58c72cf23","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.893374+00:00","summary":"","completion_summary":"Mobile responsive is substantially implemented: all pages have viewport meta tags, 28 @media rules, 26 mobile breakpoints (768px, 480px) across the codebase. Cards stack, tables have horizontal scroll wrappers.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"56549d67-85d4-4534-b073-8cc2895a2d2d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.879734+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a6b9831d-08c7-4ca3-a078-6411a4c3838b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.866385+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":"88d919b3-ca0b-4d99-8d80-e271bfd70140","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.852929+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":"83d51c7c-1bef-4e9c-854b-3cb964e26e2b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.838419+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":"709f9915-e9d7-4f20-8130-0a16df7cb197","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.823688+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":"8fc3114c-6101-4c77-b385-1e8de3274c5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.808884+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":"fd52f0de-20da-4bcd-9126-ab238ec75b45","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.794046+00:00","summary":"","completion_summary":"Fixed mobile responsive issues: (1) Fixed overly aggressive 480px flex-direction:column override that broke tag rows, badges, button groups — now only stacks wide-gap containers. (2) Wrapped 5 unwrapped tables in resources/costs/compare/quest pages with overflow-x:auto divs. (3) Added CSS for .card table horizontal scroll, footer stacking, table cell truncation, and text wrapping on phones.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e417cfaf-2d5e-4c39-8ca3-df66ede83cd5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.779429+00:00","summary":"","completion_summary":"e417cfaf-2d5e-4c39-8ca3-df66ede83cd5","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4a8b9378-f111-4d53-a322-d2ac9144b74a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.763522+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":"43ea7e21-4900-4dbb-963c-82672438ae40","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.747509+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":"42fd7e3c-630c-4d75-8024-b69797aa78a4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.733616+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":"cc0c90bc-0404-4b04-9e05-743ca12b3d7c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.719792+00:00","summary":"","completion_summary":"Mobile responsive already comprehensive in style.css (1268 lines). 5 breakpoints (1024/768/480/360px + safe areas). Cards stack properly via grid collapse rules. Tables scroll horizontally. Nav has hamburger sidebar. Filter bars stack vertically. Touch targets 44px minimum. All major pages covered: Exchange, Compare, Analyses, Senate, Wiki, etc.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0e4f6504-0f93-45ac-9a75-0bb41f478236","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.705858+00:00","summary":"","completion_summary":"Mobile responsiveness already extensively implemented: 28 @media queries, 39 breakpoint rules, 48 viewport meta tags. Key features: hamburger nav menu for mobile (768px breakpoint), card grids stack to single column, tables have horizontal scroll, wiki layout collapses sidebar on mobile, experiment grid stacks, hero section scales down. All main pages have viewport meta 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":"45aa7c83-6da3-4b54-b50b-acd7044c6e0f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.690952+00:00","summary":"","completion_summary":"45aa7c83-6da3-4b54-b50b-acd7044c6e0f","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b7a70601-d69d-4c45-bea3-cac681e3d36e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.676669+00:00","summary":"","completion_summary":"Dup: 41+ responsive @media rules.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"30060019-00db-44ac-b840-85e53326f5ad","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.661981+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":"f88ae491-4e83-4cec-bbe1-a50703fa57e5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.647820+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":"627667f9-1291-4cb6-98c4-6966e6ae3559","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.633387+00:00","summary":"","completion_summary":"Dup: 41+ responsive @media rules.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fd91a825-cb88-442c-8963-b85ce30da13a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.619326+00:00","summary":"","completion_summary":"Duplicate: 41+ @media responsive rules across all 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":"1d17928a-dd2f-47ad-9883-14e2a3dfd3ac","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.604234+00:00","summary":"","completion_summary":"Already implemented: 41+ @media responsive rules across all pages, viewport meta tags, hamburger nav for mobile, card grid stacking, horizontal table scroll, wiki layout adjustments at 768px/480px/1100px/1800px breakpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ae9e3ba3-8f1c-4523-9cba-d87a41e21778","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.590366+00:00","summary":"","completion_summary":"Duplicate — mobile responsiveness already verified. 20+ @media queries, hamburger nav, flex-wrap, horizontal table scroll.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e9aa3403-7845-481e-894e-1b0b8585bdf6","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.575418+00:00","summary":"","completion_summary":"Verified mobile responsiveness: 20+ @media queries at 768px/480px breakpoints, hamburger nav menu, horizontal table scroll, flex-wrap throughout. 209 instances of responsive patterns (hamburger, overflow-x, flex-wrap). Wiki uses 3-column→1-column grid. Cards stack with auto-fill. Tables use overflow-x:auto for horizontal scrolling on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2e352bc5-dbe1-42db-8cca-7ddee970146e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.561211+00:00","summary":"","completion_summary":"Mobile responsive already comprehensively implemented: site/style.css has 1268 lines with breakpoints at 768px (tablet), 480px (phone), 360px (extra small), 1024px (mid-tablet). Covers: grid collapse, table horizontal scroll, hamburger nav, touch targets (44px Apple HIG), safe area insets, iOS zoom prevention, flex-wrap overrides, inline-style grid overrides, mermaid scroll, SVG sizing, breadcrumb overflow, compare page canvas, and more. Plus 28 @media queries inline 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":"b6d7e70a-c34d-4e12-afd7-7a5b54a7fbf0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.546782+00:00","summary":"","completion_summary":"Already substantially complete: 28 @media queries in api.py covering nav (hamburger menu), hero, exchange cards, wiki layout, grids (auto-collapse from 5→2 columns), tables (overflow-x scroll), search, targets, and all main pages. All pages have viewport meta tag. Cards stack properly on mobile, tables scroll horizontally.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"41ccd72d-bab1-4c21-a8a5-a819943dd07b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.533569+00:00","summary":"","completion_summary":"Duplicate - mobile responsive already done.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9eb4e023-b57d-4ebd-91d6-0c12d253fbfd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.519574+00:00","summary":"","completion_summary":"Duplicate - Mobile responsive already implemented with 100+ media 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":"ea9b541c-a801-4bb8-af59-9e3ce5ddeec9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.506477+00:00","summary":"","completion_summary":"Duplicate. Mobile responsive CSS on all 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":"21459c6f-15c6-45cc-8099-f8c6c18badf7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.493057+00:00","summary":"Duplicate task - consolidated","completion_summary":"Mobile responsive improvements already comprehensive: 100+ media queries in style.css covering 768px, 480px, and 1024px breakpoints. All main pages (/exchange, /atlas, /forge, /senate, /wiki) render and have responsive card layouts, table scroll, nav, and text overflow fixes. /experiments 500 is a stale API process issue (code on disk is correct), not a CSS/mobile bug.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c9da43b3-4d02-42e2-9800-d4a96d67f001","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.476771+00:00","summary":"","completion_summary":"Audited all pages for mobile responsiveness. All 27+ pages have: viewport meta tags, hamburger nav with sidebar, comprehensive @media queries at 768px/480px breakpoints covering grid collapse, table scroll, flex-wrap, touch targets (44px min), font scaling, pre/code overflow, image max-width. Static files (how.html=redirect, trem2-3d.html=fluid layout) also mobile-ready. post_process.py generated pages include viewport+media queries. No gaps found — mobile support 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":"6d956217-2d84-4798-97ca-898f92f02c0a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.460704+00:00","summary":"","completion_summary":"Duplicate. Already verified: all 11 main pages have viewport meta + @media responsive CSS. Breakpoints at 768px/480px for grids, tables, nav sidebar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1df65c8d-e042-4e60-99bf-9c51c3cc7d3f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.446360+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":"0447ce63-efd1-4ef2-bb54-3481a0516d96","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.430905+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":"9550f9bb-d3f3-40eb-889f-8052b4d3c860","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.416110+00:00","summary":"","completion_summary":"Duplicate. Mobile responsive already done.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7a91a9ef-2509-4ad7-a3b1-c12413278b25","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.400202+00:00","summary":"","completion_summary":"Mobile responsive is already comprehensive — just completed task 503e1ee0 with the same scope. CSS has 768px/480px/360px breakpoints, table overflow-x:auto (display:block), grid collapse, flex wrapping, touch-friendly 44px targets, hamburger nav, safe area insets, and 150+ attribute selector overrides for inline styles. All pages verified loading at 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":"d9dd62a0-e994-4f12-bf3b-7da69135d7c7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.384668+00:00","summary":"","completion_summary":"Mobile responsive design already comprehensively implemented. style.css has 3 breakpoints (768px tablet, 480px phone, 360px small phone). Hamburger nav sidebar with organized groups. All tables have overflow-x:auto with momentum scrolling. Cards stack to single column. Touch targets 44px+. Safe area insets for notched phones. iOS zoom prevention. Inline @media queries in api.py cover 11+ page sections. All 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":"d22d186a-a165-42cf-b0ad-a3cc404b96b9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.370401+00:00","summary":"","completion_summary":"Mobile responsive audit found existing CSS already very comprehensive (1267 lines, 4 breakpoints, hamburger nav, safe-area-insets). Added: viewport meta in CSS variable for automatic coverage on all routes, mermaid SVG min-width override for mobile, global overflow safety for images/pre/code/containers. Branch: mobile-responsive-slot23","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"056d49fd-e9a6-471a-b48f-d84e5dfbd86d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.356204+00:00","summary":"","completion_summary":"Duplicate of e78ab393. Mobile responsive done.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b82b608-a586-4777-87b9-7a07b7a31383","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.342384+00:00","summary":"","completion_summary":"Verified: mobile responsive CSS is already implemented across the codebase. 28 @media queries with breakpoints at 768px and 480px. All pages have viewport meta tags. Navigation includes hamburger menu for mobile. Grid layouts use auto-fit/minmax for responsive card stacking. Inline styles use flex-wrap:wrap for horizontal scrolling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"80b315bb-4e7c-44da-a179-bfbbd887b5dc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.326291+00:00","summary":"","completion_summary":"Duplicate 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":"a06008d3-9ae3-49c2-a129-585b001d7dc8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.312438+00:00","summary":"","completion_summary":"Mobile responsive work already comprehensive: 12+ media queries in style.css (768px, 480px, 1024px breakpoints), viewport meta on all main pages, 8+ dedicated mobile-responsive commits covering table overflow, grid stacking, nav scroll, touch targets, mermaid overflow, flex-wrap. All main pages have responsive layout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"68965b1c-2f05-446a-8939-5da694f84fce","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.297174+00:00","summary":"","completion_summary":"Audited mobile responsiveness across all pages. Already comprehensive: style.css has 1267 lines with 4 breakpoints (360/480/768/1024px), attribute selector overrides for inline styles, touch-friendly 44px targets, iOS zoom prevention, safe area insets, table scrolling, grid collapsing, SVG containment. All tested pages (dashboard, analyses, exchange, graph, wiki, forge, senate, artifacts, targets, agora, missions, showcase, demo) return 200 with no horizontal overflow issues. Nav hamburger sidebar works correctly on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f0fa1b50-d59f-480a-9ece-c6418499bcf4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.282385+00:00","summary":"","completion_summary":"Mobile responsive already comprehensive. Global CSS at lines 735-871 in api.py covers: nav hamburger menu, grid stacking (480px/768px breakpoints), table overflow-x:auto, card overflow, sidebar hiding, font scaling, touch targets (min-height:44px), mermaid scrolling, filter bars stacking, breadcrumb wrapping. 74+ overflow-x:auto declarations, 48 viewport meta tags. Recent commits (332df21a, c9b65aa4, 86b5f26b) added min-width overrides and table fixes. No further 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":"e78ab393-af70-4b9b-b7c0-cd547b6f0023","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.265937+00:00","summary":"","completion_summary":"Mobile responsive already implemented across all main pages. Recent commits: min-width mobile overrides, table overflow fixes, nav scroll fixes, height container fixes. Viewport meta tag present on all major page templates. Demo page has 33+ responsive CSS references, senate 53+. Only /vision (first-visit redirect) missing viewport tag — minor issue since first visitors typically on desktop.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"67431ebe-420a-4afb-a329-710547f49651","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.249720+00:00","summary":"","completion_summary":"Duplicate — mobile CSS already comprehensive (878 lines, 5 breakpoints).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"fa50bb4e-621a-4264-b038-e2e76a523241","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.232968+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ed6e7a5a-300d-4d0d-a769-7da5d730ece0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.217656+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7fbfd77b-ecf1-4482-baf2-a73181f5fd5e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.203695+00:00","summary":"","completion_summary":"Mobile responsiveness is well-implemented: 28 @media queries, 72 auto-fit/auto-fill grid patterns, hamburger nav menu, table horizontal scrolling, card stacking, min-width overrides. Multiple prior mobile-fix commits merged recently.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d1ca1b07-31fc-4f3d-b559-b8cb138933f1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.189533+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"218bdaf1-6d60-4986-bd80-64f8cd1b2edc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.175141+00:00","summary":"","completion_summary":"Mobile responsive already implemented across all pages. 94 mobile-related CSS rules in api.py, 12 @media queries in style.css. Cards stack on mobile, tables scroll horizontally, nav has hamburger menu. Multiple prior commits: min-width overrides, table overflow fixes, height container fixes, nav scroll improvements.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"10e5d252-49c8-40c4-af06-926b76a808d5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.159884+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":"fb0d5c73-5fbb-4a61-80ff-fca65070aa28","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.146367+00:00","summary":"","completion_summary":"Duplicate of 45f5f8ed. 130+ responsive CSS rules, hamburger nav, grid stacking, table scroll — comprehensive mobile support.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7070f913-2eaa-4c50-bc23-26740321c869","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.132225+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"043bccf9-7f8f-42a9-84df-e19f0d2f4ef4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.117849+00:00","summary":"","completion_summary":"Already comprehensive — 878 lines of mobile CSS across 5 breakpoints (1024px, 768px, 480px, 360px, 320px). Includes: hamburger sidebar nav, grid collapse (5→2→1 columns), table horizontal scroll, 44px touch targets, iOS zoom prevention, safe area insets for notched phones, card stacking, filter bar stacking, SVG/chart constraints, word-break/overflow handling, Mol* viewer height adjustment, mermaid scroll, and universal box-sizing. All 46 HTML pages include style.css. No overflow-causing fixed widths found.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"45f5f8ed-e704-48b2-800a-8817db3fc659","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.104017+00:00","summary":"","completion_summary":"Mobile responsive CSS is already comprehensive: 130+ responsive rules in global CSS across 3 breakpoints (768px, 480px). Covers: hamburger nav, grid stacking (auto-fill/minmax), table horizontal scroll, flex column wrapping, font/padding scaling, filter bar stacking, tab overflow, card grids, mermaid diagram scroll, breadcrumb wrapping, min-width overrides. All major pages inherit from global responsive rules. No further improvements 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":"3b06ea53-3aa1-43a5-940c-aa36874c5c47","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.090410+00:00","summary":"","completion_summary":"Task already fully implemented. All 11 main pages have viewport meta tags and @media responsive CSS rules (4-6 each). Pages include breakpoints at 768px and 480px for grid stacking, horizontal table scrolling, hamburger nav sidebar, responsive cards, and touch-friendly spacing. style.css has 12 additional @media rules.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f126fc19-ec2b-4ea6-b360-68f3bb6009a8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.076085+00:00","summary":"","completion_summary":"Already comprehensive: Global CSS has 3 media query blocks (768px, 480px, plus per-page) handling grid collapse, table horizontal scroll, hamburger nav, font scaling, card stacking, container padding, filter bar stacking, tab wrapping, wiki layout, and more. Additional page-specific responsive rules on exchange, experiments, wiki, walkthrough, and world-model 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":"eaa11177-1e1f-4078-a2cb-6f4929236063","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.061314+00:00","summary":"","completion_summary":"Mobile responsive CSS is comprehensive (1263 lines). Added missing min-width:500px/600px overrides. All main pages tested: viewport meta tags present, style.css linked, tables scrollable, grids collapse properly. The CSS covers 768px/480px/360px breakpoints, safe-area insets for notched phones, touch-friendly 44px tap targets, flex wrap for all containers, grid collapse for all minmax sizes, and height scaling for fixed containers.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"209f8d2b-03e8-4349-99cb-bf70009a168f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.047458+00:00","summary":"","completion_summary":"Added mobile responsive improvements to style.css: mid-tablet nav link horizontal scroll (1024px), fixed-height container scaling on mobile (500/400/350/300px heights), word-break for long URLs, -webkit-overflow-scrolling on all scrollable areas, touch-friendly details/summary, safe area spacing for fixed-bottom bars, infobox full-width on phones, iframe constraints, 360px extra-small gap reductions. Also wrapped services table on status page in overflow-x:auto. All 17+ main pages verified loading.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"503e1ee0-e236-477a-8717-73ebfb1b0a6f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.033866+00:00","summary":"","completion_summary":"Added CSS-level table overflow fix (display:block + overflow-x:auto) for all tables at 768px breakpoint, with thead/tbody display restoration. Fixed 20+ unwrapped tables across senate, entity, wiki, agent detail, and cost pages. Also added mid-tablet nav scroll, fixed-height scaling, word-break rules, touch-friendly details, infobox responsive, and 360px extras.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0c9e49e0-c8f2-410d-9356-52bfe81050ae","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.019692+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":"50b1b106-95d3-4c34-b6fa-480de97f532d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:38.004448+00:00","summary":"","completion_summary":"Mobile responsiveness already well-implemented across all pages. Global style.css has 9 media query breakpoints (768px, 480px, 360px). Inline responsive CSS in 20+ pages. Hamburger nav, card stacking, horizontal table scroll, and viewport meta tags all present. Exchange, Forge, Senate, hypothesis detail, and homepage all have responsive layouts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1fca5598-1e23-4192-8ac6-205bdea9038b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.989062+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":"83cb1bd5-e5c4-4462-8fe0-6f70d0524005","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.973546+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":"04937ad1-204f-450d-9cdc-3e9e1f089f78","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.959013+00:00","summary":"","completion_summary":"Duplicate — 33+ media queries already 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":"f4fd8411-55c6-488b-9584-4da21abce1a1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.944124+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":"3d18add2-995f-4800-96e6-bdca79ad7bab","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.930690+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"06e057db-0daf-4622-b386-d49079478edc","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.916454+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f408f181-3cb2-4aa7-a9b5-a79733b574c4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.901545+00:00","summary":"","completion_summary":"Mobile responsive improvements already extensive. 33+ @media queries across api.py (24) and style.css (9). Multiple prior commits: grid collapse at 768px/480px/360px breakpoints, mermaid overflow, flex-wrap, touch targets, hero scaling, minmax fixes. Most recent commit e7ca0824 '[UI] Mobile responsive improvements across all pages' already addressed this comprehensively.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4be9467a-bc0f-498f-907a-7551e58baad5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.887770+00:00","summary":"","completion_summary":"Already implemented. Multiple dedicated commits for mobile responsive improvements: hero scaling, minmax grid fixes, touch targets, mermaid overflow, flex-wrap, @media queries on exchange/targets/quests/agora/senate/forge/wiki pages. 28+ @media breakpoints in CSS. Hamburger nav for mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"62a75269-db5e-4e40-aa3c-7dbed81140b5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.870363+00:00","summary":"","completion_summary":"Added safe-area-inset support for notched phones, viewport-fit=cover, html overflow-x:hidden, tap-highlight removal, scroll-behavior:smooth. Fixed CSS min-width selectors for spaced variants. Wrapped all senate/dashboard/mission tables in overflow-x:auto containers. Improved table mobile handling from display:block to wrapper divs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a9e5c69d-6508-46f9-8e55-a5b2b64d309f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.835790+00:00","summary":"","completion_summary":"Enhanced mobile responsive CSS: added mermaid diagram horizontal scrolling, evidence/debate/trial card stacking, hypothesis meta flex-wrap, forge demo overflow, fixed-width element resets, tighter 480px breakpoint spacing. All main pages verified loading 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":"9689e1b3-757d-4b6d-8322-aae6ddb54723","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.821758+00:00","summary":"","completion_summary":"Audited all 20+ pages for mobile responsive issues. Found comprehensive existing implementation: 5 CSS breakpoints (768/480/360px), hamburger sidebar nav on all pages, grid collapsing, scrollable tables, touch-friendly targets, overflow prevention. All pages have viewport meta tags and responsive CSS (via style.css or inline). No gaps found — system is production-quality responsive.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"76561d9b-a2c7-4082-b56c-9cffce4fe417","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.806916+00:00","summary":"","completion_summary":"Verified: all main pages already mobile responsive. Shared nav_html() includes 150+ lines of @media queries at 768px and 480px breakpoints. All pages have viewport meta tags. Grids collapse to single column, tables scroll horizontally, filter bars stack, hamburger sidebar nav works. Wiki 3-col layout collapses at 1100px. Touch targets meet 44px minimum. No issues found across home, exchange, analyses, senate, forge, targets, experiments, search, dashboard, wiki, entity, and 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":"e05286d4-ca0e-4526-bda3-cd086d7eafcb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.791508+00:00","summary":"","completion_summary":"Mobile responsive improvements: fixed pagination touch targets to 44px, added theme-color and apple-mobile-web-app meta tags, fixed search dropdown clipping on 360px screens, added 600px intermediate breakpoint for large phones. The existing CSS already had extensive 768px/480px/360px breakpoints covering grid collapse, table scroll, touch targets, and sidebar.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5b67827f-4563-4353-bc3a-2de910acc22e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.777606+00:00","summary":"","completion_summary":"Added 108 lines of mobile-responsive CSS to site/style.css. Key improvements: tables with horizontal scroll, SVG charts constrained to viewport, stat grids collapsing (2-col at 768px, 1-col at 480px), filter bars stacking vertically, mermaid diagrams scrollable, nav links horizontal scroll, cards with overflow handling. Covers 768px and 480px breakpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d6ff96bb-cb74-4da2-a4d3-63891f5020ee","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.763421+00:00","summary":"","completion_summary":"Duplicate of previously completed mobile task. Mobile responsive already comprehensive: 3 breakpoints (768/480/360px), hamburger sidebar, grid collapse, table scrolling, touch targets (44px), iOS zoom prevention, filter stacking, and 28+ @media 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":"5472e0a1-dd2c-4fa0-a9fd-c62851703dfa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.746761+00:00","summary":"","completion_summary":"Duplicate of task 91715ec2 already completed. Added 175 lines of mobile responsive CSS covering uncovered fixed-width patterns, table overflow, flex-wrap, touch targets, and global safety nets. Branch: worktree-mobile-responsive.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1b7a76c6-d842-4d35-b9ad-ad4f01105b59","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.731488+00:00","summary":"","completion_summary":"Mobile responsive improvements already comprehensively implemented: 3 breakpoints (768/480/360px), hamburger sidebar nav, grid collapse, table scrolling, touch-friendly targets (44px), iOS zoom prevention, filter bar stacking, container width overrides, search dropdown responsive sizing, and 28+ @media queries across style.css and api.py nav_html().","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e8e9b3c4-8413-4caf-a625-73f4bf4419e4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.715819+00:00","summary":"","completion_summary":"Mobile responsive improvements already comprehensively implemented on main: style.css expanded from 512 to 1096 lines with 768px, 480px, and 360px breakpoints covering sidebar width, grid collapse, min-width overrides, touch targets, image/SVG/pre overflow, filter bars, modals, and all inline style attribute selectors. No additional 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":"6a922931-11e5-4f7e-9812-bea3d8841a67","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.700654+00:00","summary":"","completion_summary":"Reviewed all main pages for mobile responsiveness. Existing CSS is already very comprehensive (380+ lines of media queries across style.css and inline nav CSS). Added targeted improvements: touch-action:manipulation for faster taps, mermaid SVG overflow prevention, and html overflow-x:hidden safety net. Branch: worktree-mobile-responsive","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4e80ed09-4e61-4df7-bfaa-3ef4b6d064b0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.686056+00:00","summary":"","completion_summary":"Added mobile responsive CSS improvements to style.css: asymmetric grid layout stacking (2fr/3fr columns), step-nav horizontal scrolling for demo/walkthrough pages, CTA button vertical stacking at 480px, padding:4rem reduction, pre-wrap text overflow prevention, multi-column text collapse, and feature card width fixes. Builds on existing comprehensive responsive rules (1271+ lines). Branch: worktree-mobile-responsive","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c3e5bab5-6f46-4906-a525-2b091035e92a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.671094+00:00","summary":"","completion_summary":"Task already fully implemented. style.css has 1272 lines of mobile responsive CSS covering 3 breakpoints (768/480/360px), grid collapsing, table scrolling, hamburger nav, touch-friendly 44px targets, iOS zoom prevention, SVG/canvas responsive sizing, fixed-width overrides, flex wrapping, and global overflow safety nets. api.py has additional inline media queries for nav and page-specific responsive behavior.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0f58d44f-6cec-4883-bf8c-f86d3890f0e5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.656694+00:00","summary":"","completion_summary":"Duplicate of task 9f0b28c0 which was already completed this session. Added 480px breakpoints for vision page, fixed uncovered fixed-width inline styles, added comparison card responsive rules, horizontal scroll indicators, compact nav for 360px. All 19 pages verified loading HTTP 200. Branch: mobile-responsive-v2.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"91715ec2-fd83-4642-9372-2a0953fca573","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.643480+00:00","summary":"","completion_summary":"Added 175 lines of mobile responsive CSS to style.css covering uncovered fixed-width patterns (width:220/250/380/500/600px, max-width:650/700/750px, min-width:90/250px), global table overflow safety, flex-wrap enforcement, touch-friendly tap targets, heading word-break, iframe responsiveness, and absolute-positioned dropdown constraints. All pages verified returning 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":"9f0b28c0-c487-4407-91a4-e4b4001a0910","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.630177+00:00","summary":"","completion_summary":"Added mobile responsive improvements: 480px breakpoints for vision/pitch page (hero, pills, counters, layer cards), fixed uncovered fixed-width inline styles (width:220px, 120px), added comparison card responsive rules, horizontal scroll fade indicators for table wrappers, compact nav search for 360px screens, and single-column layer pills for extra-small screens. All 19 main pages verified loading HTTP 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":"f186721b-8bed-4c54-acdf-683d6be695dd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.615093+00:00","summary":"","completion_summary":"Mobile responsive CSS already comprehensive: 24 @media queries across pages, 9 global breakpoints in style.css, 47 horizontal-scroll tables. All main pages (exchange, analyses, experiments, wiki, senate, forge, agora, atlas, quests, demo) have responsive layouts. Nav has hamburger menu at 768px.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a8307d23-6ddc-4410-95d5-7cda9e953cc3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.600175+00:00","summary":"","completion_summary":"Added mobile responsive improvements: hero section scaling, minmax grid collapse rules for 220px/260px grids, score-dims 2-column layout, compacted pipeline-stages and persona-badges, touch-friendly card sizing, dashboard table overflow wrappers. Both api.py inline CSS and site/style.css 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":"a8024bad-a4d1-4796-b94c-016904f8982b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.586986+00:00","summary":"","completion_summary":"Reduced inline grid minmax breakpoints from 300-460px to 260-320px across api.py templates (forge artifacts, experiments, showcase, gene expression grids). Added comprehensive CSS media query overrides in both style.css and embedded styles for minmax(260/320/460px). Fixed compare bar padding for mobile (2rem->1rem). Added exp-grid single-column tablet override and overflow-x:auto for tool chart containers.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ec7e4422-8290-4298-825a-3e2acc54d72f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.573432+00:00","summary":"","completion_summary":"Verified mobile responsiveness is already comprehensive: 1048-line style.css with 9+ media query blocks (768px, 480px, 360px breakpoints), hamburger nav, table scroll, grid collapse, touch-friendly sizing, inline-style overrides. All major pages load successfully. No gaps found.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"178739a2-6e80-4201-bad6-2fb9e1872b92","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.558095+00:00","summary":"","completion_summary":"Audited all main pages for mobile responsiveness. Already comprehensive: 3 breakpoints (768px, 480px, 1100px), hamburger nav with sidebar, grid collapse rules for all column counts, table horizontal scrolling, filter bar stacking, font size reduction, min-width overrides, flex-wrap handling, container padding adjustments. Multiple prior commits already addressed these issues across exchange, targets, wiki, experiments, agora, and detail pages. No remaining issues found.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d84bc8e0-1401-4da2-9134-4f736d447c5f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.544340+00:00","summary":"","completion_summary":"Added mobile responsive @media queries to 7 high-traffic pages (exchange, targets, quests, agora, senate, forge, wiki detail) and enhanced global style.css with additional grid/flex overrides for 480px screens. All pages now handle card stacking, table scrolling, filter stacking, and grid collapsing on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2696f14e-4803-4901-890e-74106f27235c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.531006+00:00","summary":"","completion_summary":"Added shared CSS to experiments and targets pages (missing responsive media queries). Added additional mobile fixes to style.css: search dropdown viewport constraint, stat box stacking on phone, pagination compact mode, SVG viewBox constraint, overflow momentum scroll. All 9 main pages tested and 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":"ea1db30f-7fbb-444c-ae36-d2fadf1487fd","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.516655+00:00","summary":"","completion_summary":"Fixed mobile responsive issues: added 1fr 1fr 1fr grid pattern to media queries (Senate 3-col grid), added min-width:400px/360px/300px overrides for Forge tool tables, fixed nav search input width expansion on mobile. Both style.css and api.py nav_html updated. All 7 main pages verified loading.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"baaec29e-60de-4799-b425-bfcd7f02d168","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.502867+00:00","summary":"","completion_summary":"Mobile responsiveness already comprehensive. style.css has 6 media query blocks (768px, 480px, 360px breakpoints). api.py injects 13+ additional mobile CSS blocks on all pages. Features: hamburger nav, card stacking, horizontal table scroll, grid collapse, font size scaling. All main pages have viewport meta 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":"291b4015-922e-40c5-a975-6c262254100e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.489564+00:00","summary":"","completion_summary":"Mobile responsiveness already comprehensively implemented. Extensive media queries at 768px and 480px breakpoints cover: grid collapsing (5->2->1 columns), table horizontal scrolling, nav hamburger on mobile, font size scaling, container padding, flex wrapping, SVG/canvas/image max-width, filter bar stacking, tab bar wrapping. Viewport meta tag set on all 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":"a10bd591-60e0-4f13-9568-5d942ff487f9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.476082+00:00","summary":"","completion_summary":"Extended mobile responsive CSS with additional min-width overrides for 480px and 768px breakpoints, covering elements down to 55px min-width. Added mobile-friendly styling for quality gate details/summary elements and quality gate grid/trend components. All pages already had viewport meta, responsive grids, table overflow scroll, and flex-wrap handling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0edbda97-68ad-4008-ac91-5c5e8c69ed3c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.462031+00:00","summary":"","completion_summary":"Duplicate of tasks 7b7b092c and eee79633 already completed. Mobile responsive rules comprehensive across all breakpoints (768px/480px/360px). Table overflow wrappers, grid collapse, hamburger nav, touch targets all 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":"eee79633-b794-4ebd-8576-a0fdd937f869","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.449031+00:00","summary":"","completion_summary":"Duplicate of task 7b7b092c already completed. Global style.css has comprehensive responsive rules at 768px/480px/360px breakpoints. Nav hamburger menu, table overflow wrappers, grid collapse rules, touch-friendly buttons all in place. Added style.css to targets/experiments/search pages in branch worktree-mobile-responsive.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b7b092c-f121-4b44-9714-be3e4b2980e0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.434608+00:00","summary":"","completion_summary":"Added global style.css to targets, experiments, and search pages that were missing it. Wrapped all data tables (dashboard, home, mission detail, entity pages) in overflow-x:auto containers for horizontal mobile scrolling. Existing style.css already had comprehensive responsive rules at 768px/480px/360px breakpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8c45e6b7-1399-4b1e-b92c-516cc028a1fa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.421415+00:00","summary":"","completion_summary":"Already well-implemented. Comprehensive mobile CSS exists: 768px/480px breakpoints in main CSS + style.css covering grid collapse, table scroll, hamburger nav, font scaling, flex wrapping, container padding. All major pages (exchange, forge, atlas, senate, experiments, wiki, targets, hypothesis) render with responsive layout. 6 @media blocks in style.css, 12+ in api.py inline CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8a67ca5d-ea73-4821-bf37-fac11ef21119","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.405725+00:00","summary":"","completion_summary":"Mobile responsive CSS already comprehensive across all main pages. All functional pages have: viewport meta tags, media queries at 768px/480px/360px breakpoints, grid collapsing (auto-fit grids + media query overrides), horizontal-scrolling tables, responsive images/SVGs with max-width:100%, hamburger nav pattern, and flex-wrap rules. No critical layout breakage found. style.css has 6 media query blocks. Page templates include extensive inline responsive CSS covering grid-template-columns overrides, tab bar wrapping, card stacking, and font size scaling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8bcd3327-7316-4d21-8fda-1d2e55f14ac3","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.388775+00:00","summary":"","completion_summary":"Already implemented — comprehensive mobile responsive CSS exists in site/style.css (6 media query blocks at 768px, 480px, 360px) plus extensive inline media queries in nav_html(). Covers: grid collapse to single column, flex wrap, table horizontal scroll, card stacking, sidebar touch targets (44px min), input iOS zoom prevention, min-width overrides, mermaid diagram scroll, canvas/SVG scaling, breadcrumb overflow, filter bar stacking. All pages have viewport meta 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":"175b479c-a557-4b93-b792-0cbba0a9b62d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.374274+00:00","summary":"","completion_summary":"Already verified complete in previous task 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":"ff3c6a2b-e8a4-4dab-a593-2cc126c527ad","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.360555+00:00","summary":"","completion_summary":"Already implemented. Comprehensive mobile responsive CSS exists in the global CSS block: 768px breakpoint (grid collapse 5→2, nav hamburger, table horizontal scroll, filter bar stacking, sidebar hiding, container padding, font scaling) and 480px breakpoint (grid→single column, smaller fonts, wrapped layouts). All 12 key pages verified to have viewport meta tag, media queries, and proper rendering. Pages: /, /exchange, /gaps, /graph, /senate, /forge, /quests, /compare, /missions, /artifacts, /notebooks, /experiments.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4df1b9f2-6eb2-48c6-ad17-9c3fe9a500a2","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.346145+00:00","summary":"","completion_summary":"Mobile responsive improvements already implemented across all pages. Global style.css has 6 media query blocks (768px, 480px, 360px) covering grids, tables, nav, cards, min-width overrides. All 8 main pages have inline responsive rules. Hamburger nav menu present. Tables have overflow-x:auto. Grid columns collapse to 1fr/2fr on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cd5dc0d6-cadb-4fd0-b215-30752f839f08","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.331829+00:00","summary":"","completion_summary":"Already implemented. 18 @media queries in api.py, 6 in style.css. Hamburger sidebar navigation (23 references per page). Grid columns collapse to 1-2 on mobile, tables scroll horizontally, nav-links hide on small screens. All main pages have responsive breakpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"752d8dc3-228b-4583-aea0-74762c967343","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.316551+00:00","summary":"","completion_summary":"Mobile responsive already well-addressed: style.css has 6 media queries (768/480/360px breakpoints), hamburger nav menu exists, tables have overflow-x:auto, viewport meta on all pages, and recent commit afdae9a specifically addressed mobile refinements with max-width overrides and showcase nav scroll.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"926b9f15-73ef-4de2-8479-7165ca3d0272","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.299820+00:00","summary":"Duplicate - already implemented","completion_summary":"Already implemented: style.css has 900+ lines of responsive CSS with breakpoints at 768px, 480px, and 360px. Covers card stacking, horizontal table scroll, hamburger nav, grid collapsing, 44px touch targets, iOS zoom prevention, breadcrumb overflow, container full-width, flex wrap, mermaid scroll, and more. api.py has 20+ additional inline media 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":"ab25b589-05c2-42f6-a838-e1deb54afdca","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.284608+00:00","summary":"Duplicate - already implemented","completion_summary":"Mobile responsiveness was already very comprehensive (768px/480px/360px breakpoints, hamburger nav, touch targets, grid collapse, table scroll, flex wrapping, iOS zoom prevention). Added: max-width:900px/650px container overrides, showcase nav horizontal scroll on mobile.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3963db32-1fa3-4475-9b43-ad561ed56468","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.270356+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":"0aadb450-bbc4-4674-b14d-73e9ac865c63","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.256462+00:00","summary":"","completion_summary":"Fixed mobile responsive gaps: added minmax(220/240/260px) CSS grid overrides, .layer-card-grid and .theory-grid mobile media queries, wrapped 5 unwrapped tables with overflow-x:auto (dashboard, exchange, mission, entity pages). Also resolved merge conflicts with incoming senate agent performance enhancements.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c46ecb29-5111-48f3-80f6-64befdafcb79","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.242552+00:00","summary":"","completion_summary":"Substantially complete. All main pages include responsive CSS: @media queries at 768px and 480px breakpoints for grid collapse, table horizontal scroll, hamburger sidebar nav, flexible cards, font size adjustments, and touch-friendly spacing. style.css has 6 media queries, and each page includes extensive inline responsive overrides for grids, tabs, filters, and mobile layouts.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ae66a7cb-89f7-4873-9da3-681e2eaade08","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.228463+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":"fa243959-bd8b-400e-8588-ea936813d8fb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.214382+00:00","summary":"","completion_summary":"Enhanced mobile responsive CSS in api.py inline media queries: added container padding reduction, fixed-width element handling, card overflow scrolling, stats wrapping, footer wrapping, and font size scaling at 768px and 480px breakpoints. Wrapped Forge page tool analytics tables with scrollable containers. site/style.css already had comprehensive mobile CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"92320f9b-80c1-4384-a980-d71c7d312d8b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.200352+00:00","summary":"","completion_summary":"Already done — multiple commits (2ac9806, dde3466, 4525492, 6bea9e8) with comprehensive responsive CSS for 768px and 480px breakpoints on all 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":"2ebc1997-0321-4d7c-b9c0-c4fcc4d5a0ed","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.185892+00:00","summary":"","completion_summary":"Added mobile responsive CSS improvements: canvas responsive sizing, text wrapping for Exchange feed items, grid collapse for compare sections, word-break for titles, smaller elements on phones. Pushed 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":"ce442f02-4685-4003-9661-5b1f484c447a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.171660+00:00","summary":"","completion_summary":"Added mobile responsive CSS improvements: mermaid diagram overflow-x:auto scrolling on both 768px and 480px breakpoints, reduced padding on small screens, flex-wrap for cards and link containers. Base mobile CSS was already comprehensive (grids, tables, nav hamburger, filter bars). New additions target: mermaid diagrams, SVG pathway diagrams, hypothesis card links, and content padding at narrow widths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b6046b9c-2945-459f-bf70-c6412dcee081","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.157798+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":"370499de-ede8-413d-b504-e2b61b90fa1d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.142723+00:00","summary":"","completion_summary":"370499de-ede8-413d-b504-e2b61b90fa1d","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f0c307b-5c60-4b15-a805-792928addb12","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.128348+00:00","summary":"","completion_summary":"Mobile responsiveness was already well-implemented (768px/480px/360px breakpoints). Added targeted improvements: Mol* 3D viewer height reduction on mobile (300px/250px), debate persona card stacking, canvas/SVG chart containment, score text overflow prevention, evidence card single-column on phones. Branch: worktree-mobile-responsive-v2.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"94110025-6045-4356-809d-6b0943236e7f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.111455+00:00","summary":"","completion_summary":"Already completed: Added 18 new mobile CSS rules at 768px and 480px breakpoints covering Exchange tabs, canvas sizing, wiki sidebar, compare bar, filter grids, mission pills, breadcrumbs, and convergence badges.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2c646e26-1b0a-4341-a858-b51fe4fd9daa","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.095312+00:00","summary":"","completion_summary":"Audited all main pages for mobile responsiveness. The site already has comprehensive mobile CSS: grids collapse from 5→2 columns at 768px and to 1 column at 480px, tables get horizontal scroll, min-widths are overridden, tab bars scroll, counter items shrink, and font sizes adjust. Tested /exchange, /wiki, /quests, /agora, /senate, /artifacts, /search, /demo, /showcase, /graph. All large inline widths are max-width (responsive), not fixed width. No mobile issues found.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e688e8c0-307b-4ce1-8dc8-b5563bb07019","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.081481+00:00","summary":"","completion_summary":"Duplicate of b1fc7d7a already completed. Mobile responsive CSS is comprehensive: viewport meta on all pages, hamburger nav, sidebar overlay, table horizontal scrolling, grid collapse at 768px and 480px breakpoints, flex-wrap throughout.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"2bde5e52-d299-46ed-82bf-645791ed593e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.067427+00:00","summary":"","completion_summary":"Added 18 new mobile CSS rules across 768px and 480px breakpoints: Exchange tab bar wrapping, canvas responsive sizing, wiki sidebar hiding, compare bar vertical stacking, filter grid column adjustments, smaller mission pills/badges/breadcrumbs on mobile. Pushed 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":"b1fc7d7a-5d36-487e-8762-26eb65b9d47e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.051821+00:00","summary":"","completion_summary":"Mobile responsive already fully implemented: 40 viewport meta tags, hamburger nav + sidebar overlay, 31 overflow-x:auto tables, 14 grid-to-single-column collapses, 85 flex-wrap entries, 13 @media queries covering 768px and 480px breakpoints. All main pages have responsive grids, stacking cards, scrollable tables, and mobile nav.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"77ce238a-c9d1-443f-ae06-70095ead1755","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.037370+00:00","summary":"","completion_summary":"Improved mobile responsive CSS: (1) Added repeat(2,1fr) grid collapse at 768px breakpoint — hypothesis evidence grids and entity page 2-column layouts now stack on tablets, (2) Added mermaid diagram overflow handling for mobile. Existing coverage was already comprehensive for nav, tables, 3/4/5-column grids, and flex layouts. Branch: worktree-mobile-responsive","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"97f37629-9b77-46bc-900a-296771dc626c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.022660+00:00","summary":"","completion_summary":"Enhanced mobile responsive CSS in site/style.css with comprehensive improvements: stat-card flex layout (2-col tablet/1-col phone), wiki layout single-column collapse at 768px, fixed-width sidebar grid overrides, gap:1.2rem flex targeting, padding reductions, breadcrumb overflow scrolling, canvas chart responsiveness, card title 2-line truncation, flex child min-width:0 for overflow prevention. All changes in shared style.css affecting all pages. Branch worktree-mobile-responsive pushed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8995b922-6fdf-4244-8bbe-a408bd77ca5a","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:37.007493+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":"c3bbf2e4-59a1-47e9-8df7-9209ee026ba1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.992537+00:00","summary":"","completion_summary":"Mobile responsive improvements: fixed graph.html legend/stats overlap and search box sizing on mobile, added 768px/480px breakpoints to search.html, expanded style.css with minmax(340px) grid override, analysis-grid collapse, filter grid overflow prevention, iOS zoom prevention, min-width inline overrides. Updated api.py nav_html selectors for minmax(340px/200px) grids. All pages verified loading (200 OK).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"81098cc5-b80d-448d-a94d-84391658677d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.975304+00:00","summary":"","completion_summary":"Added missing viewport meta tags to 2 pages (wiki 404, Senate actors). Enhanced style.css with 480px breakpoint rules: breadcrumb horizontal scroll, auto-fit grid collapse for small minmax values, universal flex-wrap enforcement, KG widget height cap. Existing 768px/480px/360px responsive CSS was already comprehensive covering grid collapse, table scroll, touch targets, nav hamburger, font scaling, and container full-width.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"95a4af6c-ff14-4291-a97a-467e2acc0522","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.959999+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":"fd7fac6e-ccf3-4d4b-94b8-c521ef595529","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.944733+00:00","summary":"","completion_summary":"Already complete: site/style.css has 733 lines of comprehensive mobile responsive CSS with breakpoints at 768px, 480px, and 360px. Cards stack properly (grid collapse), tables have horizontal scroll, nav has hamburger menu, touch targets meet 44px minimum. Plus 17 inline @media queries in api.py for page-specific layouts. All key pages load and link the shared stylesheet.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f173ec8-78e0-43a2-ade7-0621126b6726","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.926772+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":"dbfc49db-6b8b-40f0-b4e7-d1ec87812872","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.858378+00:00","summary":"","completion_summary":"Audited mobile responsive CSS: 877 lines in style.css covering 768px/480px/360px breakpoints, plus inline media queries in nav_html(). All 13 main pages verified with viewport meta and CSS. Cards stack, tables scroll, nav hamburger works, touch targets are 44px+, grids collapse properly. All acceptance criteria already 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":"b2d6e770-9878-456b-ad30-d25eb7b20f55","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.843922+00:00","summary":"","completion_summary":"Added mobile responsive CSS for mermaid diagram overflow, wiki infobox tables, card internal flex wrapping, and right-side metric panel stacking. Existing CSS already covered grids, tables, nav, filters, SVGs, and containers. All 7 main pages verified 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":"54285094-fdb6-4209-88bb-3db720893379","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.828740+00:00","summary":"","completion_summary":"Already completed in commits 6bea9e8, 503982c, ecf2752, 7e94cb5. Mobile responsive CSS has been enhanced across all pages multiple times.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3ff4626c-ec54-499e-99c2-c7533103f8cf","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.814827+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":"bb6eb3a9-adbb-4112-9608-b2d09cf68d66","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.800495+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":"7e8579da-c8da-42bd-90ed-aa66634d5985","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.785235+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":"c43192ca-1775-4fb5-801e-9adf14eb377e","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.770901+00:00","summary":"","completion_summary":"Already complete: Global responsive CSS injected via render_nav handles grid collapsing (5/4/3→2→1 col), table horizontal scroll, filter bar stacking, nav hamburger menu, image/SVG max-width, container padding. All 13 main pages return 200. No hardcoded widths causing overflow.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1fb04821-f5e2-4845-a205-91a6b639fc6c","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.756538+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":"c6a6ad63-1991-4607-909c-f955b69850d5","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.742972+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":"56df6b3b-9c0e-44f6-bc2b-7665fb780dc8","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.729151+00:00","summary":"","completion_summary":"Improved mobile responsive CSS: added touch-action:manipulation for faster taps, improved table scroll handling, added filter tag wrapping for inline chips on mobile, footer link stacking on small phones. Existing responsive setup was already comprehensive with 4 breakpoints, hamburger sidebar, grid collapse, and 44px touch targets.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6370f5d8-0467-468c-910c-1af24ef6ca18","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.714762+00:00","summary":"","completion_summary":"Added mobile responsive fixes: table overflow-x:auto at 768px, minmax grid collapse (280-400px), card-grid stacking, demo page 480px breakpoint, mermaid scroll, trace card vertical layout, body overflow-x:hidden. Fixes apply globally via style.css and api.py inline media 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":"74b073b3-430f-49ba-8e5b-077cbd780ed0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.699262+00:00","summary":"","completion_summary":"Fixed mobile responsive gaps: added 5-column grid collapse rules for dashboard five-layers section, and minmax(400px) overflow fix for artifact grids. Both api.py inline CSS and site/style.css updated. Existing responsive foundation was already solid with 3 breakpoints (768/480/360px).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"dd2ab345-94e9-40bf-8fcc-53da1f4c905d","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.685195+00:00","summary":"","completion_summary":"Mobile responsive largely in place: 3 breakpoints in style.css (768px, 480px, 360px), hamburger nav, wiki layout adapts, exchange grids collapse to 1fr on mobile. 11 @media queries in api.py inline styles. Further refinements can be incremental.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3ba39b9f-8bc4-4a4d-8ffc-3f3dc2c6e952","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.670227+00:00","summary":"","completion_summary":"Duplicate — already verified: site/style.css has 300+ lines of responsive CSS at 3 breakpoints (768px, 480px, 360px). Covers nav hamburger, table scroll, grid collapse, 44px touch targets, filter stacking, sidebar, full-width containers.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3f818384-7530-4685-b71c-d096566ee542","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.656345+00:00","summary":"","completion_summary":"Mobile responsive improvements already implemented across multiple commits (7e94cb5, dbd7bb7, 15aa14a, 5d45560). CSS includes @media breakpoints at 768px and 480px for nav hamburger, card stacking, table scroll, grid adjustments.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e72347ca-bbec-466a-af2a-2a4119073191","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.641777+00:00","summary":"","completion_summary":"Already implemented: site/style.css has comprehensive mobile responsive rules at 3 breakpoints (768px, 480px, 360px). Includes: nav hamburger, table horizontal scroll, grid column collapse (3→2→1 col), 44px touch targets, filter bar stacking, sidebar adjustments, container full-width, SVG overflow prevention, modal full-width, compact stats. ~300 lines of responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e8df5023-0cda-4aad-87ef-d1a633832cba","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.627683+00:00","summary":"","completion_summary":"Mobile responsive improvements: added CSS media queries for 5-column grids, card overflow-x scroll for tables, large minmax grid overrides (300-400px), min-width overrides on flex items. Wrapped dashboard and exchange tables in scrollable containers. Reduced artifact grid minmax from 400px to 250px. All 14 pages verified loading 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":"5932d3e0-bb03-4c15-ace4-dca83fa8a003","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.613574+00:00","summary":"","completion_summary":"Added 20 mobile CSS rules across 768px and 480px breakpoints: table horizontal scroll, grid collapse, typography scaling, padding reduction, nav tightening, large font overrides. Branch: worktree-fix-mobile-responsive","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"650d9cf1-abf0-412d-a532-472f3a93f523","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.597772+00:00","summary":"","completion_summary":"Already complete: site/style.css has comprehensive responsive CSS with 3 breakpoints (768px, 480px, 360px). Includes hamburger sidebar nav, touch-friendly 44px targets, grid collapse, horizontal scrolling tables, iOS zoom prevention, overflow protection, and attribute-based selectors for inline styles. All auto-fit grids use responsive minmax values. CSS is properly served at /style.css (200 OK).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"42bc0084-a420-44c9-b236-9843dc4a0bbb","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.583037+00:00","summary":"","completion_summary":"Added mobile responsive CSS improvements: repeat(5) grid collapse, universal flex-wrap on mobile, touch-friendly input sizing (44px/16px font to prevent iOS zoom), evidence matrix word-wrap on small phones, 1fr 1fr 1fr grid collapse. All changes in site/style.css targeting 768px and 480px breakpoints.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bcb1583b-2907-4bcd-b935-7306f9ce28ac","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.568523+00:00","summary":"","completion_summary":"Added mobile responsive CSS: 5-col grid collapse rules for 768px/480px, Exchange compare bar mobile layout, tab-bar flex-wrap, quest-bar/task-row flex-wrap, refresh-indicator repositioning. All pages verified loading at 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":"4acbc839-15be-46c5-a3bf-b5d705b51258","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.552894+00:00","summary":"","completion_summary":"Added mobile responsive CSS fixes: repeat(5,1fr) grid overrides for 768px and 480px breakpoints (was missing for 5-column grids), table horizontal scroll at 768px, and .world-model-viz single-column override at 480px. Both inline CSS in api.py nav_html() and external style.css 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":"d8cfe600-9c17-4143-929e-1b70016d7fb4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.536563+00:00","summary":"","completion_summary":"Added mobile responsive improvements: global table overflow-x:auto for horizontal scroll, 5-column grid breakpoints for Five Layers dashboard, overflow wrappers on Exchange/Dashboard/Mission tables, min-width resets, canvas responsiveness, reduced padding on mobile. Pushed 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":"cf90c77b-e09c-4da6-ba2f-8d1a695aa6f9","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.521952+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"452a8268-7cba-4d34-83f5-4cd11b769bc1","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.507484+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f33d93c1-a399-4a6b-b44c-ec12d98632c4","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.492304+00:00","summary":"","completion_summary":"Added overflow-x:auto scroll wrappers to 11 tables on /exchange, /senate, /senate/performance, and /resources pages. All pages verified returning 200. Global style.css already had comprehensive mobile responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d7a6e06d-f155-4043-bc2e-fa94be13bd33","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.478519+00:00","summary":"","completion_summary":"Already comprehensive. style.css has 731 lines of mobile-responsive CSS with breakpoints at 768px and 480px. Handles: grid layouts stacking to single-column, table overflow-x scrolling, font size reductions, card/tag padding, hamburger nav, sidebar width for small screens, modal full-width, tab bar scrolling, breadcrumb sizing, gap reductions. The inline nav_html CSS also has grid override media queries. 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":"93f3f17a-4285-4f1a-90e3-7ce0fad0986f","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.464587+00:00","summary":"","completion_summary":"Mobile responsive with viewport meta and responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"59a2ea3e-943f-49ad-bc09-8ac409a8677b","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.450638+00:00","summary":"","completion_summary":"Added mobile responsive CSS in style.css and nav_html(): filter bars stack vertically, flex gaps reduce on mobile, SVGs/images constrained to viewport, containers get full-width with reduced padding, type badges get 36px touch targets, code blocks scroll horizontally, 480px breakpoint collapses flex to column.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cd731ad6-7c4c-449f-a4c4-91401e648942","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.436577+00:00","summary":"","completion_summary":"Mobile responsive improvements: fixed grid overflow with min() in minmax(), added 480px breakpoints for world-model-viz and vision page, enhanced both 768px and 480px CSS breakpoints with touch targets (44px min), compare bar stacking, tab bar scrolling, filter grid stacking, body overflow-x hidden, and image/code overflow handling. All pages verified loading 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":"7f82a3b1-67e0-4892-8c81-be0a545d24b7","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"archived","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:36.421671+00:00","summary":"","completion_summary":"Mobile responsive improvements: Added CSS media queries for grid stacking (4-col→2-col at 768px, all→1-col at 480px), table overflow-x wrappers on Exchange/Dashboard/Resources/Mission tables, search input min-width fix, Exchange tab bar horizontal scroll, sidebar max-width for small screens, tighter mobile padding. All 10 main pages verified rendering. Branch: worktree-mobile-responsive","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e563f807-5f68-446a-9822-c43513efeda0","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:39:40.460933+00:00","updated_at":"2026-04-19T05:39:40.460933+00:00","summary":"","completion_summary":"[UI] Update spec: acceptance criteria met, work log updated [task:e563f807-5f68-446a-9822-c43513efeda0]; [UI] Add mobile CSS to 3 standalone pages: trem2-3d, provenance-example, tau-propagation-analysis [task:e563f807-5f68-446a-9822-c43513efeda0]; [UI] Work log: mobile responsive audit + trem2-3d.html fix [task:e563f807-5f68-446a-9822-c43513efeda0]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3db52188-8347-4d61-9d0e-050e4a3a3d85","title":"[UI] Add /search link to sidebar navigation and keyboard shortcut","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:28:34.731636+00:00","updated_at":"2026-04-19T05:28:34.731636+00:00","summary":"","completion_summary":"Task already complete on origin/main: /search sidebar nav, /notebooks link, and Ctrl+K keyboard shortcut all implemented in commit 8e3f45ed0","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/3db52188_834_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"931270aa-2278-4caf-8cd7-fdd2b7151f21","title":"[UI] Mobile responsive improvements across all pages","description":"Test and fix mobile layout on all main pages. Ensure cards stack properly, tables scroll horizontally, nav works on mobile.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:24:44.534868+00:00","updated_at":"2026-04-19T05:24:44.534868+00:00","summary":"","completion_summary":"Mobile responsive already shipped: style.css has 33 @media queries, api.py has 38, viewport meta on all pages, overflow-x handling in place. Confirmed via git show origin/main.","completion_notes":"Prior closure commit 8fa168a8c already verified mobile responsive CSS (33 media queries in style.css, 38 in api.py) shipped on main. Re-verified: origin/main style.css has 33 @media queries, all pages have viewport meta tags, tables have overflow-x handling, nav has flex-wrap. No additional work needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/931270aa-227_ui_mobile_responsive_improvements_acros_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Ran: git show origin/main:site/style.css | grep -c '@media' → 33. git show origin/main:site/index.html | grep 'viewport' → present. git show origin/main:api.py | grep -c '@media' → 38. All acceptance criteria met.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"840112c6-224d-468b-b4a3-8d7446ea7793","title":"[UI] Optimize /atlas page performance — reduce 1.1s load time","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:22:11.193060+00:00","updated_at":"2026-04-19T05:22:11.193060+00:00","summary":"","completion_summary":"Already addressed: /atlas 500 error and performance optimization landed on main via 50f38aa71 (2026-04-02)","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/840112c6_224_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Confirmed: _get_cached_page(\"atlas\") at api.py:58656, _set_cached_page(\"atlas\", page) at 58877. All 4 acceptance criteria marked complete in spec. Code analysis confirms no _cache_page references remain.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0132bb21-2fe3-4313-b2af-ae60496eb051","title":"[UI] Add breadcrumb navigation to hypothesis, analysis, and wiki detail pages","description":"Add consistent breadcrumb navigation at the top of detail pages (hypothesis, analysis, wiki, experiment) showing the path like Home > Exchange > Hypothesis Name. Improves orientation and navigation especially for demo visitors. Check if breadcrumb_html() function exists and use it.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":82,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:14:10.965657+00:00","updated_at":"2026-04-19T05:14:10.965657+00:00","summary":"","completion_summary":"Already resolved: breadcrumb navigation present on all four detail page types in origin/main","completion_notes":"Verified: `breadcrumb_html()` from `api_shared/nav.py` is already used on all four detail page types — hypothesis (line 35090 with hyp_breadcrumb path), analysis (line 38685), wiki (line 54115), experiment (line 36171). No code changes needed.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/0132bb21_2fe_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: breadcrumb navigation present on all four detail page types in origin/main","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0faccb6f-0f45-4b93-b320-748de3fb9791","title":"[UI] Build API documentation: add docstrings and OpenAPI descriptions to 20 undocumented endpoints in api.py","description":"Improve API discoverability by adding OpenAPI documentation to the 20 most-used but undocumented endpoints in api.py.\n\nSteps:\n1. Find undocumented routes: grep api.py for `@app.get\\|@app.post\\|@app.put` without adjacent docstrings\n2. Select 20 high-traffic endpoints (prioritize: /api/hypotheses, /api/analyses, /api/wiki, /api/search, /api/kg)\n3. For each endpoint, add:\n   - FastAPI docstring with: description, parameter explanations, return value description\n   - response_model annotation if missing\n   - Example values in the docstring\n4. Verify the /docs endpoint shows the new documentation\n5. Verify no endpoints broken by the additions\n\nAcceptance criteria:\n- 20 endpoints have docstrings added\n- /docs (SwaggerUI) shows descriptions for all 20\n- All 20 endpoints still return correct responses\n- No existing tests broken","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-28T06:31:34.558544+00:00","updated_at":"2026-04-28T06:31:34.558544+00:00","summary":"","completion_summary":"[UI] Add OpenAPI docstrings to 20 high-traffic endpoints in api.py","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":"q10-u2-F37603C4","title":"[UI] Add loading states and error handling to all pages","description":"Add skeleton loaders or spinners for all client-side fetch() calls. Add error states (friendly error message, retry button). Currently pages show blank when API is slow. Priority: /exchange, /quests, /graph, /senate.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:56:20.138877+00:00","updated_at":"2026-04-26T05:56:20.138877+00:00","summary":"","completion_summary":"Task closed as already complete. Commit `1f27ab50b` (from this task's earlier run) already landed the loading states and error handling on main. The current branch's diff was harmful (removing loading states + 59 files of unrelated debris), so it was not pushed.","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":"Task closed as already complete. Commit `1f27ab50b` (from this task's earlier run) already landed the loading states and error handling on main. The current branch's diff was harmful (removing loading states + 59 files of unrelated debris), so it was not pushed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e70b5abf-62a1-4589-b527-def6ffe4deb0","title":"[UI] Unified nav component across all pages","description":"UI6.1: Create single nav_html(active) function in api.py. All dynamic pages use it. Update static pages (how.html, atlas.html, graph.html, pitch.html) to share identical nav.\n\nAcceptance: All pages have identical nav with correct active highlighting.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T03:33:38.500827+00:00","updated_at":"2026-04-26T03:33:38.500827+00:00","summary":"","completion_summary":"Task `e70b5abf-62a1-4589-b527-def6ffe4deb0` is already complete 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/e70b5abf_62a_unified_nav_componen_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":"217d06c6-6c14-4644-b8eb-d484c017bb53","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T15:42:43.174760+00:00","updated_at":"2026-04-25T15:42:43.174760+00:00","summary":"","completion_summary":"Task closed. All five detail pages (entity, hypothesis, analysis, experiment, target) already have `breadcrumb_html(...)` calls on main — the functionality was implemented in subsequent development after the original attempt. 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":"","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 in main. All five detail pages have breadcrumbs: entity (line 54957, Home/Knowledge Graph/{entity}), hypothesis (line 36449, Home/Exchange/[Analysis]/title), analysis (line 40338, Home/Analyses/title), experiment (line 37738, Home/Exchange/Experiments/title), target (line 39534, Home/Exchange/Targets/gene). breadcrumb_html is imported from api_shared.nav and used throughout. Prior commit 2d89510f6 was not merged but subsequent development fully addressed this on main.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"08b8b4a6-793c-488a-a290-f46571da0e71","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.118483+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":"eef9e581-2089-419b-a2f4-462c112d05f6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.105165+00:00","summary":"","completion_summary":"Already verified/completed 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":"c802ad66-3a5c-4205-98ee-0c975ae9fb61","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.091818+00:00","summary":"","completion_summary":"Duplicate. breadcrumb_html() used 49 times.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4c1336c2-eb44-4c34-8ac5-5873be63289c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.075974+00:00","summary":"","completion_summary":"Duplicate. Breadcrumbs already on all detail pages (49 uses of breadcrumb_html in api.py). Verified: hypothesis, analysis, wiki detail pages all have Home/Section/Title breadcrumbs with back arrows.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b7f5130f-cc7b-40b4-adff-b3dab3021967","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.061519+00:00","summary":"","completion_summary":"Breadcrumbs already implemented across all detail pages. breadcrumb_html() used 49 times in api.py. Verified: hypothesis pages show Home/Exchange/Analysis/Title with back arrow, analysis pages show Home/Analyses/Title, wiki pages show Home/Wiki/Title. All with consistent styling and back-navigation arrows.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"65395c46-b4a7-4171-9b68-f04bd0a18158","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.048128+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() function at api.py:947 with back-navigation arrow. Used on 20+ pages including exchange, analyses, hypotheses, experiments, missions, artifacts, targets, clinical trials, etc. (51 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":"bbbc47c3-8312-4d7e-8211-976e5f47edda","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.034870+00:00","summary":"","completion_summary":"Already implemented. All 5 detail pages (hypothesis, analysis, experiment, wiki, entity/target) have breadcrumbs using shared breadcrumb_html() helper at api.py:947. Each page has proper Home > Section > Page hierarchy with back navigation 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":"48ccbe6a-1fbc-4c16-899e-abeaf879782f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.021815+00:00","summary":"","completion_summary":"All detail pages (entity, hypothesis, analysis, experiment, target, mission, notebook, wiki, debate, walkthrough, agent) already have breadcrumbs via breadcrumb_html(). Added missing breadcrumb to hypotheses listing page (Home > Exchange > Hypotheses). Change already 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":"02454b52-ad8f-4f55-af5e-1f980db35771","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:29.007985+00:00","summary":"","completion_summary":"Already complete: breadcrumb_html() function at line 947 with 49 uses across all detail pages. Entity, hypothesis, experiment, target, analysis, mission, notebook, walkthrough, debate, wiki pages all have breadcrumbs with Home → Section → Page hierarchy and back-navigation arrow.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"15ff2d4b-f831-4df5-a6dd-01034ff540a4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.994449+00:00","summary":"","completion_summary":"Duplicate — see task b0d43e96. 50 breadcrumb references already 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":"b0d43e96-a6fe-4fa9-8253-dc5f88ea03f6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.981283+00:00","summary":"","completion_summary":"Breadcrumbs already implemented across all detail pages — 50 breadcrumb references in api.py. breadcrumb_html() helper used on hypothesis, analysis, entity, experiment, target, wiki, compare, and other 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":"11695cab-2506-4c21-9410-6dc82b424c88","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.966834+00:00","summary":"","completion_summary":"All detail pages already have breadcrumb navigation: hypothesis (Home>Exchange>Analysis>Title), analysis (Home>Analyses>Title), entity (Home>KG>Type:Name), experiment (Home>Forge>Experiments>Title), target (Home>Exchange>Target:Gene), wiki (Home>Wiki>Type:Title), notebook (Home>Notebooks>Title). 41 breadcrumb usages across 7 page types with consistent CSS styling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"54587506-1d0f-422a-973f-1c496738e1a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.953051+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() used 48 times in api.py across all detail page types.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b66b4460-ba0d-46e4-b68c-17dbd8b5e426","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.940074+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() function used 48 times across api.py. Breadcrumbs present on analyses, hypothesis, entity, experiment, target, and other detail pages with CSS responsive styling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"22db63db-6211-42b1-9409-4582564806ef","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.925857+00:00","summary":"","completion_summary":"Added breadcrumbs to hypotheses listing page (Home > Exchange > Hypotheses) and improved target detail breadcrumb path to include Targets listing link. All other detail pages already had breadcrumbs via the existing breadcrumb_html() helper.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"af9124f8-7c52-489b-ad2c-0bcd348e10bb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.912067+00:00","summary":"","completion_summary":"Already implemented. All detail pages (hypothesis, entity, analysis, target, experiment) have breadcrumb navigation and back links. CSS class .breadcrumbs defined, sticky nav bar with navigation, and footer back links present on all page types.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e38aa1eb-d3ff-4f3a-bde5-1471638bfd4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.897231+00:00","summary":"","completion_summary":"Added breadcrumbs to /hypotheses listing page (Home / Exchange / Hypotheses). All other detail pages (hypothesis, analysis, entity, target, experiment, debate, notebook, etc.) already had breadcrumbs via breadcrumb_html() helper — 45+ pages audited.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3c17eac7-17a4-41ee-a9a2-66c9c18bd832","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.879429+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages (confirmed in analyses page code and walkthrough 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":"b378443e-cae2-4e02-9e69-f2699621e4c7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.859445+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumb_html() calls: entity_detail, hypothesis_detail, experiment_detail, analysis_detail, target_detail, mission_detail, notebook_detail, wiki_page, debate_detail, artifact_detail, senate_agent_detail. Running server shows stale code (started 21:15, code updated 23:19) — breadcrumbs will appear after next restart.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0f0ac0c7-2750-48f8-bd56-77a201b1cdc8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.825914+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":"4214d0b7-575e-4a89-983d-3bfd9b9d0963","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.809681+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bb2278a8-26f2-41e1-b6f9-525b772e7329","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.794516+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bc3c624d-e31b-48b7-a9e7-8f2e3db65483","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.779692+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":"ae499c48-4da3-4ab4-b665-5fc25e32f514","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.765496+00:00","summary":"Verified complete by slot 1","completion_summary":"","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"53b11876-55cb-49c5-b65d-f6dd7a55703d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.749517+00:00","summary":"Already implemented - verified by slot 1 CI check","completion_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":"c82a7b0e-c929-497d-b2d7-6ef5f7ba57df","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.733490+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":"313ff26a-cddb-43c8-bae5-1288f545d6e5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.717761+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":"845e0dd7-dc9e-4f33-bc38-6336cb34e70b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.699067+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":"7ead1175-b545-4485-8e37-ee23b9d185a2","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.680132+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":"c9c4b648-eb81-4f1d-a164-af2c4449a861","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.665442+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":"5864e89e-61d3-4382-ad19-72d5fc8e94de","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.650234+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":"c093aa40-13e1-4211-b893-22eafe421edf","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.635565+00:00","summary":"","completion_summary":"Duplicate task — breadcrumbs already exist on all detail pages (48 breadcrumb_html() calls): hypothesis, experiment, entity/KG, target, analysis, wiki, debates. Already completed as task 75ee1623.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cb99010a-52bd-4936-bc68-61923a06e0da","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.620471+00:00","summary":"","completion_summary":"Already implemented. All detail pages have breadcrumb/back-navigation: hypothesis pages (4 refs), analysis pages (2 refs), entity pages (2 refs), wiki pages (1 ref). Pages include « Back links and navigation context.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"260dc7a0-3100-4fca-8ba6-618303346624","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.606301+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":"75ee1623-5aeb-4e5f-b481-f9d1b7a8350e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.592719+00:00","summary":"","completion_summary":"Breadcrumbs already exist on all detail pages: hypothesis (line 10678), experiment (line 11231), entity/KG (line 19608), target (line 12178), analysis (line 12673), wiki (line 21008), debates (line 27252). 48 total breadcrumb_html() calls across the app. 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":"84385e1b-f80d-402c-9800-92f4a7c11f43","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.578984+00:00","summary":"","completion_summary":"84385e1b-f80d-402c-9800-92f4a7c11f43","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6ae3ea6d-955a-4500-ae41-3ee552f6b629","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.564509+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":"2730187f-11e9-4269-a319-494e99cc6747","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.550134+00:00","summary":"Already done: Breadcrumbs present on hypothesis and other detail pages","completion_summary":"Dup: breadcrumbs exist 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":"eb3beeb2-9492-46e8-95ff-bf75ce7062a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.534788+00:00","summary":"Already done: Breadcrumbs present on hypothesis and other detail pages","completion_summary":"eb3beeb2-9492-46e8-95ff-bf75ce7062a8","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"13504ee0-d3df-408a-b063-1d36738ee2db","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.520875+00:00","summary":"","completion_summary":"13504ee0-d3df-408a-b063-1d36738ee2db","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d6ba2b27-77b5-4728-9c41-d0e4ceab7989","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.506966+00:00","summary":"","completion_summary":"Verified breadcrumbs exist on all detail pages: 50 breadcrumb_html() usages including hypothesis, analysis, experiment, target, entity/wiki, debate detail pages, plus index pages for artifacts, exchange, missions, forge, etc.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"20d5c559-a730-4882-a73f-b7199ced0b2a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.492191+00:00","summary":"","completion_summary":"Already complete — breadcrumbs present on all 5 detail page types (hypothesis, analysis, entity, experiment, target) with consistent nav pattern and mobile responsive CSS.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c35449e8-123b-443e-9eec-b2b5a65d5ba9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.477362+00:00","summary":"","completion_summary":"Breadcrumbs already present on all 5 detail page types: hypothesis (Home/Exchange/Analysis/Title), analysis (Home/Analyses/Title), entity (Home/Knowledge Graph/Title), experiment (Home/Forge/Experiments/Title), target (Home/Exchange/Target). All use consistent nav breadcrumb pattern with font-size:0.85rem and / separators. Mobile responsive breadcrumb CSS already in style.css.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"281c1b05-f981-4e7e-b0c7-e906f5512b70","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.463064+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages: hypothesis, analysis, entity, wiki. Format: Home / Section / Parent / Title with clickable links and back-navigation footer.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e55645ce-ac5f-4c84-b25a-c4d07e7def3c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.448623+00:00","summary":"","completion_summary":"Duplicate task — already verified in task 5a3cd753. All detail pages (hypothesis, entity, analysis, experiment, target, wiki, notebook, debate, walkthrough, artifact, mission) already have breadcrumbs with proper back-navigation paths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5a3cd753-7b8c-41ed-ae5d-327d5909d84c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.433671+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumbs: hypothesis, entity, analysis, experiment, target, wiki, notebook, debate, walkthrough, artifact, and mission pages all render breadcrumb_html with proper back-navigation paths. 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":"7f4e88af-46df-45a0-992d-baeb4a5c0513","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.418458+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":"10506283-cb5e-405e-bb7c-3dedadfb07f3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.404878+00:00","summary":"","completion_summary":"Duplicate. Breadcrumbs on all 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":"f0c67960-390e-48c8-bba8-b908107db50e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.389664+00:00","summary":"","completion_summary":"Duplicate of 064922b5. Breadcrumbs already on all 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":"064922b5-5b4e-431c-b410-12431a9d8951","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.376623+00:00","summary":"","completion_summary":"Task already implemented. Breadcrumbs present on: hypothesis, entity, wiki, target, analysis, and senate/performance detail pages. All show Home > Section > Page navigation path.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f13925b6-383c-4961-a487-c254c32ffe2c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.361324+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":"c5d35ea9-348f-4844-a50d-d55d502278f5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.346730+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":"79892822-6e55-4624-889c-228d6a3080f9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.332997+00:00","summary":"","completion_summary":"Duplicate. Breadcrumbs done.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"203565d2-4d66-4b0f-aa09-7ee16809f132","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.319533+00:00","summary":"","completion_summary":"Already implemented. breadcrumb_html() used on 30+ pages: entity, hypothesis, analysis, experiment, target, debate, wiki, notebooks, gaps, agents, senate, artifacts, etc. All show Home > Section > Detail path 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":"3be4b002-edcf-4589-a7e2-6d20a73d7102","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.305483+00:00","summary":"","completion_summary":"Duplicate. All breadcrumbs 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":"3d10120b-9132-4682-916e-c4960ad901fd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.291969+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":"f2122e2f-7c77-4da1-b434-748b09626b31","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.278726+00:00","summary":"","completion_summary":"Already implemented: breadcrumbs with back-navigation on hypothesis, entity, analysis, and experiment 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":"c6444578-1395-4773-834f-df09289e9a64","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.264776+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs with back-navigation: hypothesis (Home/Exchange/Analysis/Title), analysis (Home/Analyses/Title), experiment (Home/Forge/Experiments/Title), target (Home/Exchange/Target:Gene), entity (Home/Knowledge Graph/Type:Name). breadcrumb_html() is used across 40+ locations. 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":"639e4017-aa98-4cee-b723-3a0881e51d70","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.250454+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all detail pages. breadcrumb_html() helper defined at line 936 with 48 usages across: hypothesis detail, experiment detail, analysis detail, wiki pages, target detail, artifacts, dashboard, missions, market dynamics, comparison pages, clinical trials, and more. Each uses hierarchical navigation (Home → Section → Subsection → Current). Not visible on live server because it needs restart with latest code.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d05b7137-dbd4-449c-9138-6ee405f17c0c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.236583+00:00","summary":"","completion_summary":"Duplicate — already completed (c5cff41b, 4728ffc6). All detail pages have breadcrumb_html() with back-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":"7bf1f7a1-635b-4b3b-b622-2f2660bd854f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.221765+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages: hypothesis, analysis, entity, experiment, and target pages all have breadcrumb navigation. Verified on /hypothesis/h-4dd0d19b, /analysis/SDA-..., /entity/TREM2, /experiment/exp-debate-..., /target/t-...","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ddbf9cb2-2b07-4ad7-bcc3-ffff858e14ce","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.205911+00:00","summary":"","completion_summary":"Already complete in code: breadcrumb_html() is called on entity pages (line 19547), wiki pages (line 20909), wiki listing (18997), hypothesis detail (10617), analysis detail (12612), experiment listing (10966), experiment detail (11170), target pages (11477, 12117), and many more. All detail pages have breadcrumbs showing navigation path (Home > Section > Page). Running server needs restart to reflect latest code.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c532178f-25e4-4c5f-8e2e-227608fc1dc9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.190407+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs via breadcrumb_html(): hypothesis (line 10617), target (line 12117), analysis (line 12612), entity (line 19547), wiki (line 20908), experiment (line 11170), walkthrough (line 26619), mission (line 8149). The /wiki/{slug} redirect calls wiki_page() which has breadcrumbs. 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":"083be0b8-a089-49c2-900d-938f3aafd4b0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.175208+00:00","summary":"","completion_summary":"Breadcrumbs already implemented across all detail pages: 40+ breadcrumb_html() calls across 56 HTML endpoints. Entity, hypothesis, analysis, experiment, target, wiki, artifact, notebook, debate, and mission pages all have breadcrumbs with proper navigation paths (e.g., Home / Exchange / Analysis / Hypothesis). The breadcrumb_html() helper generates back-navigation with styled separators.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"41989682-a741-4792-86d6-b8aa259b9d50","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.160606+00:00","summary":"","completion_summary":"Duplicate. All pages have breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0c72efa5-766f-489d-87e8-70b1a50aab16","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.145525+00:00","summary":"","completion_summary":"Duplicate of f0272bf6. All detail pages already have breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"b1d9683f-2a33-4aed-9e1f-a90189993bad","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.131227+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":"cbf6ad66-fb8c-4565-a2bf-0058c6f60d33","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.117751+00:00","summary":"","completion_summary":"Already implemented — breadcrumb_html() used 48 times across all pages. All detail pages have breadcrumbs: experiment (Home/Forge/Experiments/title), target (Home/Exchange/Target:gene), hypothesis (Home/Exchange/Analysis/title), analysis (Home/Analyses/title), entity (Home/Wiki/entity). CSS handles mobile wrapping.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7eba15c1-9c8d-4d31-8e61-f05b1aabe76d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.101718+00:00","summary":"","completion_summary":"Duplicate of f0272bf6. All detail pages already have breadcrumbs (48 breadcrumb_html calls across codebase). 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":"f0272bf6-0dd0-4bdb-bcf5-eed3ba13c373","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.085160+00:00","summary":"","completion_summary":"Verified all HTML detail pages already have breadcrumbs: hypothesis_detail, target_detail, entity_detail, wiki_page, analysis_detail, notebook_detail, walkthrough_detail, experiment_detail, debate_detail, mission detail. The wiki_detail route is a redirect to wiki_page which has breadcrumbs. 48 breadcrumb_html calls across the codebase. 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":"4728ffc6-25ba-4e37-a434-4344035afee3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.071130+00:00","summary":"","completion_summary":"Duplicate of c5cff41b (already completed). All detail pages already have breadcrumb_html() with back-navigation — 48 breadcrumb instances across the codebase covering hypothesis, analysis, experiment, target, entity, notebook, walkthrough, debates, senate/agent, wiki, artifact, and mission 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":"4de82ab2-e928-45c3-9054-8e2be501a3eb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.055683+00:00","summary":"","completion_summary":"Already complete: breadcrumb_html() helper used 50 times across api.py. Verified on hypothesis, experiment, and wiki detail pages. All detail pages have navigation breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"80f20741-03e2-4003-b1b9-3def4795b498","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.038814+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":"f682ec9b-f44c-4867-81bd-a2a06c3df17d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.020989+00:00","summary":"","completion_summary":"Already implemented. Breadcrumbs present on all detail pages: hypothesis, entity, experiment, analysis, walkthrough, and target pages all have breadcrumb navigation. breadcrumb_html() helper function used across all routes.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"c9b8eebe-a379-4a95-828d-ed177c94c603","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:28.003700+00:00","summary":"","completion_summary":"Verified: all detail pages already have breadcrumbs. Checked entity, hypothesis, analysis, experiment, target, wiki, debates, gaps, and search pages — all return breadcrumb navigation (Home > Section > 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":"cf09cb71-cf7a-4d54-bd74-ee411bcff2e4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.987579+00:00","summary":"","completion_summary":"Duplicate of 8f2de0d8. All detail pages already have breadcrumbs via breadcrumb_html(). 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":"8f2de0d8-14b3-4e00-865a-f470a8306df8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.973200+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs via breadcrumb_html(). Verified: hypothesis, analysis, entity, wiki, target, debate pages all render breadcrumbs correctly (tested 6 pages, all returning breadcrumb markup). 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":"225c7b7a-e6bd-4927-bf71-0608c0bd3631","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.958955+00:00","summary":"","completion_summary":"Already complete: 48 pages have breadcrumbs via breadcrumb_html(). All detail pages (entity, hypothesis, analysis, experiment, target) include proper breadcrumb navigation with back-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":"c5cff41b-89c5-47e3-a7e3-3c7df4b6ba9e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.943979+00:00","summary":"","completion_summary":"Verified: all detail pages (hypothesis, analysis, experiment, target, entity, notebook, walkthrough, debates, senate/agent, wiki, artifact, mission) already have breadcrumb_html() with back-navigation. 48 breadcrumb instances across the codebase. 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":"060521a8-075c-4107-ae09-1f090666eed5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.929465+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":"c91376c2-879d-4476-a176-0caeff998405","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.915371+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":"4fe9224e-f88b-4a55-9c5a-8493719b0663","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.897270+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":"1210f924-7cc4-4b49-8992-3c5d0ed4d32f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.864328+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":"1c7bd8f1-8048-45b9-8720-c7a8fb99c21c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.850369+00:00","summary":"","completion_summary":"Duplicate — breadcrumbs on all 48 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":"4dae29a2-823a-4438-98e8-a02ef49a963c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.835364+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":"b6f0e675-b8d0-4c2d-a296-adeecc4c3501","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.818729+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":"e9843c54-2fdd-413d-a671-9964654b3396","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.803742+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":"b1f23cf1-1e5a-48ad-8052-6a04a1e34652","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.787657+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages. breadcrumb_html() called 48 times across the codebase. Hypothesis pages: Home > Exchange > Analysis > Title. Analysis pages: Home > Analyses > Title. Entity pages: Home > Wiki > Entity. Experiment pages: Home > Forge > Experiments > Title. Target pages: Home > Exchange > Target. All major navigation paths covered.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6c326e7a-eca7-4ad6-8f2b-88a6876ad826","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.772390+00:00","summary":"","completion_summary":"Already complete: breadcrumbs exist on all detail pages — entity (line 19136), hypothesis (10234), analysis (12229), experiment (10787), target (11734), wiki (20498), debates (26551), plus all listing pages. 50+ breadcrumb instances across the codebase.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a5531601-1f6a-4adc-b921-14341621ad62","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.756683+00:00","summary":"","completion_summary":"Duplicate task — breadcrumbs already implemented on all 47+ pages. Completed in prior task a29b11b7.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a29b11b7-4458-48ce-9578-50416534a098","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.740795+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all 47 pages including entity detail, hypothesis detail, analysis, experiment, target, wiki, forge, senate, agents, notebooks, and all other detail pages. Uses breadcrumb_html() helper at line 884.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a548e04f-a3fe-4298-80af-bacc17bbd3bc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.721487+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs implemented. Verified: hypothesis, analysis, experiment, target, entity, walkthrough, notebook, wiki, mission, debate, artifact, and senate/agent pages all use breadcrumb_html() with proper navigation paths. No changes required.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"15dafb00-c4fe-4a60-b02d-042ff9b36254","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.703135+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":"467607e0-c123-44ec-a08f-18ec6d9f332c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.671392+00:00","summary":"","completion_summary":"Feature already fully implemented. breadcrumb_html() helper used on 49 pages across all detail page types: entity/wiki pages, hypothesis pages, analysis pages, experiment pages, target pages, debate pages, agent pages, senate pages, forge pages, notebook pages, and more. All have proper navigation paths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ca289ebc-99d0-45b3-875a-fed60a07dd98","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.655119+00:00","summary":"","completion_summary":"Already implemented. breadcrumb_html() helper exists at line 880 and is used 40+ times across all pages: hypothesis, experiment, target, analysis, entity detail pages plus all listing and dashboard pages. All have proper navigation chains (Home > Section > Detail).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a29bccbe-d9b0-4e32-a8f0-20c0bd68e834","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.639540+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs via breadcrumb_html() helper: entity, hypothesis, analysis, experiment, target, wiki, debate pages, plus listing pages (dashboard, missions, agora, gaps, agents, senate, forge, papers, clinical-trials, artifacts). 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":"ae0b257e-a415-46b7-8120-76c73149ca96","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.623040+00:00","summary":"","completion_summary":"Already complete (duplicate of task 18ec417e). All detail pages have breadcrumbs: entity, hypothesis, analysis, experiment, target, wiki, notebook, plus graph and search pages added in commit e12e39b8.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"18ec417e-dcc0-4b38-8370-3363f9f8a4d7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.606756+00:00","summary":"","completion_summary":"Added breadcrumbs to /graph and /search static pages. All detail pages (hypothesis, entity, analysis, experiment, target, wiki, notebook) already had breadcrumbs — 47+ breadcrumb usages across the codebase.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"885db141-a0f0-4485-a952-c1903a4186fd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.589000+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() helper at line 868 generates breadcrumb navigation. Used on 30+ pages including: entity, hypothesis, analysis, experiment, target, artifact, wiki, senate, forge, and exchange pages. All detail pages have proper navigation paths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d34f6370-02a9-46d7-949a-96309f01d654","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.571485+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() function at api.py:868, used on 45 pages including hypothesis detail, entity, analysis, experiment, target, wiki, debate, artifacts, exchange, market dynamics, and all other detail pages. Pattern: Home > Section > 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":"b20ded60-e9bc-47c7-b206-a8f108a2b260","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.552998+00:00","summary":"","completion_summary":"Already implemented — all 5 detail page types (hypothesis, experiment, target, analysis, entity) already have breadcrumbs via shared breadcrumb_html() function (api.py:868). Each page includes correct navigation paths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b672a80-9e42-404a-a3e3-07e1c1934543","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.536554+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumbs via breadcrumb_html() helper (42 usages). Entity, hypothesis, analysis, experiment, target, wiki, walkthrough, debate, mission, artifact, notebook, and agent pages all have proper breadcrumb navigation. 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":"e6d56eaa-7e2e-4207-a5e7-efcd7856b9bb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.520075+00:00","summary":"","completion_summary":"Already completed — breadcrumb_html() function at api.py:868 generates breadcrumbs. Present on all detail pages: hypothesis (3 breadcrumb elements), analysis (2), entity (2), wiki (4), experiment (1), plus listing pages (dashboard, exchange, missions, artifacts, analyses, status). All major page types have back-navigation breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a4675db1-5b43-4ebd-a1b4-6ecf9bddd08b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.492343+00:00","summary":"","completion_summary":"Already complete — breadcrumb_html() used 45 times across all page types: entity, hypothesis, analysis, experiment, target, wiki, forge, senate, artifacts, notebooks, debates, etc.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"79309940-b22a-4579-b44e-5fdadcf2057d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.469153+00:00","summary":"","completion_summary":"Verified: all 11 detail pages already have breadcrumbs — hypothesis, experiment, target, analysis, notebook, wiki, entity, walkthrough, mission, artifact, and senate agent 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":"bb4a928c-eef8-49a8-b5d0-1bf656af60ca","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.448488+00:00","summary":"","completion_summary":"Breadcrumbs already implemented across all detail pages via breadcrumb_html() helper. Found 37+ usage sites covering: hypotheses, analyses, experiments, targets, wiki entities, senate, forge, agents, notebooks, missions, artifacts, gaps, clinical trials, and comparison pages. All render correctly with proper navigation hierarchy.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bca74295-4766-4cb5-8e9a-ddba85e5fe30","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.431004+00:00","summary":"","completion_summary":"All 13 detail pages already had breadcrumb_html() navigation. Added consistent back-navigation arrows to 3 pages that were missing them: experiment (← Back to Experiments), target (← Back to Exchange), and entity (← Back to Knowledge Graph). Syntax verified, merged and pushed.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3830443a-1afe-4883-9cab-526b999beec5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.414705+00:00","summary":"","completion_summary":"Already complete: All detail pages (hypothesis, target, experiment, entity, analysis) have breadcrumbs with back-navigation. Verified via curl — each page has breadcrumb_html with Home > Section > Page path.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9a700d8d-355e-4cd2-9885-745ea5b436d3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.397587+00:00","summary":"","completion_summary":"Verified all detail pages (entity, hypothesis, analysis, experiment, target, mission, notebook, wiki, walkthrough, debate, artifact, senate/agent) already have breadcrumb_html() navigation. 44 breadcrumb instances across 30+ pages. 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":"edd189de-b3e1-4188-a082-de31814185df","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.380904+00:00","summary":"","completion_summary":"Audited all 43+ HTML routes — 42/43 already had breadcrumbs. Added missing breadcrumb to /agents/performance (Home > Senate > Agents > Performance). All detail pages mentioned in task (entity, hypothesis, analysis, experiment, target) already had proper breadcrumb 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":"1f7f9313-3ec8-45c1-8437-ade3b9f1ec66","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.365570+00:00","summary":"","completion_summary":"Already implemented — all detail pages (entity, hypothesis, analysis, experiment, target, wiki) already have breadcrumb navigation via breadcrumb_html() function (defined at api.py:827). Found 30+ breadcrumb instances across the codebase.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"75354bd3-c44a-4918-b82c-294081ec5f1f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.349512+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all detail pages (entity, hypothesis, analysis, experiment, target, wiki, notebook, debate, walkthrough, showcase, etc.) via breadcrumb_html() function. Back-navigation provided through clickable parent links in breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"85985a5f-1f1a-4dfa-bc86-b9d0788246f4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.333533+00:00","summary":"","completion_summary":"Already done — all detail and sub-pages already have breadcrumbs on main (47 breadcrumb_html calls). Verified /senate/performance, /senate/actors, /demo, /resources, /agents, /compare, plus all entity/hypothesis/analysis/experiment/target/wiki/notebook/debate detail pages all render breadcrumbs 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":"4043243f-3471-4914-b180-0065c6579ff5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.316183+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs via breadcrumb_html() function (api.py:694-706). Verified breadcrumbs on: hypothesis, experiment, target, analysis, wiki, entity, notebook, mission, artifact, agents, senate, and forge pages. Back-navigation links also present in footers. 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":"da1ea749-8fbd-4962-8f6a-7744f7071a4b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.299284+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumb navigation: hypothesis, analysis, experiment, target, entity, wiki, and debate pages all use breadcrumb_html() with proper hierarchy (Home > Section > Page). Confirmed via both code inspection and live curl tests showing breadcrumb class present in rendered HTML.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"6258442a-a235-42be-b01e-8ddb0d5b5705","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.285425+00:00","summary":"","completion_summary":"Already complete: All 6 detail page types (hypothesis, analysis, target, experiment, entity, wiki) already have breadcrumbs via breadcrumb_html() function at api.py:820. 50+ breadcrumb usages across the app. Breadcrumbs follow Home > Section > Subsection > Current Page pattern with styled links and responsive mobile handling.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3b438622-b9a8-423e-961c-74a7d89cdffd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.268020+00:00","summary":"","completion_summary":"Already fully implemented: breadcrumb_html() helper exists with 43 usages across all pages — entity, hypothesis, analysis, experiment, target, wiki, exchange, forge, senate, showcase, papers, debates, notebooks, agents, etc. All detail pages have proper breadcrumb navigation chains.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"07baaee2-bdcd-4077-a6c2-82fc4b9c232f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.251820+00:00","summary":"","completion_summary":"All detail pages already have breadcrumb navigation: hypothesis (Home/Exchange/Analysis/Title), entity (Home/KG/Entity), wiki (Home/Wiki/Page), experiment pages all have breadcrumbs. CSS class .breadcrumbs also defined.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a3e78ff0-6ca5-4c90-a1ee-160ee6b15df4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.237502+00:00","summary":"","completion_summary":"All detail pages (hypothesis, entity, target, experiment, analysis) already have breadcrumb 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":"abf764fa-5ac3-4ac7-adcf-63c94dfbada3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.223002+00:00","summary":"","completion_summary":"Already implemented. breadcrumb_html() is used 43 times across api.py, present on all detail pages: entity, hypothesis, analysis, experiment, target, wiki, atlas, exchange, forge, senate, and more.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"36c0a0e1-0063-4e46-b73c-a8af6346e313","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.208163+00:00","summary":"","completion_summary":"Breadcrumbs already present on 42+ pages. Added missing breadcrumb to /experiments listing page (Home / Forge / Experiments). Fixed experiment detail page breadcrumb path from Exchange to Forge/Experiments for correct hierarchy. All other detail pages (hypothesis, entity, analysis, wiki, target, debate, etc.) already had breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ce98a9b-90a1-4080-8f66-c6acc52e2d54","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.194729+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages: entity, hypothesis, analysis, experiment, target, wiki, showcase/walkthrough, notebook, agent, debate, mission, senate, and all sub-pages. Uses breadcrumb_html() helper across 35+ pages. Only missing from home page (/), /vision, /graph (static), /search (static) where breadcrumbs are not appropriate.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"46ee9b94-a54f-4250-9741-881411b60231","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.180573+00:00","summary":"","completion_summary":"Already verified complete in previous task 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":"2ae639df-3986-41b8-93e5-6bc4781ce107","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.164442+00:00","summary":"","completion_summary":"Breadcrumbs present on key detail pages: hypothesis, entity, experiment, analysis, and wiki pages all have breadcrumb navigation (verified on multiple pages). Uses breadcrumb_html() helper function.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"209c4295-a7a7-4d9e-92f1-1709dd61e064","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.149221+00:00","summary":"","completion_summary":"Already implemented. All 6 detail pages (hypothesis, experiment, target, analysis, entity, walkthrough) have breadcrumbs via shared breadcrumb_html() helper at api.py:797, with responsive CSS in style.css. Verified live: /entity/APOE shows Home/Knowledge Graph/Gene:APOE, /hypothesis/h-51e7234f shows Home/Exchange/Analysis/title. 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":"fbb7e1a3-5de5-4f8a-9097-ef9398e9de95","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.134227+00:00","summary":"","completion_summary":"Already implemented. All detail pages (hypothesis, analysis, entity, wiki) have breadcrumb navigation using breadcrumb_html() helper. Breadcrumbs show full path: Home > Section > Detail.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0327cf37-b0cd-45b1-92ad-1a048238a9c4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.119651+00:00","summary":"","completion_summary":"All detail pages already have breadcrumb_html() navigation: hypothesis, analysis, entity, experiment, target, artifact, mission, and wiki pages. Verified all use consistent breadcrumb pattern.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"599422fd-166b-4c6c-b8fe-5e716d7c03e0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.105619+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":"1108f24e-07be-4a21-bf85-3b01514eddad","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.088906+00:00","summary":"","completion_summary":"Already implemented: All detail pages (entity, hypothesis, analysis, experiment) have breadcrumb navigation showing Home / Section / Page Title with clickable links. Breadcrumbs use consistent nav element styling with color-coded separators.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1d466c44-11c2-4e5a-8dcb-871654b56f8f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.072799+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":"03a14714-7058-49fb-ad60-a49b3e46db11","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.057798+00:00","summary":"","completion_summary":"Duplicate - already verified complete. All detail pages (hypothesis, analysis, entity, wiki, target, experiment, artifacts, missions, senate) have breadcrumbs via breadcrumb_html() helper.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f1197406-e5e1-4362-9a1c-1d7db681a1d3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.041415+00:00","summary":"","completion_summary":"Already complete: breadcrumb_html() is used on 35+ pages including all detail pages (hypothesis, experiment, analysis, target, entity, wiki, artifact, mission, notebook, debate). Each has proper navigation path with back 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":"db9c7462-06b3-4776-84c9-f5c450eef2d5","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.026742+00:00","summary":"","completion_summary":"Added breadcrumbs to experiments listing (Home>Exchange>Experiments), agent performance dashboard (Home>Agents>Performance), wiki 404 page (Home>Wiki>Not Found). Fixed experiment detail breadcrumb to include Experiments parent link. All 38+ pages with nav_html now have proper breadcrumb navigation. Branch: add-breadcrumbs-detail-v2","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"9a91c4b9-18c0-4824-93ac-ad060faac747","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:27.011216+00:00","summary":"","completion_summary":"Already complete. Breadcrumbs verified on: hypothesis detail, analysis detail, entity pages, wiki pages, target detail, experiment detail, artifacts, missions, senate, and all other detail pages. All use breadcrumb_html() helper with proper navigation hierarchy.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5f5d8534-63d7-418e-a126-34dd9eaba94a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.995543+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":"dbd6fb7c-f979-474b-8e84-213b96744f6c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.981133+00:00","summary":"","completion_summary":"Breadcrumbs already present on all detail pages: hypothesis, entity, target, and analysis pages all have breadcrumb_html 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":"613fc426-e4a8-47c2-908b-3d50a844df1e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.964857+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all detail pages. 39 breadcrumb_html() calls across api.py covering: hypothesis (Home/Exchange/Analysis/title), entity (Home/KG/entity), analysis (Home/Analyses/title), experiment (Home/Exchange/title), target (Home/Exchange/Target), wiki, artifact, notebook, debate, mission, showcase, senate, agents, and all listing 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":"cbe818d3-fdb3-4924-ad17-14af333a2a5e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.950421+00:00","summary":"","completion_summary":"Already implemented: all 5 detail pages (hypothesis, experiment, target, analysis, entity) plus wiki pages already have breadcrumb_html() navigation showing Home > Section > Page hierarchy. Verified with curl against live 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":"b1402c94-1b6b-42c9-910f-98579be5d28e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.935865+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumbs: 39 breadcrumb_html calls across analyses, hypotheses, experiments, targets, walkthroughs, missions, notebooks, wiki pages, artifacts, senate, agents, forge, debates, clinical trials etc. Only missing from root dashboard (/) and vision landing page (/vision) which don't need them.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"984f0882-1ff6-41d3-b643-41155a59ac24","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.921846+00:00","summary":"","completion_summary":"Verified breadcrumbs are already present across all key pages: hypothesis detail, target detail, analysis detail, entity pages, wiki pages, debates, papers, notebooks, and all listing pages. breadcrumb_html() function is used in 30+ locations. All major navigation paths have proper breadcrumb trails showing Home > Section > Detail 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":"6b953a83-f358-42bc-ab97-d57a1d4cb7d0","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.908086+00:00","summary":"","completion_summary":"Already implemented. All detail pages (entity, hypothesis, analysis, target) have breadcrumb navigation. breadcrumb_html() helper function generates navigation path breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"49eedc9c-02fd-42a4-a952-5fa8545501fb","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.893406+00:00","summary":"","completion_summary":"Already implemented: All detail pages (hypothesis, entity, analysis, experiment, target, wiki, notebook, artifact, mission, debate, walkthrough) have breadcrumb_html() navigation and back-navigation footers. Verified via curl on live 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":"7265cc7c-2f87-4407-997d-13933a7e5d9b","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.878565+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all detail pages via breadcrumb_html() function (api.py:710). Verified: hypothesis pages (Home > Exchange > Analysis > Title), entity pages (Home > KG > Entity), wiki pages (Home > Wiki > Title), target pages (Home > Exchange > Target), analysis pages (Home > Analyses > Title). 38+ pages have breadcrumb 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":"7539dc96-e9d3-4edc-bd1e-9477cc89affe","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.861694+00:00","summary":"","completion_summary":"Improved breadcrumbs on 4 detail pages: hypothesis (added Hypothesis: prefix), experiment (added Experiment: prefix), target (added clickable Targets listing link), entity (added clickable Wiki link). All pages already had breadcrumbs; changes improve navigation hierarchy and clarity.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"53c139bc-e0f3-412c-98f6-83134f454e77","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.825450+00:00","summary":"","completion_summary":"Added breadcrumbs to the 3 remaining pages missing them: /artifacts, /dashboard, and /status. All other detail pages (entity, hypothesis, analysis, experiment, target, wiki, notebook, etc.) already had breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5473beea-6a13-406e-8f04-5c099c8daff3","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.808686+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 6 pages that were missing them: analyses index, exchange, missions, compare (empty state), notebooks registry, and wiki index. All detail pages (hypothesis, analysis, entity, experiment, target) already had breadcrumbs. Verified syntax and all 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":"360cb0a9-8c04-4136-af34-3089a053494a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.792512+00:00","summary":"","completion_summary":"Verified all detail pages already have breadcrumbs: hypothesis, target, analysis, wiki, walkthrough, notebook, experiment, entity pages all include breadcrumb navigation showing path (Home > Section > 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":"d605e423-0f94-4d75-8d5d-fbaf6237ea92","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.777532+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":"0a0040c3-a6c0-4e00-8c25-3bf0947f523a","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.761740+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 12 pages: /artifacts, /analyses/, /experiments, /wiki, /agents, /exchange, /senate, /agora, /forge, /agents/performance, /senate/performance, /compare. All detail pages already had breadcrumbs. Branch: worktree-add-breadcrumbs-nav","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8dddafd5-ecb2-4228-ace8-1b9c28ad906c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.748290+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":"14d7aaa4-958a-40e5-9bbc-a6d1373d6800","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.734011+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 13 section/listing pages (senate, agora, forge, gaps, targets, papers, resources, quests, demo, showcase, agents, senate/actors, senate/performance). All detail pages already had breadcrumbs. All 13 pages return HTTP 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":"5960f761-a485-4c83-8116-fd1c2d0da087","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.717997+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs implemented. Verified: entity, hypothesis, analysis, experiment, target, notebook, artifact, mission, walkthrough, debate, wiki, clinical-trials, and agent performance pages all use breadcrumb_html() with proper navigation paths.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0ad61db3-57d5-4fed-8fd6-5f6c02cf432f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.704366+00:00","summary":"","completion_summary":"All detail pages already have navigation: (1) Sticky top nav bar with section links on all pages, (2) Collapsible sidebar with full site navigation, (3) Entity pages have contextual links to wiki/hypotheses/KG, (4) Analysis pages have 'Featured Analysis' badges and cross-links, (5) Hypothesis pages have back-to-exchange and related hypothesis links. No additional breadcrumb 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":"bf25a9fc-3201-4904-8263-6f0e2fd969cc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.688305+00:00","summary":"","completion_summary":"Added breadcrumbs to /targets and /papers listing pages (the only two missing them). All other detail pages (hypothesis, analysis, wiki, entity, experiment, target detail, walkthrough, debate, notebook, artifact, mission, showcase, compare, clinical-trials) already had breadcrumbs. Branch: breadcrumbs-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":"2910003c-25df-476d-8e0f-e71e18c045cd","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.670431+00:00","summary":"","completion_summary":"Already done: breadcrumbs on 15+ 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":"43cd18d3-7a1b-463a-bc09-3f3562bac855","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.655343+00:00","summary":"","completion_summary":"Already implemented: breadcrumb_html() used on 15 pages including hypothesis, experiment, target, analysis, entity, wiki, notebook, debate, clinical-trials, missions, showcase, artifacts, and performance dashboard 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":"76195b57-2cf1-4dcc-b8c2-d029dbc50a3c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.639790+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":"5709bb63-6137-4d8c-8898-ced9549509a8","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.623490+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 6 sub-pages that were missing it: /compare, /senate/performance, /senate/actors, /gaps, /resources, /agents. All primary detail pages (hypothesis, experiment, target, analysis, entity, wiki, artifact, mission, notebook) already had breadcrumbs. Also cleaned up redundant 'Back to X' inline links replaced by breadcrumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"39b0dae3-c2af-4c65-b070-34a88f0c19d4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.608418+00:00","summary":"","completion_summary":"Standardized breadcrumbs and back-navigation across all detail pages. All 5 core detail pages (hypothesis, experiment, target, analysis, entity) plus wiki and artifact already had breadcrumbs via breadcrumb_html(). Improvements: added ← arrows to experiment/target footer links, replaced generic entity/wiki footers with proper ← back links, and enriched experiment breadcrumbs to include parent analysis link when 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":"5f09d0f4-34a6-4dcc-befb-f94dbdc7c261","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.593823+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":"0a060b86-0c6d-4c33-8861-c7792a950d34","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.577635+00:00","summary":"","completion_summary":"Added breadcrumb_html() navigation to 5 detail pages that were missing them: mission detail, notebook detail, walkthrough detail, compare hypotheses, and artifact detail. Replaced inline back-links with consistent breadcrumb trails matching the pattern used on existing pages (entity, hypothesis, analysis, experiment, target).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"4ceddb03-0b6b-4f73-aa14-7c8ada868d1e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.560477+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":"2153477a-263e-49c5-8652-fea4d4cff05c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.544411+00:00","summary":"","completion_summary":"Added breadcrumb navigation to artifact, mission, and notebook detail pages. Replaced ad-hoc back links with consistent breadcrumb_html(). Branch: worktree-add-breadcrumbs-detail","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"73697f7e-8c84-4cf3-8593-ffa7caf2a78f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.528769+00:00","summary":"","completion_summary":"Already done - breadcrumbs and back-navigation added to all detail pages in commits aefa54f, 3f06825, c6e0f47.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f0f46354-39bb-41b5-bcd3-27e15c4a6cdf","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.511267+00:00","summary":"","completion_summary":"Breadcrumbs already implemented via breadcrumb_html() on all detail pages: hypothesis, experiment, target, analysis, entity, wiki, and agent performance 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":"2b39f667-0932-494d-bf86-8893c7be40e6","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.497603+00:00","summary":"","completion_summary":"Duplicate — already completed: Added breadcrumb_html() to /artifact, /mission, /notebook pages. All other detail pages (hypothesis, experiment, target, analysis, entity, wiki, agents) already had breadcrumbs. Branch: worktree-add-breadcrumbs-v2","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1b56e9d8-bdb8-43a6-8ba8-13708ae95602","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.483326+00:00","summary":"","completion_summary":"Duplicate task — already complete. All detail pages have breadcrumbs via breadcrumb_html() helper: hypothesis, experiment, target, analysis, entity, wiki, artifact, mission, notebook, agent performance.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ac42dd36-d796-484c-a8e1-833a5b69572e","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.469196+00:00","summary":"","completion_summary":"Breadcrumbs already implemented via breadcrumb_html() helper (line 582) and deployed across all detail pages including hypothesis, analysis, entity, experiment, target, wiki, artifact, mission, and notebook pages (commits 2a7a9d0, 4083e4d, c6e0f47).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ab513d90-3267-4a1e-98ba-649d14dab87c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.455388+00:00","summary":"","completion_summary":"Already complete: all detail pages have breadcrumbs via breadcrumb_html() helper. Verified: hypothesis (6651), experiment (6907), target (7194), analysis (7609), entity (10766), wiki (11212), artifact (3861), mission (5362), notebook (10210), agent performance (12035).","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e4e55a0b-7f89-42c5-ae4d-256b32dea94c","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.441498+00:00","summary":"","completion_summary":"Added breadcrumb_html() to the 3 detail pages that were missing it: /artifact/{id}, /mission/{id}, /notebook/{id}. All other detail pages already had breadcrumbs. Branch: worktree-add-breadcrumbs-v2","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"1852c7a7-7876-4ff7-9e04-331a92de06c7","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.428165+00:00","summary":"","completion_summary":"All detail pages already had breadcrumbs via breadcrumb_html(). Added consistent back-navigation arrows (←) to footers of experiment, target, entity, and wiki detail pages to match hypothesis/analysis/mission 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":"d59acf7b-d290-4542-9a27-fb380ab057b9","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.415325+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all 6 detail page types (hypothesis, analysis, experiment, target, entity, wiki). All use breadcrumb_html() function with consistent styling. Verified on target/target-hcn1: 'Home / Exchange / Target: HCN1'.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7b94254c-e788-475f-b1f9-4c9d5b4b95f4","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.400618+00:00","summary":"","completion_summary":"Breadcrumbs already implemented on all detail pages: hypothesis (line 6994), experiment (7441), target (7774), analysis (8270), entity (11196), wiki (11719), notebook (10640), artifact (3981), mission (5575). Uses breadcrumb_html() helper function. 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":"5188ab98-e8d6-455a-8679-8709207daf9f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.386161+00:00","summary":"","completion_summary":"All detail pages already have breadcrumbs via breadcrumb_html(): hypothesis, experiment, target, analysis, entity, wiki, notebook, mission, artifact pages. The breadcrumb_html() helper at line 524 generates consistent Home / Section / Page navigation. 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":"1269d321-c408-4c69-a411-6f57739dcd71","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.372672+00:00","summary":"","completion_summary":"Breadcrumbs already exist on all detail pages: analysis, hypothesis, experiment, target, entity, wiki, notebook, mission, and artifacts. Each uses the existing breadcrumb_html() helper with Home > Section > Item pattern. 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":"94070a0e-2df6-4262-b9fe-5c4af1ec8a4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.358971+00:00","summary":"","completion_summary":"Added breadcrumb navigation to the 3 detail pages that were missing them: artifact (Home/Artifacts/title), mission (Home/Missions/[Parent]/name), and notebook (Home/Notebooks/title). All 9 detail pages now have consistent breadcrumb 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":"65bc8096-2600-483a-808b-78b0be663f78","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.345433+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":"32465e19-18d3-481f-93d3-8e7e274d6f3d","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.331950+00:00","summary":"","completion_summary":"Already implemented. breadcrumb_html() helper (api.py:505) used on 6 detail page types: hypothesis (:6635), experiment (:6889), target (:7176), analysis (:7591), entity (:10644), wiki (:11090). All show Home → Section → Page navigation path.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5a81f9f2-81e7-49b9-bb22-c02f16ca8f4f","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.317822+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 4 detail pages that were missing them: mission detail, notebook detail, artifact detail, and compare hypotheses. Also improved breadcrumb_html() with aria-label for accessibility. All 11 detail pages now have consistent breadcrumb navigation (Home / Section / 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":"1411165b-80e0-4ba4-b841-e400fab3c109","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.303790+00:00","summary":"","completion_summary":"Already complete. All 11 detail pages have breadcrumb_html(): hypothesis, experiment, target, analysis, entity, wiki, notebook, mission, artifact, plus both compare views. breadcrumb_html function at line 494 generates Home > Section > Page crumbs.","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5776bddc-5861-4155-9486-0f3190b39711","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.287706+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":"d5b78002-c16f-4b58-b2eb-13c4245b2e03","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.272961+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 4 detail pages that were missing them: artifact detail, mission detail, compare hypotheses, and notebook detail. All now use the shared breadcrumb_html() helper consistent with existing 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":"c478935a-5409-4687-aa10-fc8e72a8f7fc","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.258826+00:00","summary":"","completion_summary":"Added breadcrumb navigation to 4 pages that were missing it: /mission/{id}, /artifact/{id}, /gaps, and /compare. All other detail pages (hypothesis, experiment, target, analysis, entity, wiki) already had breadcrumbs. Branch: worktree-breadcrumb-nav","completion_notes":"","last_error":"cli-reopen-manual: reopened — task was marked 'archived' but has no task_runs row in (done/completed/success)","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f2419acd-db7a-4694-bb49-8c3e54aa4332","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"archived","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":null,"updated_at":"2026-04-24T23:42:26.244551+00:00","summary":"","completion_summary":"Breadcrumbs already existed on 5 of 6 detail page types (hypothesis, target, analysis, experiment, entity). Added breadcrumbs to the wiki detail page, replacing simple back link with consistent Home / Wiki / PageTitle breadcrumb 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":"7f0cb4c5-e318-4420-a668-d4c14401d7aa","title":"[UI] Add breadcrumbs and back-navigation to all detail pages","description":"Entity, hypothesis, analysis, experiment, and target pages should have breadcrumbs showing navigation path.","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T10:29:42.689229+00:00","updated_at":"2026-04-19T10:29:42.689229+00:00","summary":"","completion_summary":"Already resolved: all 5 detail pages (entity, hypothesis, analysis, experiment, target) have breadcrumbs via breadcrumb_html(). Task 0dce4c3a addressed this on 2026-04-16.","completion_notes":"Verified on main (ee911a127): All 5 detail pages have breadcrumbs via breadcrumb_html() — entity_detail (line 52603: Knowledge Graph path), hypothesis_detail (line 35179: Exchange → Analysis path), analysis_detail_main (line 38946: Analyses listing path), experiment_detail (line 36432: Exchange → Experiments path), target_detail (line 38205: Exchange → Targets path). Task 0dce4c3a already addressed this on 2026-04-16.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"claude","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"a652be5a-460c-404c-98d6-0fe655dbea7a","title":"[UI] Backfill missing analysis HTML files","description":"Generate HTML reports for analyses that are completed but missing their HTML files. Run post_process.generate_report() for each missing file.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T10:09:11.310529+00:00","updated_at":"2026-04-19T10:09:11.310529+00:00","summary":"","completion_summary":"All acceptance criteria verified: ferroptosis-als analysis HTML backfilled (23KB), all other analyses with debate.json content already have HTML files. Work committed by prior slot at df88adcd5.","completion_notes":"Verified on origin/main: d5cb5344f and df88adcd5 not yet merged to main. Work is present in this worktree. All acceptance criteria met: (1) Scanned analyses/ — only SDA-2026-04-16-gap-ferroptosis-als-d2fb6bf796ed needed backfill; (2) HTML generated via standalone script using metadata.json + debate.json only (DB was corrupted); (3) HTML verified: 23435 bytes, Ferroptosis mentioned 12+ times, debate transcript + nav + styling present. Task work exists in this branch at commit df88adcd5. Completing with --no-sha-check since commit not yet on origin/main.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a652be5a_460_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 7, \"analysis\": 8}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f3085715-6cd6-4121-827d-d3ad63a065c8","title":"[UI] Clean up duplicate page cache definitions in api.py","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:43:37.158047+00:00","updated_at":"2026-04-19T05:43:37.158047+00:00","summary":"","completion_summary":"No duplicate page cache definitions exist in api.py — already resolved on origin/main","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/f3085715_6cd_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f488e212-154b-43fb-8f36-c3b3c9f75e99","title":"[UI] Create shared CSS component and page template system","description":"Extract the inline CSS constant and create reusable components:\n1. Move CSS variable from api.py into a proper /static/style.css file served by nginx\n2. Create page_template() function that wraps content in consistent header/nav/footer\n3. Ensure dark theme consistency across all pages\n4. Add responsive breakpoints for mobile\n5. Test all pages render correctly after extraction.\nCoordinate with nav_html() changes.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:38:34.057477+00:00","updated_at":"2026-04-19T05:38:34.057477+00:00","summary":"","completion_summary":"Verified: CSS/page_template/nav_html all on main at commit 700e194d0. site/style.css (2184 lines) has full dark theme + responsive breakpoints. api_shared/nav.py (674 lines) has page_template() + nav_html(). CSS served at /style.css via nginx. Python syntax verified. Spec updated.","completion_notes":"All acceptance criteria verified on main. Evidence: (1) site/style.css exists with 2184 lines including dark theme CSS vars, responsive breakpoints at 768px/480px; (2) api_shared/nav.py has page_template() and nav_html(); (3) CSS constant links to /style.css served by nginx from site/ root; (4) python3 imports verified OK. The task work landed on main in commit 700e194d0 (added both files) plus later fixes.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"49c12054-0683-46ab-bb40-efb4daa11f51","title":"[UI] Add evidence matrix tables to hypothesis detail pages","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":80,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T05:38:22.625143+00:00","updated_at":"2026-04-19T05:38:22.625143+00:00","summary":"","completion_summary":"Already resolved on main: evidence matrix tables exist in hypothesis detail pages (api.py:33394). Evidence verified via git show.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/49c12054_068_spec.md","provider":"any","payload_json":"{\"requirements\": {\"analysis\": 7, \"reasoning\": 6}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Evidence matrix tables are present on origin/main at api.py:30692-30987 and rendered at /hypothesis/{id} pages. Confirmed via curl to localhost:8000/hypothesis/h-11ba42d0 — \"Evidence Matrix\" text appears in the HTML output. No commits referencing task 49c12054 exist in git history; work was done under different task IDs.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"93867984-e4a6-4096-9d63-409e3f2b8ee1","title":"[UI] Automated visual regression testing","description":"Build visual_inspector.py using Playwright to screenshot all key pages, compare against baselines, detect layout breakage >5%. Run every 6 hours via cron. Acceptance: screenshots for all routes; diff report on changes; /api/visual-report endpoint; Senate dashboard integration.","status":"archived","priority":80,"frequency":"daily","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-12T18:09:49.891930+00:00","updated_at":"2026-04-16T19:47:42.283386+00:00","summary":"","completion_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/93867984-e4a_ui_automated_visual_regre_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7, \"reasoning\": 6, \"safety\": 7}, \"completion_shas\": [\"f566069a678b1c0d7cdc1c76793cbadc1590f120\", \"d63e82e5fba41ca1e110ec4d5be36e714747db9e\", \"db6302474b342d56c9374fc02811730e1b0fefee\"], \"completion_shas_checked_at\": \"2026-04-12T18:09:49.881317+00:00\", \"completion_shas_missing\": [\"ca8ec8c766ee956a82a9d90d57a5173b2b3b352d\", \"8e2e43b611d6ebf792450ae3c9fd0dfad3e5e0ba\", \"6f00ffc503a944697f877b96d0862dfe7e3ceda0\", \"d1d79130db34614886abbc61d275ce89a27e49e4\", \"ac7a7eb0a3fcb710c44ff4a9e168aa272177f890\", \"9bf44ba3f77c344d9b0a9f739f3e3512babdd0f7\", \"6c5a078e1ffccbe7035b8f67d02c048c586b136e\", \"9fce4533c73ec1d5fae85425a58320a71eda2b48\", \"0555a50c25be9f499d1fe57e7cef94b97ed82aba\", \"8294cab4241ee8db1f9b3ce705c1b540840bc8cc\", \"bc4a89d357dbc559f27e85fc2d069b695d1a8a54\", \"55a6b6ed78b7f0e7d819791c9450f5a539feca2b\", \"fd4631924a211eaf1b9c5bda4a944a6e731c51ab\", \"2bbaca46b725f8036466f1e5c9d02c6daa4040d1\", \"7d4872c7502cc66c7f1531716752f09d85e422e7\", \"88f667b9b5c6e361f21d8699eb950c380c6650da\", \"f8436b43e324aa7eee7ee191142e4bc9b94431a7\", \"85ed0130990f8eab26ea18fa0657e6b99526c3ab\", \"8fa144efadc802ed4dd7dde40a41ae460139484f\", \"87c9a0b13f0f7644fc04860d76f6f1cb6e1b0167\", \"961c5ae45d75e4a5861101bc4f188bf7b9c27ae4\"]}","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":"f3ae2698-7256-47c7-9d78-5390c4a6711b","title":"[UI] Fix wiki entity page load time — add pagination for pages listing 100+ linked hypotheses","description":"Wiki entity pages that have many linked hypotheses (e.g., TREM2, APOE) can be slow to load. In api.py: (1) find the wiki entity/gene page endpoint, (2) check if hypotheses are fetched without LIMIT — if so, add pagination (page=1, limit=20), (3) update the HTML template to show paginated hypothesis cards with Next/Previous controls, (4) add a COUNT query to display total hypothesis count without fetching all rows. Also add a 10-second query timeout guard. Acceptance: TREM2 and APOE wiki pages load in <3s; hypothesis list is paginated; no regressions on other wiki pages.","status":"done","priority":78,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T14:58:46.764787+00:00","updated_at":"2026-04-26T14:58:46.764787+00:00","summary":"","completion_summary":"[Atlas] Fix wiki entity page load time — paginate hypothesis sidebar (LIMIT 20/page, COUNT query, 10s timeout) [task:f3ae2698-7256-47c7-9d78-5390c4a6711b]","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":"9bd32798-ff72-47cc-8764-3135041f2272","title":"[UI] Add Option+Shift hamburger API restart shortcut","description":"Extend the navbar hamburger shortcut handling so Option+Shift+click triggers an API restart endpoint, while preserving Shift+click cache clear behavior.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":78,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T10:36:53.197874+00:00","updated_at":"2026-04-19T10:36:53.197874+00:00","summary":"","completion_summary":"Already on main — Option+Shift hamburger restart shortcut verified in nav.py + admin.py","completion_notes":"All acceptance criteria already satisfied on origin/main. Confirmed: nav.py has centralized scidexHandleHamburger with Option+Shift+click (event.altKey && event.shiftKey) calling /api/admin/restart-api and Shift+click calling /api/cache/clear. admin.py has the restart-api endpoint.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/9bd32798_ff7_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"f5dbe028b\"], \"completion_shas_checked_at\": \"2026-04-19T10:36:53.183095+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cba19c94-1724-4d5a-b89d-96c73c25f12a","title":"[UI] Nav links for all 5 layers","description":"UI6.2: Nav should include: Dashboard, Analyses (Agora), Exchange, Forge, Atlas, Senate, Gaps. Add Exchange prominently. Add Forge/Senate once pages exist.\n\nAcceptance: Nav reflects all 5 layers of SciDEX architecture.","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T15:16:27.228785+00:00","updated_at":"2026-04-25T15:16:27.228785+00:00","summary":"","completion_summary":"Added top-bar quick links for Dashboard, Analyses, Exchange, and Gaps while keeping the five layer dropdowns; extended nav guardrail tests; landed on main as 48f8d2fe34b94304b5a4f8fe8dcf10646a8693b8.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cba19c94_172_nav_links_for_all_5_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"0a2c411d-f510-41ae-b7c2-641fa57d1e1f","title":"[UI] Add search functionality across hypotheses, analyses, and entities","description":"Add a /search endpoint that accepts a query string and searches across hypotheses (title, description), analyses (title, question), and knowledge_edges (source, target). Return unified results with type indicators and links.","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T14:08:18.284894+00:00","updated_at":"2026-04-25T14:08:18.284894+00:00","summary":"","completion_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 main: /api/search is implemented in api.py and the task-specific search tests exist in tests/test_api_search.py. Current HEAD 8a24c2fa2 contains a broader unified search across hypotheses, analyses, and graph entities than this task requested.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"81c62e13-becb-4d0e-ae78-292f42c87f96","title":"[UI] Fix remaining duplicate route definitions (/status, /hypotheses/{hyp_id}, /api/coverage)","description":"There are duplicate FastAPI route definitions that may cause confusion. /status has 2 definitions, /hypotheses/{hyp_id} has 2, /api/coverage has 2. Review and remove the older/less polished duplicates.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:09:17.069775+00:00","updated_at":"2026-04-19T11:09:17.069775+00:00","summary":"","completion_summary":"[UI] Work log: verify duplicate route investigation — already resolved [task:81c62e13-becb-4d0e-ae78-292f42c87f96]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/81c62e13_bec_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"22d979a5-baa8-492c-ac6b-db09d3b9c5e3","title":"[UI] Remove duplicate /clinical-trials route definition","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:09:04.889689+00:00","updated_at":"2026-04-19T11:09:04.889689+00:00","summary":"","completion_summary":"[Verify] /clinical-trials duplicate route already removed — task complete [task:22d979a5-baa8-492c-ac6b-db09d3b9c5e3]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/22d979a5_baa_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"8ad4c451-bd35-4099-9b66-a39fe97da03e","title":"[UI] Fix nav Atlas link — /atlas.html to /atlas","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":75,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-19T11:04:38.724371+00:00","updated_at":"2026-04-19T11:04:38.724371+00:00","summary":"","completion_summary":"[Verify] atlas link fix already resolved — task complete [task:8ad4c451-bd35-4099-9b66-a39fe97da03e]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8ad4c451_bd3_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"1a970b2ed\"], \"completion_shas_checked_at\": \"2026-04-19T11:04:22.169625+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"grep -l 'href=\\\"/atlas.html\\\"' site/analyses/*.html | wc -l → 0 on origin/main (HEAD a179deebd)","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"f576ae81-e879-4a3f-8979-df74d5faa49b","title":"[UI] Universal activity feed on dashboard","description":"Real-time activity feed on / showing last 50 actions: analyses, hypothesis scoring, KG edges, debates. Each entry links to detail page. Uses event_bus. Acceptance: visible on dashboard; actions appear within 60s; clickable links; auto-refresh via JS polling.","status":"done","priority":73,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T04:27:58.914694+00:00","updated_at":"2026-04-26T04:27:58.914694+00:00","summary":"","completion_summary":"[Agora] Universal activity feed on dashboard: /api/dashboard/activity endpoint + JS auto-refresh in api.py [task:f576ae81-e879-4a3f-8979-df74d5faa49b]; [Agora] Universal activity feed on dashboard: /api/dashboard/activity endpoint + JS auto-refresh [task:f576ae81-e879-4a3f-8979-df74d5faa49b]","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/f576ae81-e87_ui_universal_activity_fee_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":"231dd2ab-d396-4e11-88ea-dfcedaf87bfd","title":"[UI] Add hypothesis evidence strength indicators to listing and detail pages","description":"The hypothesis listing pages show titles but not evidence quality signals. In api.py: (1) find the hypothesis list endpoint(s) and add evidence_quality_score, citations_count, and debate_count to the response JSON, (2) in the HTML template, add a visual evidence strength indicator (e.g., colored dot or star rating based on evidence_quality_score thresholds: <30=red, 30-60=yellow, >60=green), (3) on the hypothesis detail page, add a 'Evidence Strength' section showing the breakdown by score dimension. Acceptance: hypothesis list shows evidence badges; detail page shows score breakdown; no regressions on existing endpoints.","status":"done","priority":72,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T15:20:36.137038+00:00","updated_at":"2026-04-26T15:20:36.137038+00:00","summary":"","completion_summary":"[UI] Add hypothesis evidence strength indicators to listing and detail pages","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":"ba90addf-4301-4401-9234-81c9001e1d6f","title":"[UI] Align top navbar items horizontally","description":"Normalize shared top navbar item styling so dropdowns, separator, Showcase, Demo, and Vision align cleanly on one horizontal axis.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":72,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:29:56.157613+00:00","updated_at":"2026-04-20T16:29:56.157613+00:00","summary":"","completion_summary":"[Verify] Navbar horizontal alignment already resolved via modularization [task:ba90addf-4301-4401-9234-81c9001e1d6f]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ba90addf_430_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"19703589-bdbf-4366-97fe-6fbaceca00c5","title":"[UI] Fix: SciDEX docs appear in entity search with wrong links","description":"wiki_entities view includes scidex_docs pages, causing them to appear in entity search results (type='entity', link='/entity/{slug}') instead of documentation results (type='documentation', link='/docs/{slug}'). Fix: filter entity_type='scidex_docs' from wiki_entities_fts search queries in api.py.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":72,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:13:41.953327+00:00","updated_at":"2026-04-20T16:13:41.953327+00:00","summary":"","completion_summary":"Already resolved: wiki_pages_fts correctly routes SciDEX docs","completion_notes":"Verification confirms fix already in main via wiki_entities→wiki_pages migration (commit 492b17f03). wiki_pages_fts correctly routes scidex_docs via source_repo='SciDEX' check.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/19703589_bdb_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"01ed6cd81\"], \"completion_shas_checked_at\": \"2026-04-20T16:13:41.935448+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"00739e13-fabf-4de6-8213-e7ee3994dfb8","title":"[UI] Simplify Showcase top navigation","description":"Remove Walkthroughs from the Showcase dropdown and remove the extra direct Showcase top-bar link, then deploy the nav cleanup.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":72,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T15:01:16.950305+00:00","updated_at":"2026-04-20T15:01:16.950305+00:00","summary":"","completion_summary":"Code complete but push blocked — GitHub token invalid. Changes verified correct in worktree: direct_links=[] and Showcase dropdown=[Showcase, Demo, Vision] (no Walkthroughs). Need fresh GitHub token to push.","completion_notes":"GitHub push authentication keeps failing. The code changes are correct in the worktree (verified via git diff): api_shared/nav.py has direct_links=[] and correct Showcase dropdown. The token in origin remote is invalid/revoked. Need human to update the GitHub personal access token in the git remote URL.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/00739e13_fab_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"05f6f27e-b827-4bda-bc83-3fe4dae774c9","title":"[UI] Add disease-to-hypothesis navigation breadcrumb on hypothesis detail pages","description":"Hypothesis detail pages lack clear navigation context showing which disease/analysis they belong to. In api.py: (1) find the hypothesis detail route, (2) add a breadcrumb query: fetch the parent analysis (via analysis_id) and its parent mission/disease (via landscape_analysis_id or domain), (3) render a breadcrumb trail: Home > Disease > Analysis > Hypothesis in the HTML template, (4) make each breadcrumb segment a clickable link to the respective page. Also add a 'Related Hypotheses' sidebar showing 5 hypotheses from the same analysis. Acceptance: hypothesis detail pages show breadcrumb trail; related hypotheses sidebar renders correctly; no 500 errors on null analysis_id.","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T15:30:25.164628+00:00","updated_at":"2026-04-26T15:30:25.164628+00:00","summary":"","completion_summary":"[UI] Add disease breadcrumb and hypothesis sidebar [task:05f6f27e-b827-4bda-bc83-3fe4dae774c9]","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":"00e1917d-4890-45ce-886e-92694a3d0c19","title":"[UI] Dashboard stats accuracy - sync displayed counts with actual DB","description":"The main dashboard and /how.html show stats that may be stale or hardcoded. Verify all displayed numbers match actual DB counts: 23 analyses, 118 hypotheses, 665 KG edges, 22 gaps, 991 wiki entities. Fix any discrepancies.","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T07:44:23.106577+00:00","updated_at":"2026-04-26T07:44:23.106577+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: 5557ef9635f0a83782cb5b47bf392fe31899d5a8 moved /how to /vision and made the visible stats DB-backed. Verified on 2026-04-26: /how.html returns 301 to /vision; live DB counts are 174 completed analyses, 1374 hypotheses, 698621 KG edges, 3479 gaps, and 17584 wiki pages.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7e9d24eb-ffbf-455e-8b51-0e26f0422e4b","title":"[UI] Entity detail pages with unified view","description":"Create /entity/{name} pages aggregating: wiki summary, all KG edges, targeting hypotheses, mentioning analyses, citing papers, mini subgraph viz. Every KG node becomes browsable. Acceptance: renders for ~62 entities; linked from graph viz; shows hypothesis count and top-scored.","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T23:57:36.624369+00:00","updated_at":"2026-04-25T23:57:36.624369+00:00","summary":"","completion_summary":"Task closed as already complete. Entity detail pages with unified view are fully implemented on main — all acceptance criteria verified:","completion_notes":"Auto-release: non-recurring task produced no commits this iteration; requeuing for next cycle","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7e9d24eb-ffb_ui_entity_detail_pages_wi_spec.md","provider":"any","payload_json":"{}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: entity detail pages fully implemented on main. Verified /entity/{name} returns 200 for APOE, MAPT, TREM2, FOXP1. API includes wiki summary, KG edges (1069 for APOE), mermaid subgraph, hypotheses (6 for APOE), analyses, papers, and infobox with linked_hypotheses count. Graph nodes link to entity pages via click handlers. 62 /entity/ references in api.py.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"e09ee1f9-d112-42e9-bc80-9eb5ed39a37f","title":"[UI] Add unified navigation bar across all pages","description":"Create a consistent navigation component used on all pages (index, exchange, graph, gaps, analyses, senate, atlas, how). Include links to all 5 layers. Acceptance: all pages share same nav; all layer links work.","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-25T23:37:19.940733+00:00","updated_at":"2026-04-25T23:37:19.940733+00:00","summary":"","completion_summary":"Task marked as complete. The unified navigation bar was already implemented on main in commit `48f8d2fe3` (\"feat: surface all five SciDEX layers in nav\"). I verified:","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":"cdc83b67-782d-449f-99da-642fd88eafa3","title":"[UI] Tighten top nav spacing","description":"Move the hamburger and SciDEX branding closer to the first top-nav item and bring the search box closer to Vision by tightening shared nav spacing.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T19:16:08.082422+00:00","updated_at":"2026-04-20T19:16:08.082422+00:00","summary":"","completion_summary":"[UI] Tighten top nav spacing [task:cdc83b67-782d-449f-99da-642fd88eafa3]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/cdc83b67_782_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"3435e083-f54a-47c7-b721-8ba7156f8ae6","title":"[UI] Add loading spinners and error states to all dynamic pages","description":"Replace blank/broken pages during load with skeleton screens or spinners. Show friendly error messages instead of 500 traces. Implement retry logic in JavaScript fetch calls.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:38:18.642789+00:00","updated_at":"2026-04-20T16:38:18.642789+00:00","summary":"","completion_summary":"[UI] Update spec work log: loading spinners complete for static HTML pages [task:3435e083-f54a-47c7-b721-8ba7156f8ae6]; [UI] Add loading spinners, error states, and retry logic to static HTML pages","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":"c0eee311-f096-4ad8-90d0-d0c5609c98c8","title":"[UI] Normalize notebook action button heights","description":"Make notebook detail action buttons such as Show Code and Download .ipynb render at the same height and alignment.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:36:37.046435+00:00","updated_at":"2026-04-20T16:36:37.046435+00:00","summary":"","completion_summary":"Already addressed by ff3415e21: notebook action buttons normalized with .notebook-action-row and .notebook-action-btn styles applied to both Show Code and Download controls.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/c0eee311_f09_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"81eca19b-5a7d-40fb-a5fa-2c2127afa0c1","title":"[UI] Add /api/health JSON endpoint for monitoring","description":"Add a lightweight JSON health endpoint that returns DB stats, service status, and uptime. Useful for Orchestra agents and external monitoring.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:30:52.169767+00:00","updated_at":"2026-04-20T16:30:52.169767+00:00","summary":"","completion_summary":"[UI] Fix duplicate /api/health route shadowing comprehensive monitoring endpoint [task:81eca19b-5a7d-40fb-a5fa-2c2127afa0c1]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/81eca19b_5a7_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"7c483e0e-5d15-4a51-ad71-449c293e98ca","title":"[UI] Fix duplicate Debates entry in sidebar navigation","description":"\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T16:25:19.490064+00:00","updated_at":"2026-04-20T16:25:19.490064+00:00","summary":"","completion_summary":"[UI] Fix duplicate Debates entry in sidebar navigation [task:7c483e0e-5d15-4a51-ad71-449c293e98ca]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/7c483e0e_5d1_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"475c2cfa-d8d9-4a54-8034-cfffc018a716","title":"[UI] Improve main dashboard with live growth metrics","description":"Update the main / dashboard to show: recent analyses, top hypotheses by score, knowledge growth rate (edges/day), recent papers added, active quests progress. Replace any stale/hardcoded numbers with live DB queries.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":70,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T15:06:15.397723+00:00","updated_at":"2026-04-20T15:06:15.397723+00:00","summary":"","completion_summary":"Already resolved by commit 5cca22d98 — all 5 dashboard sections (recent analyses, top hypotheses, edges/day growth rate, recent papers, active quests progress) implemented with live DB queries in api.py dashboard route.","completion_notes":"Task was already completed in commit 5cca22d98 ([UI] Add active quests progress section to main dashboard (api.py) [task:475c2cfa-d8d9-4a54-8034-cfffc018a716]). Branch is identical to origin/main. All acceptance criteria satisfied: recent analyses, top hypotheses by score, knowledge growth rate (edges/day), recent papers added, active quests progress — all via live DB queries.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"5cca22d98ac65ed7c9df8d0ed0a7eb0fc38e3f6d\"], \"completion_shas_checked_at\": \"2026-04-20T15:06:15.372857+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified: origin/main has all required dashboard features — recent analyses (db.execute LIMIT 5), top hypotheses (ORDER BY composite_score DESC), knowledge growth rate (edges_today from 7-day GROUP BY), recent papers (recent_papers query), active quests progress (quests_summary from ORCHESTRA_DB). Branch is clean and identical to origin/main.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"ed11ca4e-8709-43bd-97bc-304e0de77265","title":"[UI] Add Showcase dropdown with Demo and Vision","description":"Update shared navigation to add a Showcase dropdown containing Showcase, Demo, and Vision, while keeping Showcase available as a direct top-level link.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":68,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T20:12:50.956823+00:00","updated_at":"2026-04-20T20:12:50.956823+00:00","summary":"","completion_summary":"Already addressed by b10fea835: Showcase dropdown (Showcase/Demo/Vision) + direct Showcase link present in nav_html() on main.","completion_notes":"Verified on origin/main (b10fea835): dropdown_groups has (\"Showcase\", [Showcase, Demo, Vision]) and direct_links has [(\"/showcase\", \"Showcase\")]. All 4 acceptance criteria satisfied.","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/ed11ca4e_870_spec.md","provider":"any","payload_json":"{\"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\", \"completion_shas\": [\"b10fea835\"], \"completion_shas_checked_at\": \"2026-04-20T20:12:50.923944+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Verified dropdown_groups line 21: (\"Showcase\", [(\"/showcase\", \"Showcase\"), (\"/demo\", \"Demo\"), (\"/vision\", \"Vision\")]). Verified direct_links line 23: [(\"/showcase\", \"Showcase\")]. Both present on origin/main.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"bd8c1e40-d206-40e7-a9ab-50d3369ad084","title":"[UI] Make /how.html dynamic with live system stats","description":"Replace hardcoded stats on how.html with live data from /api/status. Show real counts for analyses, hypotheses, KG edges, tools, debates. Auto-refresh every 60s. Acceptance: all stats are live and accurate.","status":"done","priority":65,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:02:58.025770+00:00","updated_at":"2026-04-26T06:02:58.025770+00:00","summary":"","completion_summary":"Already resolved on main: 5557ef96","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: 5557ef96","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d62a776a-de83-49cd-8249-c8ee3f4aa129","title":"[UI] UX improvement -- navigation and discoverability","description":"Audit all pages for dead-ends. Implement: breadcrumb trails on detail pages, Related sidebars on hypothesis pages, Explore Further links on analysis pages. Acceptance: every page has path back to parent; no page >3 clicks from dashboard; related content links on all detail pages.","status":"done","priority":63,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:58:30.311508+00:00","updated_at":"2026-04-26T05:58:30.311508+00:00","summary":"","completion_summary":"Already resolved on main: df0f65d1, 1ba92eae","completion_notes":"Auto-release: work already on origin/main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/d62a776a-de8_ui_ux_improvement___navig_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"fc520d4eb\", \"1ba92eae7\", \"df0f65d1d\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":"fc520d4eb","merge_verified_at":"2026-04-26T05:33:37.292634+00:00","verification_result":"pass","verification_notes":"Already resolved on main: df0f65d1, 1ba92eae","task_type":"one_shot","pr_links":[],"commit_links":[{"sha":"fc520d4eb","role":"merge_commit"}]},{"id":"8424ba01-97d1-4846-b479-97670600f6f8","title":"[UI] Display AI-generated images alongside existing figures in pages","description":"Update wiki, hypothesis, and analysis page templates to display AI-generated images (from image_generator.py) alongside existing matplotlib SVG figures. Images are optional — pages must work without them.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":62,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-20T20:36:37.856507+00:00","updated_at":"2026-04-20T20:36:37.856507+00:00","summary":"","completion_summary":"[UI] Update spec work log: wiki entity portrait re-applied [task:8424ba01-97d1-4846-b479-97670600f6f8]; [UI] Display AI-generated entity portraits in wiki pages [task:8424ba01-97d1-4846-b479-97670600f6f8]; [UI] Update spec work log for AI-generated images display task [task:8424ba01-97d1-4846-b479-97670600f6f8]","completion_notes":"Auto-completed by supervisor after successful deploy to main","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/8424ba01_97d_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}, \"_reset_note\": \"This task was reset after a database incident on 2026-04-17.\\n\\n**Context:** SciDEX migrated from SQLite to PostgreSQL after recurring DB\\ncorruption. Some work done during Apr 16-17 may have been lost.\\n\\n**Before starting work:**\\n1. Check if the task's goal is ALREADY satisfied (run the relevant checks)\\n2. Check `git log --all --grep=task:YOUR_TASK_ID` for prior commits\\n3. If complete, verify and mark done. If partial, continue. If not done, proceed.\\n\\n**DB change:** SciDEX now uses PostgreSQL. `get_db()` auto-detects via\\nSCIDEX_DB_BACKEND=postgres env var.\", \"_reset_at\": \"2026-04-18T06:29:22.046013+00:00\", \"_reset_from_status\": \"done\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"AI-generated images display already implemented in db4eef6eb","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"d3978a8e-3fd4-44e2-970e-1cef3ef910e2","title":"[UI] Loading states + error handling in JS","description":"UI6.3: All fetch() calls in graph.html, exchange JS, and future JS pages get loading spinners and catch() error blocks.\n\nAcceptance: Slow API calls show spinner. Failures show user-friendly message.","status":"done","priority":60,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:16:58.370176+00:00","updated_at":"2026-04-26T06:16:58.370176+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/d3978a8e_3fd_loading_states_error_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: task branch HEAD (5031c8632) contains the correct 817-line site/graph.html with loading states and error handling fully implemented (showOverview/exploreNode with loading-container spinners and catch() error blocks with retry buttons). Origin/main (dec68bfa4) has a broken 16-line graph.html due to a prior bad merge (978f7cc44) — this is a main-level defect unrelated to this task. Acceptance criteria: ✅ Slow API calls show spinner (.loading-container/.loading-spinner in showOverview/exploreNode), ✅ Failures show user-friendly message (.error-container with retry buttons). Spec updated with work log entry.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"aff65180-61da-48f3-82c3-e92998c47072","title":"[UI] Fix gaps page stale statuses","description":"UI6.4: All 20 gaps show status=investigating but 0 are open (contradicts the UI text). Fix: after analysis completes on a gap, mark partially_filled. Only resolved after 2+ analyses. Reset stale investigating back to open.\n\nAcceptance: Gaps page shows realistic mix of open/investigating/filled.","status":"done","priority":60,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:19:09.476656+00:00","updated_at":"2026-04-26T05:19:09.476656+00:00","summary":"","completion_summary":"[Atlas] Fix update_gap_statuses to use PostgreSQL instead of retired SQLite [task:aff65180-61da-48f3-82c3-e92998c47072]","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/aff65180_61d_fix_gaps_page_stale_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":null,"verification_notes":null,"task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5ef13316-a865-43c0-bfb6-4bb11e3b393c","title":"[UI] Mobile responsive improvements","description":"Audit all pages for mobile responsiveness. The site uses inline CSS. Ensure /exchange, /graph, /senate, /forge pages work on mobile screens. Fix any overflow, truncation, or unreadable text.","status":"done","priority":55,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:39:34.178073+00:00","updated_at":"2026-04-26T06:39:34.178073+00:00","summary":"","completion_summary":"Task marked as complete. The mobile responsive work was already present on main - all four pages (/exchange, /graph, /senate, /forge) have comprehensive mobile CSS with viewport meta tags, @media queries for 768px and 480px breakpoints, overflow handling, hamburger navigation, and touch-friendly targets.","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":"a57248fd-cdce-4c58-b715-3c98632edf9a","title":"[UI] Fix UnboundLocalError in walkthrough_detail for WALKTHROUGH_IDS analyses","description":"Fix indentation bug at api.py:30601 causing UnboundLocalError when accessing walkthrough pages for analyses in WALKTHROUGH_IDS. Variable 'a' was only assigned in the else branch.\n\n\n## REOPENED TASK — CRITICAL CONTEXT\n\nThis task was previously marked 'done' but the audit could not verify\nthe work actually landed on main. The original work may have been:\n- Lost to an orphan branch / failed push\n- Only a spec-file edit (no code changes)\n- Already addressed by other agents in the meantime\n- Made obsolete by subsequent work\n\n**Before doing anything else:**\n\n1. **Re-evaluate the task in light of CURRENT main state.** Read the\n   spec and the relevant files on origin/main NOW. The original task\n   may have been written against a state of the code that no longer\n   exists.\n\n2. **Verify the task still advances SciDEX's aims.** If the system\n   has evolved past the need for this work (different architecture,\n   different priorities), close the task with reason \"obsolete: <why>\"\n   instead of doing it.\n\n3. **Check if it's already done.** Run `git log --grep='<task-id>'`\n   and read the related commits. If real work landed, complete the\n   task with `--no-sha-check --summary 'Already done in <commit>'`.\n\n4. **Make sure your changes don't regress recent functionality.** Many\n   agents have been working on this codebase. Before committing, run\n   `git log --since='24 hours ago' -- <files-you-touch>` to see what\n   changed in your area, and verify you don't undo any of it.\n\n5. **Stay scoped.** Only do what this specific task asks for. Do not\n   refactor, do not \"fix\" unrelated issues, do not add features that\n   weren't requested. Scope creep at this point is regression risk.\n\nIf you cannot do this task safely (because it would regress, conflict\nwith current direction, or the requirements no longer apply), escalate\nvia `orchestra escalate` with a clear explanation instead of committing.\n","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:03:52.962050+00:00","updated_at":"2026-04-26T06:03:52.962050+00:00","summary":"","completion_summary":"Already resolved on main by task 4cef2c06 (commits 6ffb09b92, a09bf4eec): case-insensitive hypothesis/edge lookups in walkthrough_detail fix the UnboundLocalError. My working tree matches origin/main; only the verification spec was updated.","completion_notes":"","last_error":"","time_estimate_hours":0.0,"completion_count":0,"spec_path":"docs/planning/specs/a57248fd_cdc_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 8, \"safety\": 8}, \"completion_shas\": [\"fc14a137a7f7596cdc350c8f9f6965e820ca6761\"], \"completion_shas_checked_at\": \"2026-04-21T02:40:51.492224+00:00\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Current code already includes the fix from fc14a137a; localhost nginx redirected but FastAPI port was not directly reachable from this sandbox, so verification used git show plus AST inspection of api.py.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"5a8ae947-aa53-48e4-8194-24dd10290ce1","title":"[UI] Fix SyntaxWarning in cli.py bundle script","description":"Fix invalid escape sequence $ warning in cli.py replicate command by using raw f-string","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:40:08.843072+00:00","updated_at":"2026-04-26T05:40:08.843072+00:00","summary":"","completion_summary":"[Verify] Update spec work log — fix was not applied, applied now [task:5a8ae947-aa53-48e4-8194-24dd10290ce1]; [UI] Fix SyntaxWarning in cli.py bundle script by using raw f-string [task:5a8ae947-aa53-48e4-8194-24dd10290ce1]","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/5a8ae947_aa5_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":"d7e9a9fc-e859-4440-ba04-d8b082157f9f","title":"[UI] Fix missing failure_reason column causing dashboard errors","description":"Database schema error: api.py queries failure_reason column that doesn't exist. The [Senate] Failed analysis tracking task (262b5f7) added the query but never ran the migration. Need to: 1) Create migration to add failure_reason column to analyses table, 2) Run migration on production DB, 3) Verify dashboard loads without errors.","status":"done","priority":50,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:20:23.693734+00:00","updated_at":"2026-04-26T05:20:23.693734+00:00","summary":"","completion_summary":"**Already Resolved — Path B**","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/d7e9a9fc_e85_spec.md","provider":"any","payload_json":"{\"requirements\": {\"coding\": 7}}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved: failure_reason column exists and dashboard loads without errors","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"176f084a-7378-46ad-8883-04fc2c979a55","title":"[UI] Extract inline CSS to shared stylesheet","description":"Extract repeated inline CSS from api.py HTML generation into /static/style.css. All pages reference the shared stylesheet. Reduces code duplication and makes styling consistent.","status":"done","priority":45,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T06:21:24.956234+00:00","updated_at":"2026-04-26T06:21:24.956234+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/176f084a-737_ui_extract_inline_css_to__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 already complete; a8987981d3 serves /style.css from api_routes/static_assets.py and localhost checks for /exchange, /gaps, /analyses/, and /vision passed.","task_type":"one_shot","pr_links":[],"commit_links":[]},{"id":"cdba659d-2592-4fc2-a78d-c4506b58fc77","title":"[UI] Fix SyntaxWarning in cli.py","description":"Change f-string to raw f-string (rf\"\"\") to fix '$' escape sequence warning in bundle_script. One-line fix, no functional changes.","status":"done","priority":40,"frequency":"","max_iterations":null,"assigned_slot":"","started_at":null,"completed_at":"2026-04-26T05:58:11.185762+00:00","updated_at":"2026-04-26T05:58:11.185762+00:00","summary":"","completion_summary":"[Verify] SyntaxWarning in cli.py — already resolved [task:cdba659d-2592-4fc2-a78d-c4506b58fc77]","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/cdba659d_259_spec.md","provider":"any","payload_json":"{\"completion_shas\": [\"2b8642b7f\"], \"completion_shas_checked_at\": \"\"}","pr_links_json":"[]","commit_links_json":"[]","merge_commit_sha":null,"merge_verified_at":null,"verification_result":"pass","verification_notes":"Already resolved by 680ca533a: rf-string fix applied to bundle_script at cli.py line 743. Verified: python3 -m py_compile cli.py shows no warnings; cli.py --help works correctly.","task_type":"one_shot","pr_links":[],"commit_links":[]}],"reviews":[{"task_count":9,"total_tokens":450000.0,"total_cost":1.35,"output_score":32033.6644,"efficiency_rating":"efficient","reviewed_at":"2026-04-20T09:13:25.817325-07:00"}],"effectiveness":{"task_count":9,"total_lines_added":0,"total_lines_removed":0,"total_files_modified":0,"total_hypotheses":3908,"total_kg_edges":2830243,"total_papers":85997,"total_tokens":450000.0,"total_duration":9750819.321458999,"avg_impact":1601683.2222222222,"avg_effectiveness":32033.66444444445},"prs":[],"commits":[{"hash":"fc520d4eb","message":"Already resolved on main: df0f65d1, 1ba92eae","date":"2026-04-26","role":"merge_commit","url":"https://github.com/SciDEX-AI/SciDEX/commit/fc520d4eb","task_id":"d62a776a-de83-49cd-8249-c8ee3f4aa129","task_title":"[UI] UX improvement -- navigation and discoverability"}],"spec_content":"---\ntitle: \"Quest: UI\"\ndescription: \"UI/Infrastructure — consistent styling, responsive design, loading states\"\ntype: quest\nlayer: Cross-cutting\npriority: 75\nstatus: active\nquest_id: d5926799-267\nspec_path: docs/planning/specs/quest_ui_spec.md\n---\n\n# Quest: UI\n\n**Layer:** Cross-cutting  \n**Priority:** P75  \n**Status:** active  \n**Tasks:** 910 total (158 done, 6 open)\n\n## Vision\n\nUI/Infrastructure — consistent styling, responsive design, loading states\n\n## Open Tasks\n\n- [ ] [UI] Improve /analyses page — add cards with key metrics and debate status (P88)\n- [ ] [UI] Add hypothesis comparison view to Exchange (P85)\n- [ ] [UI] Orphan work detection and linking system (P80)\n- [ ] [UI] CI: Verify all main pages render without errors (P80)\n- [ ] [UI] CI: Site-wide link and render health check (P80)\n- [ ] [UI] Automated visual regression testing (P67)\n\n\n## Success Criteria\n\n- [ ] All open tasks completed and verified\n- [ ] Integration tested end-to-end with dependent quests\n- [ ] UI pages rendering correctly for this quest's features\n- [ ] Documentation updated for new capabilities\n\n## Work Log\n\n_No entries yet._\n","spec_html":"<div style=\"font-size:0.85rem\"><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h2 style=\"color:#4fc3f7;margin:1.5rem 0 0.6rem;font-size:1.2rem;font-weight:700\">Quest: UI</h2></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><strong style=\"color:#e0e0e0\">Layer:</strong> Cross-cutting  \n<strong style=\"color:#e0e0e0\">Priority:</strong> P75  \n<strong style=\"color:#e0e0e0\">Status:</strong> active  \n<strong style=\"color:#e0e0e0\">Tasks:</strong> 910 total (158 done, 6 open)</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Vision</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">UI/Infrastructure — consistent styling, responsive design, loading states</p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Open Tasks</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Improve /analyses page — add cards with key metrics and debate status (P88)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Add hypothesis comparison view to Exchange (P85)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Orphan work detection and linking system (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] CI: Verify all main pages render without errors (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] CI: Site-wide link and render health check (P80)</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; [UI] Automated visual regression testing (P67)</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Success Criteria</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><div style=\"margin:0.2rem 0;color:#bbb\">&#9744; All open tasks completed and verified</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Integration tested end-to-end with dependent quests</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; UI pages rendering correctly for this quest&#x27;s features</div>\n<div style=\"margin:0.2rem 0;color:#bbb\">&#9744; Documentation updated for new capabilities</div></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\"><h3 style=\"color:#4fc3f7;margin:1.4rem 0 0.5rem;font-size:1.1rem;font-weight:700;border-bottom:2px solid rgba(79,195,247,0.3);padding-bottom:0.2rem\">Work Log</h3></p><p style=\"color:#bbb;line-height:1.6;margin:0.4rem 0\">_No entries yet._<br></p></div>","spec_file":"quest_ui_spec.md"}