Phase 37: Hot-swap async + Phase 38: Universal API skeleton

- JobTracker extended with JobType::ProfileActivation + Embed
- activate_profile returns job_id immediately, work spawns in background
- /v1/chat, /v1/usage, /v1/sessions endpoints (OpenAI-compatible)
- Langfuse trace integration (Phase 40 early deliverable)
- 12 gateway unit tests green, curl gates pass
This commit is contained in:
root
2026-04-23 01:56:17 -05:00
parent 79108e30ac
commit 21e8015b60
4 changed files with 262 additions and 245 deletions
+1 -1
View File
@@ -170,7 +170,7 @@ pub async fn run_supervised(
// Update job tracker
let elapsed = start_time.elapsed().as_secs_f32();
let rate = if elapsed > 0.0 { done as f32 / elapsed } else { 0.0 };
tracker.update_progress(&jid, done, rate).await;
tracker.update_embed_progress(&jid, done, rate).await;
// Update checkpoint
let mut ckpt = ckpt.write().await;