Omar Sobh
fdb8cfeecc
slice 9 cleanup: drop legacy research/loops backend + tables
Retires the legacy research/loops backend after the missions arc
(slices 1-9) fully replaced it. Frontend cutover was 4663348; this
commit finishes the job on the backend + database.
Migration:
- 0053_drop_legacy_research_loops.sql — drops the 8 legacy tables
(research_topics, research_topic_agents, research_outcomes,
research_publish_approvals, loops, loop_agents, loop_orgs,
loop_teams) and the 3 topology_runs FK columns
(research_topic_id, loop_id, iteration). parent_run_id stays;
recursive_exec still uses it.
Files deleted (11):
- crates/cm-api/src/routes/{research,loops,research_setup,
research_pipeline,wizard_repo,probe}.rs
- crates/cm-api/src/research_container.rs
- crates/cm-db/src/repo/{research_topics,research_outcomes,
research_publish_approvals,loops}.rs
- crates/cm-runtime/src/loops.rs
- crates/cm-api/tests/research_publish_role.rs
Files edited:
- crates/cm-api/src/lib.rs — dropped 20 legacy route registrations
(all /api/research/* + /api/loops/* + /webhooks/loops + probe)
and module decls
- crates/cm-api/src/topology_worker.rs — deleted legacy dispatch
(freeze_research_outcome, advance_loop_after_completion,
continue_initial_burst, maybe_transition_research_topic,
parse_reorder_rationale, per-topic/loop gateway resolver).
reap_stuck_runs now keys on mission_id (not topic_id).
Executor path unconditionally uses ZeroClawDriveExecutor::from_env
— mission_orchestrator provisions each claw as an agent inside
the shared runtime via RuntimeProvisioner, so per-team gateway
resolution is no longer applicable.
- crates/cm-api/src/routes/topology.rs — deleted container-log SSE
endpoint (research/loop-specific), dropped loop_id filter and
iteration field from ListRunsQuery/RunSummary
- crates/cm-api/src/routes/world.rs — removed
active_research_topics/active_loops/preseed_repo_paths;
World SSE no longer emits repo:{topic}/loop:{id} landmark orbs
(follow-up task #21 tracks adding mission:{id} equivalents)
- crates/cm-api/src/runtime_provision.rs — removed now-unused
mint_workspace_service_token
- crates/cm-db/src/repo/topology_runs.rs — removed 9 legacy
helpers (research_topic_id lookup, loop_id_for_run,
iteration_for_run, active_runs_for_research_topic, etc.)
- crates/cm-db/src/repo/teams.rs — removed 4 dead helpers
(team_for_loop, team_for_research_topic + setters)
- crates/cm-api/tests/topology_jobs.rs — removed loop/topic
tests, dropped enqueue_run_with_topic helper
- crates/bins/clawmates-server/src/main.rs — removed
spawn_loop_scheduler call
- crates/cm-api/src/routes/mod.rs, crates/cm-db/src/repo/mod.rs,
crates/cm-runtime/src/lib.rs — module decls stripped
sqlx cache: regenerated against post-migration schema
(71 files changed, ~+70 / -8896 net)
Test/build: SQLX_OFFLINE=true cargo check --workspace clean;
cargo test --workspace --no-run clean.
Follow-up (task #21): World view lost the in-flight-work landmarks
when repo:{topic} / loop:{id} orbs disappeared. Add mission:{id}
orbs as the missions-era replacement.
2026-07-19 18:37:24 -07:00
..
2026-06-09 23:16:06 -05:00
2026-06-10 04:58:47 -05:00
2026-06-28 16:11:01 -07:00
2026-06-10 05:28:50 -05:00
2026-06-19 04:12:16 -07:00
2026-06-28 16:11:01 -07:00
2026-06-09 23:16:06 -05:00
2026-06-10 04:58:47 -05:00
2026-06-10 04:58:47 -05:00
2026-07-07 14:52:47 -07:00
2026-07-07 04:30:07 -07:00
2026-06-18 14:25:06 -07:00
2026-06-10 07:19:34 -05:00
2026-07-07 04:30:07 -07:00
2026-06-18 03:22:27 -07:00
2026-07-09 11:41:27 -07:00
2026-06-09 22:30:33 -05:00
2026-06-09 22:30:33 -05:00
2026-06-28 16:11:01 -07:00
2026-06-10 04:58:47 -05:00
2026-07-18 14:45:29 -07:00
2026-07-09 11:26:07 -07:00
2026-06-17 19:02:32 -07:00
2026-06-09 23:16:06 -05:00
2026-07-19 18:37:24 -07:00
2026-06-18 14:25:06 -07:00
2026-06-10 05:28:50 -05:00
2026-06-10 04:58:47 -05:00
2026-06-18 14:25:06 -07:00
2026-06-19 04:12:16 -07:00
2026-06-09 22:25:47 -05:00
2026-06-09 22:25:47 -05:00
2026-06-18 14:25:06 -07:00
2026-06-28 16:11:01 -07:00
2026-06-18 03:22:27 -07:00
2026-06-19 04:12:16 -07:00
2026-06-19 04:55:27 -07:00
2026-06-19 04:12:16 -07:00
2026-06-09 23:16:06 -05:00
2026-07-07 14:52:47 -07:00
2026-06-18 03:07:41 -07:00
2026-06-09 23:16:06 -05:00
2026-06-18 13:13:14 -07:00
2026-07-07 14:52:47 -07:00
2026-07-08 08:04:43 -07:00
2026-06-19 04:55:27 -07:00
2026-07-09 11:26:07 -07:00
2026-06-28 16:11:01 -07:00
2026-06-18 14:25:06 -07:00
2026-06-10 05:28:50 -05:00
2026-06-19 04:12:16 -07:00
2026-06-09 23:16:06 -05:00
2026-06-09 22:25:47 -05:00
2026-07-07 04:30:07 -07:00
2026-06-18 03:07:41 -07:00
2026-06-10 19:58:09 -05:00
2026-06-10 04:58:47 -05:00
2026-06-18 13:13:14 -07:00
2026-06-28 16:11:01 -07:00
2026-07-07 14:52:47 -07:00
2026-06-18 14:25:06 -07:00
2026-07-09 11:26:07 -07:00
2026-06-09 22:25:47 -05:00
2026-06-10 05:28:50 -05:00
2026-06-18 14:25:06 -07:00
2026-06-18 13:13:14 -07:00
2026-06-09 23:16:06 -05:00
2026-07-08 10:36:52 -07:00
2026-06-10 05:51:19 -05:00
2026-06-10 07:19:34 -05:00
2026-07-08 10:36:52 -07:00
2026-06-10 05:28:50 -05:00
2026-06-10 05:51:19 -05:00
2026-06-10 04:58:47 -05:00
2026-06-10 05:28:50 -05:00
2026-06-10 05:28:50 -05:00
2026-06-10 04:58:47 -05:00
2026-06-28 16:11:01 -07:00
2026-06-09 22:25:47 -05:00
2026-06-09 22:25:47 -05:00
2026-06-10 10:29:27 -05:00
2026-06-17 19:02:32 -07:00
2026-06-28 16:11:01 -07:00
2026-06-09 23:16:06 -05:00
2026-06-10 04:58:47 -05:00
2026-06-09 22:30:33 -05:00
2026-07-07 14:52:47 -07:00
2026-06-18 14:25:06 -07:00
2026-06-10 04:58:47 -05:00
2026-07-09 11:26:07 -07:00
2026-06-09 22:30:33 -05:00
2026-06-09 23:16:06 -05:00
2026-07-09 11:26:07 -07:00
2026-06-10 05:28:50 -05:00
2026-06-09 23:16:06 -05:00
2026-07-09 11:26:07 -07:00
2026-06-17 19:02:32 -07:00
2026-06-10 07:19:34 -05:00
2026-06-19 04:55:27 -07:00
2026-06-10 05:28:50 -05:00
2026-07-09 11:26:07 -07:00
2026-06-10 07:19:34 -05:00
2026-06-10 04:58:47 -05:00
2026-07-09 11:26:07 -07:00
2026-07-09 11:26:07 -07:00
2026-06-10 10:29:27 -05:00
2026-07-09 11:26:07 -07:00
2026-06-18 14:25:06 -07:00
2026-06-09 23:16:06 -05:00
2026-06-19 04:55:27 -07:00
2026-06-10 05:28:50 -05:00
2026-06-28 16:11:01 -07:00
2026-06-10 05:28:50 -05:00
2026-06-09 22:25:47 -05:00
2026-06-19 04:12:16 -07:00
2026-06-10 05:28:50 -05:00
2026-06-09 22:25:47 -05:00
2026-06-09 22:25:47 -05:00
2026-06-18 13:13:14 -07:00
2026-06-17 19:02:32 -07:00
2026-06-10 04:58:47 -05:00
2026-06-10 05:28:50 -05:00
2026-07-07 14:52:47 -07:00
2026-06-10 06:50:41 -05:00
2026-06-18 03:22:27 -07:00
2026-06-10 05:28:50 -05:00
2026-07-08 10:36:52 -07:00
2026-07-19 13:07:53 -07:00
2026-06-10 06:50:41 -05:00
2026-06-18 14:25:06 -07:00
2026-07-09 11:26:07 -07:00
2026-07-09 11:26:07 -07:00
2026-06-10 19:58:09 -05:00
2026-06-10 07:19:34 -05:00
2026-06-10 05:51:19 -05:00
2026-06-09 23:16:06 -05:00
2026-06-18 14:25:06 -07:00
2026-06-19 04:55:27 -07:00
2026-06-16 05:11:52 -07:00
2026-06-09 22:25:47 -05:00
2026-06-10 19:58:09 -05:00
2026-06-17 19:02:32 -07:00
2026-06-28 16:11:01 -07:00
2026-06-09 22:25:47 -05:00
2026-07-09 11:26:07 -07:00
2026-06-10 05:28:50 -05:00
2026-06-09 23:16:06 -05:00
2026-06-19 04:55:27 -07:00
2026-07-07 14:52:47 -07:00
2026-06-17 19:02:32 -07:00
2026-07-09 11:26:07 -07:00
2026-06-10 05:28:50 -05:00
2026-06-09 23:16:06 -05:00
2026-07-07 17:55:20 -07:00
2026-06-09 23:16:06 -05:00
2026-06-28 16:11:01 -07:00
2026-06-09 23:16:06 -05:00
2026-06-18 14:25:06 -07:00
2026-07-09 11:26:07 -07:00
2026-06-09 22:25:47 -05:00
2026-06-09 22:30:33 -05:00
2026-06-09 23:16:06 -05:00
2026-07-07 14:52:47 -07:00
2026-06-10 05:28:50 -05:00
2026-06-19 04:55:27 -07:00
2026-06-09 22:25:47 -05:00
2026-07-07 14:52:47 -07:00
2026-06-10 04:58:47 -05:00
2026-07-07 14:52:47 -07:00
2026-06-09 23:16:06 -05:00
2026-06-09 22:25:47 -05:00
2026-06-09 22:25:47 -05:00
2026-07-07 04:30:07 -07:00
2026-06-19 04:12:16 -07:00
2026-06-10 05:28:50 -05:00
2026-06-18 14:25:06 -07:00
2026-06-10 05:51:19 -05:00
2026-06-10 06:40:04 -05:00
2026-06-10 05:28:50 -05:00
2026-06-10 04:58:47 -05:00
2026-06-28 16:11:01 -07:00