diff --git a/crates/app/peritus-daemon/src/product_run/tests.rs b/crates/app/peritus-daemon/src/product_run/tests.rs index eb9fe0ca1e..80cc94152b 100644 --- a/crates/app/peritus-daemon/src/product_run/tests.rs +++ b/crates/app/peritus-daemon/src/product_run/tests.rs @@ -33,6 +33,10 @@ use support::{ CORRECT, ScriptedProvider, clean_review, complete_writer, repository, scripted, stalled, }; +// This integration test waits for real Cargo gates on its generated fixture; this is an +// observation watchdog for test completion, not a product-run deadline. +const PRODUCT_RUN_TERMINAL_WAIT: Duration = Duration::from_mins(2); + #[test] fn candidate_retry_resumes_review_without_repeating_design_or_writing() { tokio::runtime::Builder::new_current_thread() @@ -139,6 +143,62 @@ async fn candidate_cancellation_scenario() { service.shutdown(Duration::from_secs(5)).await; } +#[test] +fn terminal_wait_timeout_preserves_the_latest_nonterminal_snapshot() { + interaction::block_on(async { + let repository = repository(); + let state = tempfile::tempdir().expect("state"); + let writer = stalled(0x86, "writer"); + let reviewer = scripted(0x87, "reviewer", Vec::new()); + let fixer = scripted(0x88, "fixer", Vec::new()); + let workspace_id = WorkspaceId::new([0x89; 16]).expect("workspace"); + let run_id = RunId::new([0x8a; 16]).expect("run"); + let service = + service(state.path(), repository.path(), workspace_id, [&writer, &reviewer, &fixer]); + service + .start( + ProductRunRequest::new( + run_id, + workspace_id, + ProductProviderSelection::new( + writer.profile.profile_id(), + reviewer.profile.profile_id(), + fixer.profile.profile_id(), + ), + "Add a tested answer function that returns 42.".to_owned(), + ) + .expect("request"), + ) + .await + .expect("start run"); + tokio::time::timeout(Duration::from_secs(5), writer.wait_for_stalled_response()) + .await + .expect("writer did not start its deliberately stalled response"); + + let snapshot = tokio::time::timeout( + Duration::from_secs(5), + wait_for_terminal_with_timeout(&service, run_id, Duration::from_millis(25)), + ) + .await + .expect("short terminal observation budget should return promptly") + .expect_err("stalled provider must leave the run nonterminal"); + assert_eq!(snapshot.phase(), ProductRunPhase::Designing); + let diagnostic = terminal_wait_timeout_diagnostic(&snapshot, Duration::from_millis(25)); + assert!(diagnostic.contains(&format!("phase={:?}", snapshot.phase()))); + assert!(diagnostic.contains(&format!("status={:?}", snapshot.status()))); + assert!(diagnostic.contains(&format!("gates={:?}", snapshot.gates()))); + assert!(diagnostic.contains(&format!("summary={:?}", snapshot.summary()))); + + service.cancel(run_id).expect("cancel stalled run"); + let cancelled = + tokio::time::timeout(Duration::from_secs(5), wait_for_terminal(&service, run_id)) + .await + .expect("cancellation must remain prompt with the longer observation budget"); + assert_eq!(cancelled.phase(), ProductRunPhase::Cancelled); + service.shutdown(Duration::from_secs(5)).await; + }); +} + fn service( state: &std::path::Path, workspace: &std::path::Path, @@ -190,7 +250,20 @@ async fn wait_for_terminal( service: &ProductRunService, run_id: RunId, ) -> peritus_app_protocol::ProductRunSnapshot { - for _ in 0..400 { + wait_for_terminal_with_timeout(service, run_id, PRODUCT_RUN_TERMINAL_WAIT).await.unwrap_or_else( + |snapshot| { + panic!("{}", terminal_wait_timeout_diagnostic(&snapshot, PRODUCT_RUN_TERMINAL_WAIT)) + }, + ) +} + +async fn wait_for_terminal_with_timeout( + service: &ProductRunService, + run_id: RunId, + timeout: Duration, +) -> Result { + let deadline = tokio::time::Instant::now() + timeout; + loop { let snapshot = service .query(ProductRunQuery::exact(run_id)) .expect("query run") @@ -198,11 +271,27 @@ async fn wait_for_terminal( .next() .expect("run snapshot"); if snapshot.phase().terminal() { - return snapshot; + return Ok(snapshot); } - tokio::time::sleep(Duration::from_millis(25)).await; + let now = tokio::time::Instant::now(); + if now >= deadline { + return Err(snapshot); + } + tokio::time::sleep_until((now + Duration::from_millis(25)).min(deadline)).await; } - panic!("product run did not settle within ten seconds") +} + +fn terminal_wait_timeout_diagnostic( + snapshot: &peritus_app_protocol::ProductRunSnapshot, + timeout: Duration, +) -> String { + format!( + "product run did not settle within {timeout:?}; phase={:?}, status={:?}, gates={:?}, summary={:?}", + snapshot.phase(), + snapshot.status(), + snapshot.gates(), + snapshot.summary(), + ) } async fn wait_for_review_stall( diff --git a/crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs b/crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs index ef3d192c1a..e2e5cfc079 100644 --- a/crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs +++ b/crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs @@ -15,15 +15,24 @@ use super::{contract, identity}; /// `SQLite` serializes reservations across independently opened runtimes. Legacy /// authority and compactor paths remain occupied even without an allocator row. pub(super) fn reserve(root: &Path, run_id: RunId, after: u64) -> Result { - let mut connection = - Connection::open(root.join("command-ordinals.sqlite3")).map_err(|error| detail(&error))?; + let mut connection = Connection::open(root.join("command-ordinals.sqlite3")) + .map_err(|error| detail("open store", &error))?; // Independent runtimes share this writer lock. Allow durable commits and // scheduling delays under contention without failing after only 250 ms. - connection.busy_timeout(Duration::from_secs(5)).map_err(|error| detail(&error))?; + connection + .busy_timeout(Duration::from_secs(5)) + .map_err(|error| detail("configure busy timeout", &error))?; // EXTRA also syncs the rollback-journal directory after commit. FULL alone // can lose the last acknowledged reservation on power loss in DELETE mode. - connection.pragma_update(None, "synchronous", "EXTRA").map_err(|error| detail(&error))?; connection + .pragma_update(None, "synchronous", "EXTRA") + .map_err(|error| detail("configure durable synchronization", &error))?; + // Acquire the writer before installing the schema. First-open contenders + // must not commit a separate schema transaction before reserving an ordinal. + let transaction = connection + .transaction_with_behavior(TransactionBehavior::Immediate) + .map_err(|error| detail("begin reservation", &error))?; + transaction .execute_batch( "CREATE TABLE IF NOT EXISTS command_ordinals ( run_id BLOB PRIMARY KEY NOT NULL CHECK(length(run_id) = 16), @@ -31,24 +40,21 @@ pub(super) fn reserve(root: &Path, run_id: RunId, after: u64) -> Result= 0) );", ) - .map_err(|error| detail(&error))?; - let transaction = connection - .transaction_with_behavior(TransactionBehavior::Immediate) - .map_err(|error| detail(&error))?; + .map_err(|error| detail("install schema", &error))?; transaction .execute( "INSERT INTO command_ordinals(run_id, last_ordinal) VALUES (?1, 0) ON CONFLICT(run_id) DO NOTHING", params![run_id.as_bytes().as_slice()], ) - .map_err(|error| detail(&error))?; + .map_err(|error| detail("initialize run counter", &error))?; let stored: i64 = transaction .query_row( "SELECT last_ordinal FROM command_ordinals WHERE run_id = ?1", params![run_id.as_bytes().as_slice()], |row| row.get(0), ) - .map_err(|error| detail(&error))?; + .map_err(|error| detail("read run counter", &error))?; let mut ordinal = u64::try_from(stored) .map_err(|_| "command ordinal store contains a negative number".to_owned())? .max(after); @@ -73,9 +79,9 @@ pub(super) fn reserve(root: &Path, run_id: RunId, after: u64) -> Result Result { } } -fn detail(error: &rusqlite::Error) -> String { - format!("reserve durable command ordinal: {error}") +fn detail(operation: &str, error: &rusqlite::Error) -> String { + format!("reserve durable command ordinal ({operation}): {error}") } #[cfg(test)] @@ -207,6 +213,26 @@ mod tests { assert_eq!(reserve(root.path(), second, 0).expect("second run reopened"), 2); } + #[test] + fn failed_first_reservation_does_not_publish_schema_separately() { + let root = tempfile::tempdir().expect("state directory"); + let run = RunId::new([9; 16]).expect("run"); + assert!(reserve(root.path(), run, u64::MAX).is_err()); + let connection = + Connection::open(root.path().join("command-ordinals.sqlite3")).expect("reopen store"); + let tables: i64 = connection + .query_row( + "SELECT count(*) FROM sqlite_schema WHERE name = 'command_ordinals'", + [], + |row| row.get(0), + ) + .expect("inspect schema after rollback"); + assert_eq!(tables, 0, "schema installation must share the reservation transaction"); + drop(connection); + assert_eq!(reserve(root.path(), run, 0).expect("first committed reservation"), 1); + assert_eq!(reserve(root.path(), run, 0).expect("next reservation"), 2); + } + #[test] fn invalid_and_exhausted_stored_counters_are_never_reset() { for stored in [ diff --git a/verification/actor-provenance.json b/verification/actor-provenance.json index e44f14b559..8b0ca4df58 100644 --- a/verification/actor-provenance.json +++ b/verification/actor-provenance.json @@ -165,6 +165,22 @@ "record_locators": [ "codex-collaboration:Corvidae-Coding-Projects/Project-Peritus/session/102/task/root/batch3_formal_review_sol" ] + }, + { + "actor_id": "ACTOR-0011", + "kind": "codex-subagent", + "principal": "Corvidae-Coding-Projects/Project-Peritus/session/102/task/root/ordinal_formal_review_sol", + "repository": "Corvidae-Coding-Projects/Project-Peritus", + "issue": 103, + "issue_created_at": "2026-10-05T14:30:16.158065741Z", + "session": 102, + "task": "/root/ordinal_formal_review_sol", + "mode": "read-only-review", + "model": "gpt-5.6-sol", + "reasoning_effort": "xhigh", + "record_locators": [ + "codex-collaboration:Corvidae-Coding-Projects/Project-Peritus/session/102/task/root/ordinal_formal_review_sol" + ] } ] } diff --git a/verification/actors.toml b/verification/actors.toml index 6db5446751..3a94cfb1d0 100644 --- a/verification/actors.toml +++ b/verification/actors.toml @@ -10,7 +10,7 @@ kind = "crosslink-agent" principal = "SHA256:eV8eZPaZxut5mrkihmvsOTrGWClwD+B/HR//do+oIeI" display_name = "Project Peritus A1 implementation agent" roles = ["owner"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0002" @@ -18,7 +18,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/2/task/root/a1_final_gate_review" display_name = "Banach independent final Gate A reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0003" @@ -26,7 +26,7 @@ kind = "crosslink-agent" principal = "SHA256:IeCr62P7gzB0M5HnHg0Ncs6fEmNgIObFyetKV6DXuCc" display_name = "Workbench implementation and formal repair owner" roles = ["owner"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0004" @@ -34,7 +34,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/23/task/root/workbench_formal_review" display_name = "Independent workbench and formal authorization reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0005" @@ -42,7 +42,7 @@ kind = "crosslink-agent" principal = "SHA256:F4pa6Img4SKcIhtZ3zyHSwUehhPFSMjlvpf7eTU6qsE" display_name = "GAP-02 implementation and reconciliation owner" roles = ["owner"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0006" @@ -50,7 +50,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/4/task/root/gap2_final_review" display_name = "Independent final GAP-02 source and proof-impact reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0007" @@ -58,7 +58,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/4/task/root/gap4_final_review" display_name = "Independent final GAP-04 context correspondence reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0008" @@ -66,7 +66,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/61/task/root/pcr7_final_review_sol" display_name = "Independent PCR-0007 product reliability and proof-impact reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0009" @@ -74,7 +74,7 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/61/task/root/pcr8_final_review_sol" display_name = "Independent PCR-0008 Windows diagnostic portability reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } [[entries]] id = "ACTOR-0010" @@ -82,4 +82,12 @@ kind = "codex-subagent" principal = "Corvidae-Coding-Projects/Project-Peritus/session/102/task/root/batch3_formal_review_sol" display_name = "Independent minimum-repair batch and proof-impact reviewer" roles = ["reviewer"] -provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8" } +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } + +[[entries]] +id = "ACTOR-0011" +kind = "codex-subagent" +principal = "Corvidae-Coding-Projects/Project-Peritus/session/102/task/root/ordinal_formal_review_sol" +display_name = "Independent command ordinal contention and proof-impact reviewer" +roles = ["reviewer"] +provenance = { record_path = "verification/actor-provenance.json", record_sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0" } diff --git a/verification/proof-impact.toml b/verification/proof-impact.toml index c3efa8f0b4..8c575f4d3e 100644 --- a/verification/proof-impact.toml +++ b/verification/proof-impact.toml @@ -766,7 +766,7 @@ sources = [ { source_file = "crates/app/peritus-daemon/src/product_run/request.rs", sha256 = "ef0f5a81ffd953b9c24e7182413cb9b424f64cf523fa2cb1a9c547fd8dc5f313", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "crates/app/peritus-daemon/src/product_run/snapshot.rs", sha256 = "64aecc8621fc83581c43e75b2c3e40ff6e24b0ce75bde1c07b58e729504a1f34", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "crates/app/peritus-daemon/src/product_run/test_support.rs", sha256 = "a64f61713a82db3c758fb7f40b7d26902578296751659e5a927b3f9b2ee23c67", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, - { source_file = "crates/app/peritus-daemon/src/product_run/tests.rs", sha256 = "fb42b6503b6cb26a73216e8207ca8ce887eac4ebb08ba0db380d57cce8abc6f9", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, + { source_file = "crates/app/peritus-daemon/src/product_run/tests.rs", sha256 = "618541ce36e099b6baa8aeac8bf21b71acd6959f93e22dc020dc02aa30cf6a8a", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0010" }, { source_file = "crates/app/peritus-daemon/src/product_run/tests/catalog.rs", sha256 = "1f087ed9e50ccbd4e1fc1f043ccd77fb85b7f8e095c5a2e4a10ec6accff32762", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "crates/app/peritus-daemon/src/product_run/tests/discard_recovery.rs", sha256 = "94f95b6d4a81c8f176741c658ed92b71adf46a5db229824f4611cbec4036b44f", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "crates/app/peritus-daemon/src/product_run/tests/doctor.rs", sha256 = "7db74be3969025337892abff9854d346a2c0b0a271134c648bdba4facc68d12a", affected_packages = [{ package = "peritus-daemon", verification_class = "H" }], change_id = "PCR-0005" }, @@ -1131,7 +1131,7 @@ sources = [ { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/kernel.rs", sha256 = "23991b33f3b2a6c7779f7c3634cecaed682e82f1f5422129da2c835aba7e957c", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0006" }, { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/lease.rs", sha256 = "41a90e8b23baac1108b56494b5afcb3f6dc39b508f0a24444f6711504571ea71", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0005" }, { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/mod.rs", sha256 = "a744021c3a07392a609d444c4aa1f6107ba980040d65238fd83c8b4300156bb0", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0009" }, - { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs", sha256 = "c421d23071db42665ae8e9d2833cc019ad8e5d35d03ed9e7a207a05af29000d4", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0006" }, + { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/ordinal.rs", sha256 = "6f514a314095051dc08d022ce6bf825e68783871334ad36381a3b94caf5901a4", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0010" }, { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/plan.rs", sha256 = "02cb5d6ef23e8a89c17c108578cdcf2722418521a32b6508f44660b07479d025", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/plan/tests.rs", sha256 = "88109701fbd8dc3aaf07b3c815a40a3406705d0e498f69d1b19bbf8b302ad5b4", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0005" }, { source_file = "crates/app/peritus-product-runner/src/developer_tools/command_runtime/preview.rs", sha256 = "f682ae0c4069b85388336322c1239f3ec9c0edd931ba647a501e99047963b4c9", affected_packages = [{ package = "peritus-product-runner", verification_class = "H" }], change_id = "PCR-0009" }, @@ -3991,8 +3991,8 @@ sources = [ { source_file = "crates/tools/peritus-tools-shell/tests/router_authority/mod.rs", sha256 = "6414cf618d31dd15b4d2893fa38dc2f3412ebbcfb0e4b56bb1e032032fd62e8b", affected_packages = [{ package = "peritus-tools-shell", verification_class = "H" }], change_id = "PCR-0005" }, { source_file = "rust-toolchain.toml", sha256 = "8e390d6a0838315f972690f46ef8bae8b7ecc9ee6c1ed70140ef852869c2482e", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0006" }, { source_file = "toolchains.toml", sha256 = "517c4afb810d5973d2ec4ee835ff2c7de3387d5f85f0490b4e86c683a2a76587", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0006" }, - { source_file = "verification/actor-provenance.json", sha256 = "d49cf4e92e91adaf48a6487796d5dd9718bf532912923ab168321f1fd13893a8", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0009" }, - { source_file = "verification/actors.toml", sha256 = "9fbdcb5fa95b39832d7d93458747b7a873202975b508ea5ad1f8842a3970cb63", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0009" }, + { source_file = "verification/actor-provenance.json", sha256 = "cd7dd74a43a8f66bbb00cf20b401b4112110318750b1d079e82e0c06025b23f0", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0010" }, + { source_file = "verification/actors.toml", sha256 = "8fbc3eab376df47d7b23800965329acbc6392d3586de193e377bf4428082ce05", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0010" }, { source_file = "verification/exclusions.toml", sha256 = "d5131194dfc2732002592fb1f15c7ce7d895f371e602df9f0e882dd908da1528", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0006" }, { source_file = "verification/obligations.toml", sha256 = "019d867f280d6b082f8922e5583973dff72507a21794512a40cca7a0f9589874", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0009" }, { source_file = "verification/trust.toml", sha256 = "ad06d8af4fc5dc5f83e305453a1efc7bbe621a6be799edb1e999920461c2e958", affected_packages = [{ package = "peritus-agent", verification_class = "H" }, { package = "peritus-app-protocol", verification_class = "H" }, { package = "peritus-approval", verification_class = "H" }, { package = "peritus-artifact-store", verification_class = "H" }, { package = "peritus-budget", verification_class = "V" }, { package = "peritus-codec", verification_class = "H" }, { package = "peritus-collaboration", verification_class = "H" }, { package = "peritus-context", verification_class = "H" }, { package = "peritus-daemon", verification_class = "H" }, { package = "peritus-debugger", verification_class = "H" }, { package = "peritus-eval", verification_class = "H" }, { package = "peritus-evidence", verification_class = "H" }, { package = "peritus-evolution", verification_class = "H" }, { package = "peritus-gates", verification_class = "H" }, { package = "peritus-git", verification_class = "H" }, { package = "peritus-harness", verification_class = "H" }, { package = "peritus-journal", verification_class = "H" }, { package = "peritus-kernel", verification_class = "V" }, { package = "peritus-leases", verification_class = "H" }, { package = "peritus-local-socket", verification_class = "H" }, { package = "peritus-mcp", verification_class = "H" }, { package = "peritus-memory", verification_class = "H" }, { package = "peritus-migrations", verification_class = "H" }, { package = "peritus-model-protocol", verification_class = "H" }, { package = "peritus-network", verification_class = "H" }, { package = "peritus-obligations", verification_class = "V" }, { package = "peritus-orchestrator", verification_class = "H" }, { package = "peritus-patch", verification_class = "H" }, { package = "peritus-plugin-host", verification_class = "H" }, { package = "peritus-plugin-sdk", verification_class = "H" }, { package = "peritus-policy", verification_class = "V" }, { package = "peritus-process", verification_class = "H" }, { package = "peritus-product-runner", verification_class = "H" }, { package = "peritus-product-state", verification_class = "H" }, { package = "peritus-projection", verification_class = "H" }, { package = "peritus-protocol", verification_class = "H" }, { package = "peritus-provider-anthropic", verification_class = "H" }, { package = "peritus-provider-compatible", verification_class = "H" }, { package = "peritus-provider-core", verification_class = "H" }, { package = "peritus-provider-google", verification_class = "H" }, { package = "peritus-provider-openai", verification_class = "H" }, { package = "peritus-quality-policy", verification_class = "V" }, { package = "peritus-release-policy", verification_class = "V" }, { package = "peritus-review", verification_class = "H" }, { package = "peritus-role", verification_class = "V" }, { package = "peritus-run-knowledge", verification_class = "V" }, { package = "peritus-run-settlement", verification_class = "V" }, { package = "peritus-sandbox", verification_class = "H" }, { package = "peritus-sandbox-linux", verification_class = "H" }, { package = "peritus-sandbox-macos", verification_class = "H" }, { package = "peritus-sandbox-windows", verification_class = "H" }, { package = "peritus-scheduler", verification_class = "H" }, { package = "peritus-secrets", verification_class = "H" }, { package = "peritus-security-policy", verification_class = "V" }, { package = "peritus-spec", verification_class = "V" }, { package = "peritus-tcb", verification_class = "T" }, { package = "peritus-telemetry", verification_class = "H" }, { package = "peritus-tool-protocol", verification_class = "H" }, { package = "peritus-tool-router", verification_class = "H" }, { package = "peritus-tools-fs", verification_class = "H" }, { package = "peritus-tools-git", verification_class = "H" }, { package = "peritus-tools-quality", verification_class = "H" }, { package = "peritus-tools-shell", verification_class = "H" }, { package = "peritus-trace", verification_class = "H" }, { package = "peritus-types", verification_class = "V" }, { package = "peritus-workspace", verification_class = "H" }], change_id = "PCR-0006" },