v0.3.7-pre.009

This commit is contained in:
2026-09-02 17:40:03 +02:00
parent ed72aaba67
commit ec8875e864
15 changed files with 699 additions and 21 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-backfill-desk/tests/desktop_contract.rs
// version: 9
// version: 10
//! Structural desktop contract checks for the Backfill Desk scaffold.
@@ -326,3 +326,23 @@ fn pre_008_start_installs_handle_before_non_blocking_spawn_and_keeps_single_run_
assert!(frontend.contains("Backfill Desk campaign Start requested"));
assert!(frontend.contains("backfill_start"));
}
#[test]
fn pre_009_latest_value_monitoring_uses_snapshot_source_event_bridge_and_resynchronization_command() {
let root = workspace_root();
let run = read(root.join("crates/ksp-app-backfill-desk/src/backfill_run.rs"));
let status = read(root.join("crates/ksp-app-backfill-desk/src/backfill_status.rs"));
let tauri = read(root.join("crates/ksp-app-backfill-desk/src/tauri.rs"));
let frontend = read(root.join("crates/ksp-app-backfill-desk/frontend/ts/main.ts"));
assert!(run.contains("last_terminal"));
assert!(run.contains("current_notification"));
assert!(status.contains("BackfillRunStatusDto"));
assert!(status.contains("checkpoint_present"));
assert!(status.contains("contiguous_completed"));
assert!(tauri.contains("backfill_status"));
assert!(tauri.contains("wait_for_change"));
assert!(tauri.contains("ksp-backfill-status") || tauri.contains("BACKFILL_STATUS_EVENT_NAME"));
assert!(frontend.contains("listen<BackfillRunStatusDto>"));
assert!(frontend.contains("syncBackfillStatus"));
assert!(!frontend.contains("parseBackfillLog"));
}

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-app-backfill-desk/tests/desktop_security.rs
// version: 9
// version: 10
//! Security and dependency-boundary checks for the Backfill Desk scaffold.
@@ -104,7 +104,7 @@ fn pre_002_tauri_commands_remain_centralized() {
assert_eq!(count, 0, "{} declares a Tauri command outside tauri.rs", path.display());
}
}
assert_eq!(command_count, 6);
assert_eq!(command_count, 7);
}
#[test]
@@ -239,3 +239,16 @@ fn pre_008_start_surface_keeps_payload_and_physical_resources_backend_owned() {
assert!(!start_source.contains(forbidden), "Start tracing includes forbidden request payload marker {forbidden}");
}
}
#[test]
fn pre_009_monitoring_projection_exposes_counters_and_codes_without_checkpoint_or_business_payloads() {
let root = workspace_root();
let status = read(root.join("crates/ksp-app-backfill-desk/src/backfill_status.rs"));
let dto = struct_source(status.as_str(), "BackfillRunStatusDto");
for required in ["checkpoint_present", "contiguous_completed", "failure_code", "failure_domain", "sequence", "scope_kind"] {
assert!(dto.contains(required), "monitoring DTO missing required safe marker {required}");
}
for forbidden in ["address", "signature", "endpoint", "provider", "credential", "token", "checkpoint:", "payload", "raw_transaction"] {
assert!(!dto.contains(forbidden), "monitoring DTO leaks forbidden marker {forbidden}");
}
}