feat: phased release packaging (Phase 1 + Phase 2)

- scripts/release_pack.py: packages output_json + schema + chunks + vectors
- Phase 1: triggered after ASR+ASRX+Rule 1+vectorization (sentence chunk delivery)
- Phase 2: triggered after full pipeline + 5W1H Agent (full delivery)
- Both phases include all available {uuid}.*.json files
- Non-overlapping directories: release/phase1/ and release/phase2/
This commit is contained in:
Accusys
2026-05-09 13:58:55 +08:00
parent 7237a1811e
commit 28652f5b76
3 changed files with 223 additions and 1 deletions

View File

@@ -681,6 +681,21 @@ impl JobWorker {
error!("❌ Auto-vectorize failed for {}: {}", uuid_clone, e);
}
}
// Phase 1 release: sentence chunk embedding 交付
info!("📦 Phase 1 release packaging...");
let executor = match crate::core::processor::PythonExecutor::new() {
Ok(ex) => ex,
Err(e) => { error!("Failed PythonExecutor for release pack: {}", e); return; }
};
match executor.run(
"release_pack.py",
&["--phase", "1", "--file-uuid", &uuid_clone],
None, "RELEASE_P1",
Some(std::time::Duration::from_secs(120)),
).await {
Ok(()) => info!("✅ Phase 1 release packaged for {}", uuid_clone),
Err(e) => error!("❌ Phase 1 release pack failed: {}", e),
}
}
Err(e) => error!("❌ Rule 1 Ingestion failed: {}", e),
}
@@ -830,7 +845,24 @@ impl JobWorker {
tokio::spawn(async move {
tokio::time::sleep(tokio::time::Duration::from_secs(30)).await;
match run_5w1h_agent(&db_clone, &uuid_clone).await {
Ok(()) => info!("✅ 5W1H Agent completed for {}", uuid_clone),
Ok(()) => {
info!("✅ 5W1H Agent completed for {}", uuid_clone);
// Phase 2 release: full pipeline 交付
info!("📦 Phase 2 release packaging...");
let executor = match crate::core::processor::PythonExecutor::new() {
Ok(ex) => ex,
Err(e) => { error!("Failed PythonExecutor for release pack: {}", e); return; }
};
match executor.run(
"release_pack.py",
&["--phase", "2", "--file-uuid", &uuid_clone],
None, "RELEASE_P2",
Some(std::time::Duration::from_secs(120)),
).await {
Ok(()) => info!("✅ Phase 2 release packaged for {}", uuid_clone),
Err(e) => error!("❌ Phase 2 release pack failed: {}", e),
}
}
Err(e) => error!("❌ 5W1H Agent failed for {}: {}", uuid_clone, e),
}
});