refactor: keep generated scene runtime only in sgclaw
This commit is contained in:
@@ -1,60 +1,32 @@
|
||||
use std::fs;
|
||||
use std::path::PathBuf;
|
||||
use std::time::{SystemTime, UNIX_EPOCH};
|
||||
|
||||
use sgclaw::compat::scene_platform::scheduled_registry::load_scheduled_monitoring_registry;
|
||||
use sgclaw::generated_scene::generator::{
|
||||
generate_scheduled_monitoring_action_skill_package, GenerateScheduledMonitoringActionSkillRequest,
|
||||
};
|
||||
|
||||
fn temp_workspace(prefix: &str) -> PathBuf {
|
||||
let nanos = SystemTime::now()
|
||||
.duration_since(UNIX_EPOCH)
|
||||
.unwrap()
|
||||
.as_nanos();
|
||||
let path = std::env::temp_dir().join(format!("{prefix}-{nanos}"));
|
||||
fs::create_dir_all(&path).unwrap();
|
||||
path
|
||||
fn validation_bundle_skills_dir() -> PathBuf {
|
||||
PathBuf::from("dist/sgclaw_scheduled_monitoring_read_only_validation_bundle_2026-04-22/skills")
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn scheduled_monitoring_registry_loads_materialized_skill() {
|
||||
let output_root = temp_workspace("sgclaw-scheduled-monitoring-registry");
|
||||
generate_scheduled_monitoring_action_skill_package(GenerateScheduledMonitoringActionSkillRequest {
|
||||
scene_id: "command-center-fee-control-monitor".to_string(),
|
||||
scene_name: "指挥中心费控异常监测".to_string(),
|
||||
output_root: output_root.clone(),
|
||||
source_evidence_json: PathBuf::from(
|
||||
"tests/fixtures/generated_scene/monitoring_action_source_evidence_extraction_2026-04-21.json",
|
||||
),
|
||||
ir_contract_json: PathBuf::from(
|
||||
"tests/fixtures/generated_scene/scheduled_monitoring_action_ir_contract_2026-04-22.json",
|
||||
),
|
||||
trigger_contract_json: PathBuf::from(
|
||||
"tests/fixtures/generated_scene/scheduled_monitoring_action_trigger_runtime_contract_2026-04-22.json",
|
||||
),
|
||||
})
|
||||
.unwrap();
|
||||
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
|
||||
let entry = registry
|
||||
.iter()
|
||||
.find(|entry| entry.workflow_id == "command_center_fee_control_monitoring_action")
|
||||
.expect("command center skill must be registered");
|
||||
|
||||
let registry = load_scheduled_monitoring_registry(&output_root.join("skills")).unwrap();
|
||||
assert_eq!(registry.len(), 1);
|
||||
assert_eq!(
|
||||
registry[0].workflow_id,
|
||||
entry.workflow_id,
|
||||
"command_center_fee_control_monitoring_action"
|
||||
);
|
||||
assert_eq!(
|
||||
registry[0].manifest.scene.kind,
|
||||
entry.manifest.scene.kind,
|
||||
"scheduled_monitoring_action_workflow"
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn scheduled_monitoring_registry_loads_archive_workorder_skill() {
|
||||
let skills_dir = PathBuf::from(
|
||||
"dist/sgclaw_scheduled_monitoring_read_only_validation_bundle_2026-04-22/skills",
|
||||
);
|
||||
|
||||
let registry = load_scheduled_monitoring_registry(&skills_dir).unwrap();
|
||||
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
|
||||
let entry = registry
|
||||
.iter()
|
||||
.find(|entry| entry.workflow_id == "archive_workorder_grid_push_monitoring_action")
|
||||
@@ -77,11 +49,7 @@ fn scheduled_monitoring_registry_loads_archive_workorder_skill() {
|
||||
|
||||
#[test]
|
||||
fn scheduled_monitoring_registry_loads_available_balance_below_zero_skill() {
|
||||
let skills_dir = PathBuf::from(
|
||||
"dist/sgclaw_scheduled_monitoring_read_only_validation_bundle_2026-04-22/skills",
|
||||
);
|
||||
|
||||
let registry = load_scheduled_monitoring_registry(&skills_dir).unwrap();
|
||||
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
|
||||
let entry = registry
|
||||
.iter()
|
||||
.find(|entry| entry.workflow_id == "available_balance_below_zero_monitoring_action")
|
||||
@@ -104,11 +72,7 @@ fn scheduled_monitoring_registry_loads_available_balance_below_zero_skill() {
|
||||
|
||||
#[test]
|
||||
fn scheduled_monitoring_registry_loads_sgcc_todo_crawler_skill() {
|
||||
let skills_dir = PathBuf::from(
|
||||
"dist/sgclaw_scheduled_monitoring_read_only_validation_bundle_2026-04-22/skills",
|
||||
);
|
||||
|
||||
let registry = load_scheduled_monitoring_registry(&skills_dir).unwrap();
|
||||
let registry = load_scheduled_monitoring_registry(&validation_bundle_skills_dir()).unwrap();
|
||||
let entry = registry
|
||||
.iter()
|
||||
.find(|entry| entry.workflow_id == "sgcc_todo_crawler_monitoring_action")
|
||||
|
||||
Reference in New Issue
Block a user