- 2455
undo_promotion("delete-v2", control.path()).unwrap(); - 2456
assert_eq!( - 2457
fs::read_to_string(target.path().join("obsolete.txt")).unwrap(), - 2458
"workspace original" - 2459
); - 2460
} - 2461
- 2462
#[test] - 2463
fn durable_records_are_append_only_and_replayable() { - 2464
let dir = tempfile::tempdir().unwrap(); - 2465
let path = dir.path().join("sandbox").join("records.jsonl"); - 2466
let plan = EnvironmentPlan { - 2467
id: "env-1".into(), - 2468
outcome_revision: 7, - 2469
input_root: dir.path().into(), - 2470
task_root: dir.path().join("task"), - 2471
backend: "local".into(), - 2472
image: None, - 2473
network_policy: "none".into(), - 2474
setup_recipe: vec!["make".into()], - 2475
}; - 2476
let record = DurableRecord::Environment(EnvironmentRecord { - 2477
record_id: "r-1".into(), - 2478
environment_id: "env-1".into(), - 2479
state: EnvironmentState::Ready, - 2480
plan, - 2481
updated_at: "2026-09-08T00:00:00Z".into(), - 2482
detail: None, - 2483
}); - 2484
append_record(&path, &record).unwrap(); - 2485
let preparation = DurableRecord::PreviewPreparation(PreviewPreparationRecord { - 2486
record_id: "preview-1".into(), - 2487
session_id: "session-1".into(), - 2488
result_id: "result-1".into(), - 2489
candidate_id: "candidate-1".into(), - 2490
candidate_digest: "sha256:digest".into(), - 2491
environment_id: "preview:candidate-1".into(), - 2492
state: EnvironmentState::Ready, - 2493
command: "npm ci --ignore-scripts --no-audit --no-fund".into(), - 2494
evidence: "dependencies prepared".into(), - 2495
updated_at: "2026-09-08T00:01:00Z".into(), - 2496
}); - 2497
append_record(&path, &preparation).unwrap(); - 2498
assert_eq!(load_records(&path).unwrap(), vec![record, preparation]); - 2499
} - 2500
} - 2501
Indexing the workspace…
Vakyartha documentation is discovering safe artifacts, anchors, and source references.