From c1c3451ab4bdb61db2d9d618b28c9433b888828e Mon Sep 17 00:00:00 2001 From: Atomics-hub Date: Thu, 4 Jun 2026 17:41:15 -0700 Subject: [PATCH] Require quickstart support action evidence --- src/main.rs | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main.rs b/src/main.rs index 64e1d99..900316c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12633,13 +12633,25 @@ fn release_ticket_quickstart_handoff_evidence( &quickstart, "quickstart json", &[ - ("client owner", "agentk-sidecar-client-handoff"), - ("dashboard owner", "agentk-sidecar-dashboard-handoff"), - ("permissions owner", "agentk-sidecar-permissions-handoff"), - ("deployment owner", "agentk-sidecar-deploy-handoff"), - ("security owner", "agentk-sidecar-production-preflight"), - ("support owner", "agentk-sidecar-support-bundle"), - ("demo reviewer", "agentk-sidecar-demo-handoff"), + ("client owner", "agentk-sidecar-client-handoff", None), + ("dashboard owner", "agentk-sidecar-dashboard-handoff", None), + ( + "permissions owner", + "agentk-sidecar-permissions-handoff", + None, + ), + ("deployment owner", "agentk-sidecar-deploy-handoff", None), + ( + "security owner", + "agentk-sidecar-production-preflight", + None, + ), + ( + "support owner", + "agentk-sidecar-support-bundle", + Some("deploy/preflight evidence"), + ), + ("demo reviewer", "agentk-sidecar-demo-handoff", None), ], )?; release_ticket_require_checks( @@ -13495,13 +13507,13 @@ fn release_ticket_require_empty_array( fn release_ticket_require_next_actions( report: &serde_json::Value, label: &str, - required: &[(&str, &str)], + required: &[(&str, &str, Option<&str>)], ) -> Result<(), String> { let actions = report .get("next_actions") .and_then(|value| value.as_array()) .ok_or_else(|| format!("{label} is missing next_actions"))?; - for (owner, command_fragment) in required { + for (owner, command_fragment, action_fragment) in required { let found = actions.iter().any(|action| { action.get("owner").and_then(|value| value.as_str()) == Some(*owner) && action @@ -13511,7 +13523,10 @@ fn release_ticket_require_next_actions( && action .get("action") .and_then(|value| value.as_str()) - .is_some_and(|text| !text.is_empty()) + .is_some_and(|text| { + !text.is_empty() + && action_fragment.is_none_or(|fragment| text.contains(fragment)) + }) && action .get("command") .and_then(|value| value.as_str())